Problem mit GUI

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Lifetec

Betreff: Problem mit GUI

BeitragMo, Feb 06, 2006 15:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi ich habe das hier geprogt.

Code: [AUSKLAPPEN]

fenster = CreateWindow ("Test proggen", 100,100, 400,200)
satz$ = "Mit welchem Schalter kann mann schreiben ?"
label = CreateLabel (satz$, 5,5, 195,50, fenster)
schalter1 = CreateButton ("Print", 10,70,   100,20, Fenster, 1)
hjk = CreateButton ("Inpu()", 145,70,   100,20, Fenster, 1)
schalter2 = CreateButton ("Down", 280,70,   100,20, Fenster, 1)

;Auswerten
 
Repeat
 ereignis = WaitEvent()
 If ereignis = $401 And EventSource() = schalter1 Then fenster = CreateWindow ("Richtig !!!", 10,100, 430,100)
  satz$ = "Das is Richtig Martin, toll."
  label = CreateLabel (satz$, 5,5, 195,50, fenster)                                                                                               
  schalter = CreateButton ("Weiter gehts",  200,5, 100,20, fenster,1)
  Repeat
   er = WaitEvent()
   If er = $401 And EventSource() = schalter Then End
   Forever
 If ereignis = $401 And EventSource() = hjk Then fenster = CreateWindow ("Falsch !!!", 10,100, 430,100)
  satze$ = "Leider Falsch !." + Chr$(13) + "Richt wäre gewesen Print"
  label = CreateLabel (satze$, 5,5, 195,50, fenster)
 
 If ereignis = $401 And EventSource() = schalter3 Then End
Forever


So mein Problem is das wenn ich auf den zweiten Schalter drücke dann pasiert das was eigentlich beim 1 passieren soll.

Weiß jemand das Problem ????
 

Tiranium

BeitragDi, Feb 07, 2006 16:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Probier es doch mal mit :

[/code]
Goto Frage
Code: [AUSKLAPPEN]

MFG
 

Dreamora

BeitragDi, Feb 07, 2006 17:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Die Programmstruktur ist sehr fehlerhaft, zb hast du keine IfBlöcke, sprich grossteile des Codes werden bei jedem Schalter ausgeführt und dergleichen.
Auch wäre es nicht nötig, label etc immer wieder zu erzeugen, es wäre vollkommen ausreichend den Text des Labels neu zu setzen, button sichtbar / unsichtbar machen und dergleichen.
Deine Programmierung mit neues Erzeugen und altes nie löschen und dergleichen ist sehr gefährlich und absturzgefärdet.

Hier eine strukturiertere Version deines Codes, das mit dem erzeugen etc habe ich gelassen, denke wäre eine gute übung wenn du dich mit den nötigen Befehlen beschäftigst, die das ständige neu erzeugen verhindern.

Code: [AUSKLAPPEN]

fenster = CreateWindow ("Test proggen", 100,100, 400,200)
satz$ = "Mit welchem Schalter kann mann schreiben ?"
label = CreateLabel (satz$, 5,5, 195,50, fenster)
schalter1 = CreateButton ("Print", 10,70,   100,20, Fenster, 1)
hjk = CreateButton ("Inpu()", 145,70,   100,20, Fenster, 1)
schalter2 = CreateButton ("Down", 280,70,   100,20, Fenster, 1)

;Auswerten
 
Repeat
  ereignis = WaitEvent()
  if ereignis = $401
    select EventSource()
      case schalter1
        fenster = CreateWindow ("Richtig !!!", 10,100, 430,100)
        satz$ = "Das is Richtig Martin, toll."
        label = CreateLabel (satz$, 5,5, 195,50, fenster)
        schalter = CreateButton ("Weiter gehts",  200,5, 100,20, fenster,1)
        Repeat
          er = WaitEvent()
          If er = $401 And EventSource() = schalter Then End
        Forever

      case hjk
        fenster = CreateWindow ("Falsch !!!", 10,100, 430,100)
        satze$ = "Leider Falsch !." + Chr$(13) + "Richt wäre gewesen Print"
        label = CreateLabel (satze$, 5,5, 195,50, fenster)

      case schalter2  'Keine Ahnung wo du deinen schalter3 her hattest, sorry
        end

    end select
  endif
Forever
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group