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 5 -


@Klaus:

Da ist ein Fehler in deinem Code:

btn

btn.1=
btn.2=

das alleinstehende btn
 
29.02.2016  
 




Micha12334
Eigentlich ist es normaler code, nicht's besonders, schau mal bitte drauf.
.
grid  =gui.grid(gui.hwnd,[2,5])
text1 = "Gewichts- \n kontrolle \n  in (kg)  am: "
altg  = float(altg)
neug  = 0.00
neug  = float(neug)
zeit1 = time(7)
altg = file.read("masse.txt")
zeit2= file.read("heute.txt")
gui.background(grid,rgb(50,50,50))
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(130,130,130))
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(100,0,0))
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

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

endproc

proc neu btn txt

    if str(btn) == 1

        if txt <> 0

            neug = txt
            diff = altg - neug
            diff = round(diff,[3])
            gui.text[grid,2,4] diff
            file.write("masse.txt",neug)
            file.write("heute.txt",zeit1)
            gui.text[grid,1,5]  "Neugewicht \n= "+neug +" kg"
            msg.box, "  Gewicht  ist  gespeichert ",null,["OKAY"],null,@go

        endif

    endif

endproc

proc go btn txt

    if   str(btn) == 1

        proc2

    endif

endproc

proc proc2

    msg.toast " AUF  WIEDERSEHEN ",null,["OKAY"]
    end

endproc

 
29.02.2016  
 




Micha12334
Ich weiß, alles noch mit Klammern, später mache ich es auch ohne diese...
 
29.02.2016  
 



So, hab ich mir geschnappt und begebe mich auf die Suche...
 
29.02.2016  
 




Micha12334
Viel Glück!
 
29.02.2016  
 



Zunächst: Wie toll ist das denn... - hätte nicht gedacht dass man mit Infinity schon sinnvoll programmieren kann.

bei proc1 hast Du die Params ctrl und state übersehen, speziell state nicht auf ==1 ausgewertet sodass die msgbox 2fach erzeugt wurde bei 1 Klick aufs Textfeld und der proc1 fehlte global grid.

Diese Zeile:
msg.box, " Gewicht ist gespeichert ",null,["OKAY"],null,@go
entspricht
msg.box(null," Gewicht...

Der Funktion neu fehlte global grid,neug,altg,zeit1.

Ich glaub so funktionierts:
grid  =gui.grid(gui.hwnd,[2,5])
text1 = "Gewichts- \n kontrolle \n in (kg) am: "

altg = 0
neug = 0.00
zeit1 = time(7)
altg = file.read("masse.txt")
zeit2= file.read("heute.txt")

gui.background(grid,rgb(50,50,50))
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(130,130,130))
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(100,0,0))

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,"OKAY","",@neu

endif

endproc

proc neu btn txt

global grid,neug,altg,zeit1

if btn==1

if txt!=""

neug = txt
diff = altg - neug
diff = round(diff,[3])
gui.text[grid,2,4] diff
file.write("masse.txt",neug)
file.write("heute.txt",zeit1)
gui.text[grid,1,5] "Neugewicht \n= "+neug +" kg"
msg.box " Gewicht ist gespeichert ",null,["OKAY"],null,@go

endif

endif

endproc

proc go btn

case btn==1 : proc2

endproc

proc proc2

end msg.toast " AUF WIEDERSEHEN ",null,["OKAY"]

endproc
 
29.02.2016  
 



Und hierzu noch ein Tip:

Einfach:
daten.neug=0.00
daten.zeit1=time(7)
daten.altg = file.read("masse.txt")
daten.zeit2= file.read("heute.txt")

und so muss man in einer Proc nicht:
global neug,altg,zeit1
schreiben sondern einfach nur global daten

Strukturen mit Infinity sind ganz herrlich und vollautomatisch.

So kann man statt:
daten=[
"neug" = 0.00
"zeit1" =time(7)
"altg" = file.read("masse.txt")
"zeit2" = file.read("heute.txt")
]

genauso:
daten.neug=0.00
daten.zeit1=time(7)
daten.altg = file.read("masse.txt")
daten.zeit2= file.read("heute.txt")

schreiben.

Testen mit print daten //zeigt komplette struktur
 
29.02.2016  
 



So, jederzeit gerne weitere Codes die funktionieren sollten!
 
29.02.2016  
 




Micha12334
Recht vielen Dank für Deine schnelle Hilfe.
Beim testen der einzelnen Funktionen versuche ich auch gleich etwas brauchbares auf die Beine zu stellen. Dieses hier sieht auf meinem S6 ganz gut aus, auf dem Lenovo Tab 2 wirkt es etwas verloren. Wenn dann auch Größenänderung für Schrift etc. dazu kommt, kann man schon vergleichsweise etwas für Android tun....
Einen schönen Abend noch...
 
29.02.2016  
 




HofK
iF (29.02.2016)
@Klaus:

Da ist ein Fehler in deinem Code:

btn

btn.1=
btn.2=

das alleinstehende btn


Da haben wir den Salat, in deiner Vorgabe  [...] 
 $alias grau1 rgb 50 50 50
 $alias grau2 rgb 90 90 90
var grid=gui.grid gui.hwnd,[1,3]
var grid2=gui.grid [grid,1,3],[3,3]
var grid3=gui.grid [grid2,1,3],[3,1]
var btn
btn.1=gui.myButton [grid2,1,1] "Befehls- Referenz"
btn.2=gui.myButton [grid2,3,1] "IDE Starten"
...

habe ich nach der erfreulichen Botschaft das var obsolet ist, dieses radikal entfernt.
var btn ging und btn.1=... war/ist dann auch ok.

Hatte damals auch nur mit btn1 = ... ohne Punkt und ohne vorheriges var btn experimentiert.

Fazit:
Kein var mehr, aber bei neuer Variable immer etwas zuweisen?
Notfalls
btn = null
 
01.03.2016  
 




HofK
Schnell getestet:

Mit btn= null kommt etwas und dann der Fehler, mit

btn = ["1" "2"]
btn.1 = gui.irgendwas links "Tipp drauf \n- zieh weg"
btn.2 = gui.irgendwas rechts "Touch hier"


kommt kein Fehler mehr.
 
01.03.2016  
 



Jau.

Also:

entspricht null[0]=10 -

das wird dann (natürlich) quittiert mit einem Instruction Error.

Redeklarieren zu einem array einfach per:
btn=[]

Wenn eine Variable gänzlich unverwendet ist dann reicht aber eine einfache Verwendung:
 
02.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.419 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