Deutsch
Forum & Hilfe

Das müsste doch funktionieren... ?!

 
- Seite 1 -


Bitte um Quelltexte die Eurer Meinung nach funktionieren müssten,

es aber offensichtlich nicht tun.

Sozusagen ist dies ein vorab-Thema zu Infinity-Bugs etc.
 
19.02.2016  
 



 
- Seite 6 -



HofK
Dieses fehlerhafte Progrämmchen offenbart einen kleinen Effekt.

$alias f1 rgb 50 50 250 // Konstante (Präkompilierer)
p=2 q=7
test p q
proc test a b
global f1
cls f1
print a + b
endproc

Bei Syntax prüfen geht es glatt durch, aber der Kompilierer bekommt natürlich ein Problem und meckert, weil der Präkompilierer ihm die Zeile
global rgb 50 50 250 vorsetzt.

Offenbar erfolgt die Syntaxprüfung vor der $alias Ersetzung - oder?
 
02.03.2016  
 



Sorry, Du hattest nicht den ganz neuen Kompilierer - der reagiert jetzt anders.

Seither jedoch so, dass erst $alias durchwirkt und dann wird aus:
 $alias f1 rgb 50 50 250// Konstante (Präkompilierer)

proc test

    global f1

natürlich dies:
proc test

    global rgb 50 50 250

und dies wird "korrekt" bemängelt mit unexpected keyword rgb at global in main: test.

Die Syntaxprüfung kommt erst nach $alias.
 
02.03.2016  
 



mist immer noch bug im kompi, möcht ich heute noch ran
 
02.03.2016  
 



So, jetzt erst wieder etwas Zeit in den Kompilierer zu stecken, der noch hier und da Bugs hat. Mal schauen was ich heute hinbekomme. RC kommt jedenfalls immer näher und scheint erstmals greifbar. Libs- Schnittstelle fehlt noch damit man Infinity unendlich erweitern kann.
 
04.03.2016  
 



Nachtrag: Wenn etwas nicht funktioniert nach wie vor bitte melden!
 
04.03.2016  
 




Micha12334
Hallo Profaner,
ich brauche Eure Hilfe.Die schon gezeigte, aber mit Eurer Hilfe geänderten Datei "neu_g" (Gewichtseingabe) möchte ich verbinden mit einer kleinen Auflistung der letzten eingegeben Daten; Datei aufzaehlung (aufzaehlung)
Beide Dateien funktionieren einzeln auf Samsung S6 und Lenovo tab2 gut.
Entweder aus dem Ende der Datei Eingabe gleich übergehen in Date Aufzaehlung oder
beide Dateien greifen auf die gleichen gespeicherten Dateien masse.txt und heute.txt zurück.
Was wäre die beste Idee und wie könnte ich dies realisieren?
anbei beide Daeien
//
// InfinityProfan Program
// neu-g v0.0.2
// created 2016-02-29
grid  =gui.grid(gui.hwnd,[2,5])
text1 = " Kontrolle \n in kg  am: "
zeit
altg  = 0
neug  = 0.00
zeit1 = time(7)
altg = file.read("masse.txt")
zeit2= file.read("heute.txt")
gui.background(grid,rgb(0,0,100))
gui.background([grid,1,2],rgb(90,90,90))
gui.background([grid,2,2],rgb(90,90,90))
gui.background([grid,1,3],rgb(130,130,130))
gui.background([grid,2,3],rgb(50,150,50))
gui.background([grid,1,4],rgb(150,150,150))
gui.background([grid,2,4],rgb(150,150,150))
gui.background([grid,1,5],rgb(130,130,130))
gui.background([grid,2,5],rgb(0,0,100))
gui.text [grid,1,1] text1
gui.text [grid,2,1] zeit1
gui.text [grid,1,2] "Gewicht am \n"+zeit2
gui.text [grid,2,2] altg
gui.text [grid,1,3] "    Neueingabe:"
gui.text [grid,2,3] "HIER drücken" @proc1
gui.text [grid,1,4] "Differenz"
gui.text [grid,2,5] "E N D E " @proc2

proc proc1 ctrl state

    global grid

    if state==1

        gui.background([grid,2,3],rgb(255,255,255))
        msg.box null,null,["kg eingegeben"],"",@neu

    endif

endproc

proc neu btn txt

    global grid,neug,altg,zeit1

    if btn==1

        if txt!=""

            neug = txt
            diff = neug - altg
            diff = round(diff,[3])
            gui.text[grid,2,4] diff

            if diff < 0

                gui.background([grid,1,4],rgb(50,150,50))
                gui.background([grid,2,4],rgb(50,150,50))
                gui.text[grid,2,4] "\n\nabgenommen"

            endif

            if diff > 0

                gui.background([grid,1,4],rgb(150,50,50))
                gui.background([grid,2,4],rgb(150,50,50))
                gui.text[grid,2,4] "\n\nzugenommen"

            endif

            file.write("masse.txt",neug)// komplette adresse eingeben?
            file.write("heute.txt",zeit1)
            gui.text[grid,1,5]  "Neugewicht \n= "+neug +" kg" @go

        endif

    endif

endproc

proc go btn

    case btn==1 : proc2

endproc

proc proc2

    msg.box "    Gewicht  ist  gespeichert ",neug,["weiter"]
    end

endproc


und Datei Aufzaehlung:
//
// InfinityProfan Program
// Aufzählung v0.0.2
// created 2016-02-28
// in cobalt
//print screen.rotation screen.rotation.top
gd = gui.grid gui.hwnd,[2,14]
//gui.height gui.grid 1020
global grid, gd, gewicht, date, x, b, a,d,t
text1 = "Eingaben:"
text2 = " Gewicht / kg"
text5 = " Daten löschen"
text6 = " E N D E "
x=str(x)
gewicht = file.read("masse.txt")// hier komplette adresse eingeben?
date    = file.read("heute.txt")
gui.background gd, rgb 130 130 130
gui.background [gd, 1,1], rgb 0 0 255
gui.background [gd, 2,1], rgb 125 125 255
gui.background [gd, 1,2], rgb 130 130 130
gui.background [gd, 2,2], rgb 125 125 125
gui.background [gd, 1,3], rgb 255 255 255
gui.background [gd, 2,3], rgb 255 255 255
gui.background [gd, 1,4], rgb 255   0   0
gui.background [gd, 2,4], rgb   0   0 255
gui.height [gd,1,1] 3500
gui.height [gd,2,1] 46000
gui.height [gd,3,1] 200
gui.height [gd,4,1] 3500
gui.text[gd,1,1] text1
gui.text[gd,2,1] text2
gui.text[gd,1,4] text5 @loesch
gui.text[gd,2,4] text6 @aus
z = gui.text [gd,1,2] date
gui.gravity z,1,0
t = gui.text [gd,2,2] gewicht
gui.gravity t,1,0
// gewicht1 = 80.123   nur für tests
x = "\n" + gewicht1
y = "\n" + time(7)
file.write("masse.txt",x,true)//später löschen, da Daten von neu-g kommen sollen
file.write("heute.txt",y,true)//    - das gleiche --

proc loesch

    gui.background [gd, 1,4], rgb 90  90 150
    gui.background [gd, 1,4], rgb 90  90 150
    file.del("masse.txt")
    file.del("heute.txt")
    msg.toast " Daten gelöscht"
    aus

endproc

proc aus

    gui.background [gd, 2,4], rgb 150  90  90
    msg.toast "        ENDE UND ZURÃœCK         "
    end

endproc


Was wäre die beste Lösung?
 
09.03.2016  
 




HofK
Micha12334 (09.03.2016)
... oder
beide Dateien greifen auf die gleichen gespeicherten Dateien masse.txt und heute.txt zurück.



Dazu kann man mit dem Dateisystem arbeiten und an selbst gewähltem Ort speichern/laden, siehe Bsp.  [...] 
 
13.03.2016  
 




Micha12334
Dankeschön,
ich werde es mal so ausprobieren, so wie du es im Beispiel gezeigt hast.
 
13.03.2016  
 




Micha12334
Danke Klaus,
dein Vorschlag mit dem Dateisystem zu arbeiten ist erfolgreich.
Nun kann ich von zwei unterschiedlichen Programmen auf Daten zurück-
greifen.
Bei der Gelegenheit möchte ich auf folgendes Problemchen hinweisen:
Bei der Zuweisung der Variablen bei gravity muss in jeden Fall ein Leerzeichen stehen. Es lässt sich zwar kompilieren, stürzt aber beim Programmstart (öffnen) ab.
Beispiel: X = gui.text__ [grid,1,2] irgendwas => gui.gravity X,1,0
 
MS
15.03.2016  
 




Micha12334
Hallo Leute,
ich hätte kurz eine Frage.
Wie kann ich erzwingen, dass eine ganze Zahl mit Nachkommazahlen, also Nullen aufgefüllt wird:
Mit 'round' kann ich zwar zum Beispiel 5,6789 auf 2 Stellen runden (5,68), aber wie 5 auf 5,00 ?
 
19.03.2016  
 




Micha12334
Meine Lösung funktioniert nicht, wie ich dachte:
if X = long(X)
X = str(X)
X = float(X+",00")
endif
 
19.03.2016  
 




Michael
W.
Format$()
 
XProfan X3
System: Windows 8/10, XProfan X4
Programmieren, das spannendste Detektivspiel der Welt.
20.03.2016  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

48.438 Betrachtungen

Unbenanntvor 0 min.
iF04.06.2018
Vgdd10.06.2017
Wilfried Friebe16.05.2017
Pebender04.12.2016
Mehr...

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie