OK Button mit Returntaste betätigen
Übersicht

![]() |
CommanderBetreff: OK Button mit Returntaste betätigen |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo
Ich schreibe zu Zeit mein erstes Programm in BB Plus, einen Vokabeltrainer. Die Grundfunktionen hab ich alle und bin jetzt dabei die "Schönheitsfehler" zu bereinigen. Ich hab eine Function mit der ich Vokabel hinzufügen kann. Code: [AUSKLAPPEN] Function Datei_anfuegen() daten_zaehler = 0 Ausstieg = 0 I = 0 Repeat I = I+1 If wort_links$(I) = "" Then daten_zaehler = I If I =100 Then Notify "Pro Übung können nur 100 Vokabel eingegeben werden !" daten_zaehler = 100 EndIf Until daten_zaehler <> 0 I = 0 A = daten_zaehler ;Hauptfenster deaktivieren und neues erstellen DisableGadget window bearbeiten_win = CreateWindow("Vokabel einfügen",200,200,260,200,window,1) CreateLabel (ueber_links$,15,15,150,20,bearbeiten_win) bearbeiten_links=CreateTextField(10,35,230,20,bearbeiten_win) CreateLabel (ueber_rechts$,15,65,150,20,bearbeiten_win) bearbeiten_rechts=CreateTextField(10,85,230,20,bearbeiten_win) button_ok=CreateButton("OK",30,120,80,20,bearbeiten_win,1) button_ab=CreateButton("Fertig",130,120,80,20,bearbeiten_win,1) daten_zeiger = daten_zaehler Vokabel_anzeigen(bearbeiten_links,bearbeiten_rechts) ActivateGadget bearbeiten_links Repeat If daten_zeiger = 100 Then Ausstieg = 1 Select WaitEvent(100) ;Button abfragen Case $401 If EventSource()=button_ok Then wort_links$(daten_zeiger) = TextFieldText(bearbeiten_links) wort_rechts$(daten_zeiger) = TextFieldText(bearbeiten_rechts) daten_zeiger = daten_zeiger + 1 Vokabel_anzeigen(bearbeiten_links,bearbeiten_rechts) ActivateGadget bearbeiten_links EndIf If EventSource()=button_ab Then Ausstieg = 1 End Select Until Ausstieg =1 Datei_speichern() Ueberschrift() EnableGadget window daten_zaehler = daten_zaehler - 10 Textfeld() FreeGadget bearbeiten_win ActivateWindow window End Function Function Vokabel_anzeigen(bearbeiten_links,bearbeiten_rechts) SetGadgetText bearbeiten_links, wort_links$(daten_zeiger) SetGadgetText bearbeiten_rechts, wort_rechts$(daten_zeiger) End Function Ich gebe in bearbeiten_links ein Wort ein dann drückt man TAB springt zu bearbeiten_rechts wieder TAB man springt zum OK Button drückt ENTER und übernimmt die Eingebe. NUR Ich gebe ein Weiteres Wort ein. Wieder TAB man springt zu bearbeiten_rechts wieder TAB man springt zum OK Button aber man kann ihn nicht wie beim ersten Mal mit der ENTER-Taste betätigen. Erst wenn man mit TAB alle Gadget durch hat und wieder zum den OK-Button ausgewählt hat kann man diesen auch wieder mit der ENTER-Taste betätigen. Das stört sehr wenn man flüssig Vokabel eingeben will. Kann mir da wer helfen? |
||
![]() |
Shogo |
![]() Antworten mit Zitat ![]() |
---|---|---|
Versuch das mal.
Code: [AUSKLAPPEN] button_ok=CreateButton("OK",30,120,80,20,bearbeiten_win,4)
Steht hier in denn Blitzplus Docs . (engl) |
||
![]() |
Commander |
![]() Antworten mit Zitat ![]() |
---|---|---|
Leider bringt garnichts immer der selbe Effekt. ![]() |
||
![]() |
Shogo |
![]() Antworten mit Zitat ![]() |
---|---|---|
Benutzt du die neuste Version BB+?
Und warum erstellst du immer wieder ein neues Fenster? |
||
![]() |
Hip Teen |
![]() Antworten mit Zitat ![]() |
---|---|---|
Weil mich das ganze einfach mal interessiert hat, aber die Informationen sehr spärlich waren, hab ich die Anwendung einfach mal genau rausbekommen und in diesem anschaulichen Programm umgesetzt. Vielleicht nützt es was und macht verständlich, wie es funktioniert:
Code: [AUSKLAPPEN] window = CreateWindow ("blaa",0,0,500,500)
button = CreateButton ("waaah",0,50,100,50,window) textfield = CreateTextField (0,0,100,20,window) Repeat Select WaitEvent () Case $803 End Case $104 Notify "Du hast OK gedrückt" End Select Forever |
||
Spruch der Woche: "Ahh, ein neues Gesicht?!" - "Nein, das hab ich schon länger" |
![]() |
Commander |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zitat: Benutzt du die neuste Version BB+?
Und warum erstellst du immer wieder ein neues Fenster? Ja ich habe die neueste BB+ Version 1.45 Die zweite Frage verstehe ich nicht ganz . Ich hab eine Hauptroutine wo ich Menu, Button und so weiter abrfrage. Wenn ich dort auf Vokabel einfügen klicke springe ich in die Function Datei_anfuegen und arbeit dort meine Eingaben ab bis ich auf den Button "Fertig" clicke. Wenn mit der Tabulator-Taste den OK Button auswähle siehe: ![]() und dann die Enter-Taste drücke dann klappt alles. Ich gebe wieder was ein und wähle wieder mir der Tabulator-Taste den OK-Button aus (siehe Bild) Dann kann ich Enter so oft drücken wie ich will es passiert nichts. Ich kann jetzt die Maus in die Hand nehmen und auf OK clicken, oder ich kann so oft auf die Tabulator-Taste drücken bis der OK-Button wieder ausgewählt ist. dann klappt es auch wieder mit der Enter-Taste Genauer kann ich es glaub ich mal nicht mehr erklären. @Hip Teen: Dein Beispiel verstehe ich nicht da kommt nie die Meldung "Du hast OK gedrückt" |
||
![]() |
Shogo |
![]() Antworten mit Zitat ![]() |
---|---|---|
Allso einen Fehler kann ich in dem Code denn du reingestellt hast nicht finden. Vieleicht Postest du mal den ganzen Code dann kann ich ihn bei mir mal testen.
Ich habs auch noch mal bei mir Ausprobiert da geht es. Code: [AUSKLAPPEN] Global win1 = CREATEWINDOW("Button Test",100, 100, 200, 100, Desktop(), 1)
Global Textfeld1 = CreateTextField(0, 0, 200, 20, win1) Global Textfeld2 = CreateTextField(0, 25, 200, 20, win1) Global button_ok = CreateButton("OK", 75, 50, 50, 20, win1, 4) Dim variablenspeichern$(100,1) Global zaehler = 0 ; F1 druecken HOTKEYEVENT 59, 0, $1001 ActivateGadget Textfeld1 Repeat Select WaitEvent() Case $401 Select EventSource() Case button_ok zaehler = zaehler+1; Zaehler um 1 erhoehen If Zaehler = 100 Then Exit; Falls groesser als 100 wird Schleife Beendet ; Auslessen der Eingaben variablenspeichern(zaehler, 0) = TextFieldText(Textfeld1) variablenspeichern(zaehler, 1) = TextFieldText(Textfeld2) ; Textfeld Eingaben Loeschen SetGadgetText Textfeld1, "" SetGadgetText Textfeld2, "" ActivateGadget Textfeld1 End Select Case $803 End Case $1001 ; Ausgeben der Eingaben Stop For I = 1 To zaehler Print "Nr. " + I + ": " + variablenspeichern(I, 0) + "; " + variablenspeichern(I, 1) Next End Select Until KeyHit(1) Durch die 4 bei createbutton muss der OK Button noch nicht mal markiert sein. Immer wenn ich Enter druecke wird ein Druecken des OK Button simuliert. |
||
![]() |
Commander |
![]() Antworten mit Zitat ![]() |
---|---|---|
Die gesammelten Werke
Code: [AUSKLAPPEN] ;====================================================================
; Project: Vokabel Trianer ; Version: 0.1 ; Author: Commander ; Email: ; Copyright: ; Description: ; ; ;==================================================================== ;Ein Fenster erstellen Global window = CreateWindow("Vokabel Trainer V0.1",200,200,500,400,0,15) ;Variablen AppTitle "Vokabel Trainer V0.1" Global daten$="" Global vokabel_links$ ="" Global vokabel_rechts$ ="" Global ueber_links$ ="" Global ueber_rechts$ ="" Global datei_name$ = "leer.csv" Global daten_zaehler = 0 Global daten_zeiger = 0 Global vokabel_daten = 0 ; Zufallszahlen nach Systemzeit ausrichten --> Bei jedem Start anders. SeedRnd(MilliSecs()) ;Menü erstellen menu1=CreateMenu("Datei",1,WindowMenu(window)) menu2=CreateMenu("Bearbeiten",2,WindowMenu(window)) menu3=CreateMenu("Abfragen",3,WindowMenu(window)) menu4=CreateMenu("Neu",4,menu1) menu5=CreateMenu("Öffnen",5,menu1) ;menu6=CreateMenu("Schliessen",6,menu1) menu7=CreateMenu("Speichern",7,menu1) menu8=CreateMenu("Speichern unter ...",8,menu1) menu9=CreateMenu("Vokabel bearbeiten",9,menu2) menu10=CreateMenu("?",10,WindowMenu(window)) menu11=CreateMenu("Vokabel einfügen",11,menu2) menu12=CreateMenu("Vokabel löschen",12,menu2) UpdateWindowMenu window ;------------------------------------------------------------------------- ;Iconleiste erstellen toolbar=CreateToolBar("toolbar_v2.bmp",0,0,224,32,window) SetToolBarTips toolbar,"Neu,Öffnen,Speichern,Einfügen,Bearbeiten,Löschen,Abfragen" panel=CreatePanel(0,41,500,1,window) SetPanelColor panel,255,255,255 ;------------------------------------------------------------------------- ;Textfelder erstellen Dim textfeld_links(10), textfeld_rechts(10),textfeld_antwort(10) Dim wort_links$(100), wort_rechts$(100) Dim vokabel_button(10), sprache(2), abfrage$(100), richtig$(100), antwort$(10) For i = 1 To 10 y = 22*i+48 textfeld_links(i)=CreateTextField(20,y,223,20,window) textfeld_rechts(i)=CreateTextField(255,y,223,20,window) ;Auswahl Button erstellen (Radiobutton) vokabel_button(i)=CreateButton("",2,(y+3),15,15,window,3) Next ;Den ersten Button auswählen SetButtonState vokabel_button(1),1 ; Vor und Zurück Button erstellen button_vor=CreateButton("Vor -->",270,300,80,20,window,1) button_zurueck=CreateButton("<-- Zurück",150,300,80,20,window,1) Ueberschrift() Textfeld() Repeat ;Event abfragen ;Identität des Events abfragen Select WaitEvent(100) ;Falls auf [X] geklickt wurde, dann wird beendet Case $803 End ;Iconleiste abfragen Case $401 If EventSource()=toolbar Then Icon_abfrage() If EventSource()=button_vor And daten_zaehler< 100 Then If wort_links$(1+daten_zaehler) <>"" Then Textfeld() EndIf If EventSource()=button_zurueck Then daten_zaehler = daten_zaehler - 20 Textfeld() EndIf ;Menü abfragen Case $1001 If EventData() = 5 Then Datei_laden() panel=CreatePanel(0,41,500,1,window) SetPanelColor panel,255,255,255 EndIf If EventData() = 7 Then Datei_speichern() panel=CreatePanel(0,41,500,1,window) SetPanelColor panel,255,255,255 EndIf If EventData() = 8 Then Datei_speichernunter() panel=CreatePanel(0,41,500,1,window) SetPanelColor panel,255,255,255 EndIf If EventData() = 9 Then Vokabel_bearbeiten() panel=CreatePanel(0,41,500,1,window) SetPanelColor panel,255,255,255 EndIf If EventData() = 11 Then Datei_anfuegen() panel=CreatePanel(0,41,500,1,window) SetPanelColor panel,255,255,255 EndIf If EventData() = 12 Then Vokabel_loeschen() panel=CreatePanel(0,41,500,1,window) SetPanelColor panel,255,255,255 EndIf If EventData() = 3 Then Abfragen() panel=CreatePanel(0,41,500,1,window) SetPanelColor panel,255,255,255 EndIf End Select ;Wenn [Esc] gedrückt, dann Ende If KeyHit(1) Then End ; ...für immer Forever Function Vokabel () vokabel_links$ ="" vokabel_rechts$ ="" Rechts = 0 For I = 1 To Len(daten$) A$ = Mid$ (daten$, I ,1) If Asc (A$) = 59 Then Rechts =1 If Rechts =1 Then vokabel_rechts$ = vokabel_rechts$ + A$ Else vokabel_links$ = vokabel_links$ + A$ EndIf Next vokabel_rechts$ = Right$ (vokabel_rechts$, (Len (vokabel_rechts$) -1)) End Function Function Textfeld () If daten_zaehler > 90 Then daten_zaehler = 90 If daten_zaehler < 0 Then daten_zaehler = 0 For i=1 To 10 SetGadgetText textfeld_links(i), wort_links$(i+daten_zaehler) SetGadgetText textfeld_rechts(i), wort_rechts$(i+daten_zaehler) Next daten_zaehler = daten_zaehler + 10 End Function Function Ueberschrift() vokabel_daten = ReadFile(datei_name$) ;Erste Zeile von vokabel_daten auslesen und damit Feld Überschrlift erstellen daten$=ReadLine (vokabel_daten) Vokabel() ueber_links$ = vokabel_links$ ueber_rechts$ = vokabel_rechts$ CreateLabel (ueber_links$,25,48,150,20,window) CreateLabel (ueber_rechts$,260,48,150,20,window) End Function Function Icon_abfrage() symbol_nr = EventData() If symbol_nr = -1 Then Datei_neu() If symbol_nr = 0 Then Datei_laden() If symbol_nr = 1 Then Datei_speichern() If symbol_nr = 2 Then Datei_anfuegen() If symbol_nr = 3 Then Vokabel_bearbeiten() If symbol_nr = 4 Then Vokabel_loeschen() If symbol_nr = 5 Then Abfragen() End Function Function Datei_laden () datei_name$=RequestFile$ ("Dateiauswahl","csv,*",0) If datei_name$<>"" Then vokabel_daten = ReadFile(datei_name$) SetStatusText window,datei_name$ daten_zaehler = 0 Ueberschrift() For i = 1 To 100 daten$=ReadLine (vokabel_daten) Vokabel() wort_links$(i) = vokabel_links$ wort_rechts$(i) = vokabel_rechts$ Next Textfeld() EndIf End Function Function Vokabel_bearbeiten() Ausstieg = 0 DisableGadget window bearbeiten_win = CreateWindow("Vokabel bearbeiten",200,200,260,200,window,1) CreateLabel (ueber_links$,15,15,150,20,bearbeiten_win) bearbeiten_links=CreateTextField(10,35,230,20,bearbeiten_win) CreateLabel (ueber_rechts$,15,65,150,20,bearbeiten_win) bearbeiten_rechts=CreateTextField(10,85,230,20,bearbeiten_win) button_ok=CreateButton("OK",30,120,80,20,bearbeiten_win,1) button_ab=CreateButton("Abbrechen",130,120,80,20,bearbeiten_win,1) Auswahl_vokabel() SetGadgetText bearbeiten_links, wort_links$(daten_zeiger) SetGadgetText bearbeiten_rechts, wort_rechts$(daten_zeiger) Repeat Select WaitEvent(100) ;Button abfragen Case $401 If EventSource()=button_ok Then wort_links$(daten_zeiger) = TextFieldText(bearbeiten_links) wort_rechts$(daten_zeiger) = TextFieldText(bearbeiten_rechts) Ausstieg = 1 EndIf If EventSource()=button_ab Then Ausstieg = 1 End Select Until Ausstieg =1 EnableGadget window daten_zaehler = daten_zaehler - 10 Textfeld() FreeGadget bearbeiten_win End Function Function Auswahl_vokabel() For i = 1 To 10 If ButtonState(vokabel_button(i))=1 Then daten_zeiger = i + daten_zaehler -10 Next End Function Function Datei_speichern() datei_name$=RequestFile$ ("Datei speichern","csv,*",1,datei_name$) If datei_name$ <> "" Then fileout = WriteFile(datei_name$) WriteLine fileout,ueber_links$+";"+ueber_rechts$ For i = 1 To 100 WriteLine fileout,wort_links$(i)+";"+wort_rechts$(i) Next CloseFile fileout EndIf datei_name$ = "leer.csv" End Function Function Datei_speichernunter() datei_name$=RequestFile$ ("Datei speichern unter","csv,*",1) If datei_name$ <> "" Then fileout = WriteFile(datei_name$) WriteLine fileout,ueber_links$+";"+ueber_rechts$ For i = 1 To 100 WriteLine fileout,wort_links$(i)+";"+wort_rechts$(i) Next CloseFile fileout EndIf End Function Function Datei_neu() datei_name$ = "unit.csv" Ausstieg = 0 ueber_links$ = "Sprache 1" ueber_rechts$ = "Sprache 2" ;Hauptfenster deaktivieren und neues erstellen DisableGadget window bearbeiten_win = CreateWindow("Neue Vokabeldatei erstellen",200,200,260,200,window,1) If ueber_links$ = "Sprache 1" Or ueber_rechts$ = "Sprache 2" Then Ausstieg2 =0 DisableGadget bearbeiten_win ueber_win = CreateWindow("Überschriften eingeben",220,220,260,260,bearbeiten_win,1) CreateLabel (ueber_links$,15,15,150,20,ueber_win) bearbeiten_links=CreateTextField(10,35,230,20,ueber_win) CreateLabel (ueber_rechts$,15,65,150,20,ueber_win) bearbeiten_rechts=CreateTextField(10,85,230,20,ueber_win) button_ok=CreateButton("OK",30,120,80,20,ueber_win,1) ueber_links$ = "" ueber_rechts$ = "" ActivateGadget bearbeiten_links Repeat Select WaitEvent(100) ;Button abfragen Case $401 If EventSource()=button_ok Then ueber_links$=TextFieldText$(bearbeiten_links) ueber_rechts$=TextFieldText$(bearbeiten_rechts) Ausstieg2 = 1 EndIf End Select Until Ausstieg2 =1 EnableGadget bearbeiten_win FreeGadget ueber_win EndIf For I = 1 To 100 wort_links$(I) = "" wort_rechts$(I) = "" Next CreateLabel (ueber_links$,15,15,150,20,bearbeiten_win) bearbeiten_links=CreateTextField(10,35,230,20,bearbeiten_win) CreateLabel (ueber_rechts$,15,65,150,20,bearbeiten_win) bearbeiten_rechts=CreateTextField(10,85,230,20,bearbeiten_win) button_ok=CreateButton("OK",30,120,80,20,bearbeiten_win,1) button_ab=CreateButton("Fertig",130,120,80,20,bearbeiten_win,1) daten_zeiger = 1 Vokabel_anzeigen(bearbeiten_links,bearbeiten_rechts) ActivateGadget bearbeiten_links Repeat If KeyDown(28)=True Then wort_links$(daten_zeiger) = TextFieldText(bearbeiten_links) wort_rechts$(daten_zeiger) = TextFieldText(bearbeiten_rechts) daten_zeiger = daten_zeiger + 1 Vokabel_anzeigen(bearbeiten_links,bearbeiten_rechts) EndIf If daten_zeiger = 100 Then Ausstieg = 1 Select WaitEvent(100) ;Button abfragen Case $401 If EventSource()=button_ok Then wort_links$(daten_zeiger) = TextFieldText(bearbeiten_links) wort_rechts$(daten_zeiger) = TextFieldText(bearbeiten_rechts) daten_zeiger = daten_zeiger + 1 Vokabel_anzeigen(bearbeiten_links,bearbeiten_rechts) ActivateGadget bearbeiten_links EndIf If EventSource()=button_ab Then Ausstieg = 1 End Select Until Ausstieg =1 Datei_speichern() Ueberschrift() EnableGadget window daten_zaehler = daten_zaehler - 10 Textfeld() FreeGadget bearbeiten_win ActivateWindow window End Function Function Datei_anfuegen() daten_zaehler = 0 Ausstieg = 0 I = 0 Repeat I = I+1 If wort_links$(I) = "" Then daten_zaehler = I If I =100 Then Notify "Pro Übung können nur 100 Vokabel eingegeben werden !" daten_zaehler = 100 EndIf Until daten_zaehler <> 0 I = 0 A = daten_zaehler ;Hauptfenster deaktivieren und neues erstellen DisableGadget window bearbeiten_win = CreateWindow("Vokabel einfügen",200,200,260,200,window,1) CreateLabel (ueber_links$,15,15,150,20,bearbeiten_win) bearbeiten_links=CreateTextField(10,35,230,20,bearbeiten_win) CreateLabel (ueber_rechts$,15,65,150,20,bearbeiten_win) bearbeiten_rechts=CreateTextField(10,85,230,20,bearbeiten_win) button_ok=CreateButton("OK",30,120,80,20,bearbeiten_win,1) button_ab=CreateButton("Fertig",130,120,80,20,bearbeiten_win,1) daten_zeiger = daten_zaehler Vokabel_anzeigen(bearbeiten_links,bearbeiten_rechts) ActivateGadget bearbeiten_links Repeat If daten_zeiger = 100 Then Ausstieg = 1 Select WaitEvent(100) ;Button abfragen Case $401 If EventSource()=button_ok Then wort_links$(daten_zeiger) = TextFieldText(bearbeiten_links) wort_rechts$(daten_zeiger) = TextFieldText(bearbeiten_rechts) daten_zeiger = daten_zeiger + 1 Vokabel_anzeigen(bearbeiten_links,bearbeiten_rechts) ActivateGadget bearbeiten_links EndIf If EventSource()=button_ab Then Ausstieg = 1 End Select Until Ausstieg =1 Datei_speichern() Ueberschrift() EnableGadget window daten_zaehler = daten_zaehler - 10 Textfeld() FreeGadget bearbeiten_win ActivateWindow window End Function Function Vokabel_loeschen() Auswahl_vokabel() x=Confirm("Vokabel löschen ?"+Chr$(13)+Chr$(13)+ueber_links$+Chr$(13)+wort_links$(daten_zeiger)+Chr$(13) +ueber_rechts$+Chr$(13)+wort_rechts$(daten_zeiger)+Chr$(13),1) If x=1 Then For I = daten_zeiger To 99 wort_links$(I) = wort_links$(I+1) wort_rechts$(I) = wort_rechts$(I+1) Next wort_links$(100) = "" wort_rechts$(100) = "" EndIf daten_zaehler = daten_zaehler - 20 Textfeld() End Function Function Vokabel_anzeigen(bearbeiten_links,bearbeiten_rechts) SetGadgetText bearbeiten_links, wort_links$(daten_zeiger) SetGadgetText bearbeiten_rechts, wort_rechts$(daten_zeiger) End Function Function Abfragen() ;Alte Abfragedaten löschen For i = 1 To 100 abfrage$(i) = "" richtig$(i) = "" Next daten_zaehler = 0 Ausstieg = 0 frage$ = "" korrekt = 0 ; Erfragen wieviele Vokabel Abgefragt werden sollen ;------------------------------------------------------------------------- DisableGadget window ; ermittel wieviele Vokabel es gibt und in wort_max speichern For I = 1 To 100 If wort_links$(I) <> "" Then wort_max = I Next frage_win=CreateWindow("Vokabel abfragen",200,200,360,200,window,1) CreateLabel ("Nach welcher Sprache soll gefragt werden ?",15,15,230,20,frage_win) sprache1=CreateButton(ueber_links$,20,40,80,20,frage_win,3) sprache2=CreateButton(ueber_rechts$,100,40,150,20,frage_win,3) SetButtonState sprache2,1 CreateLabel ("Wieviele Vokabel sollen abgefragt werden ? (max. " + wort_max +")",20,70,300,20,frage_win) eingabe=CreateTextField(20,90,30,20,frage_win) button_ok=CreateButton("OK",30,120,80,20,frage_win,1) button_ab=CreateButton("Abbrechen",130,120,80,20,frage_win,1) Repeat Select WaitEvent(100) Case $401 If EventSource()=button_ok Then eingabe1$ = TextFieldText(eingabe) Zahl = Int(eingabe1$) If Zahl < 1 Or Zahl > wort_max Then Notify "Eingabe falsch"+Chr$(13)+Chr$(13)+"Bitte eine Anzahl zwischen 1 und "+wort_max+" eingeben",1 ActivateGadget eingabe Else Ausstieg =1 EndIf EndIf If EventSource()=button_ab Then Ausstieg = 2 End Select Until Ausstieg >0 ;------------------------------------------------------------------------- If Ausstieg = 2 Then EnableGadget window FreeGadget frage_win ActivateWindow window Return EndIf Ausstieg = 0 If ButtonState(sprache1)=1 Then frage$= ueber_links$ Else frage$ = ueber_rechts EndIf FreeGadget frage_win bearbeiten_win = CreateWindow("Vokabel abfragen",200,200,640,340,window,1) CreateLabel (frage$,15,15,100,20,bearbeiten_win) ;bearbeiten_links=CreateTextField(10,35,190,20,bearbeiten_win) CreateLabel ("Antwort",220,15,100,20,bearbeiten_win) ;bearbeiten_rechts=CreateTextField(210,35,190,20,bearbeiten_win) CreateLabel ("Richtig",420,15,100,20,bearbeiten_win) For i = 1 To 10 y = 22*i+20 textfeld_links(i)=CreateTextField(10,y,190,20,bearbeiten_win) textfeld_rechts(i)=CreateTextField(210,y,190,20,bearbeiten_win) textfeld_antwort(i)=CreateTextArea(410,y,190,20,bearbeiten_win) Next For i = 1 To Zahl X = Rand(1,wort_max) If frage$ = ueber_links$ Then abfrage$(i) = wort_links$(x) richtig$(i) = wort_rechts$(x) ElseIf frage$ = ueber_rechts$ Then abfrage$(i) = wort_rechts$(x) richtig$(i) = wort_links$(x) EndIf Next button_ok=CreateButton("Prüfen",30,280,80,20,bearbeiten_win,1) button_weiter=CreateButton("Weiter",130,280,80,20,bearbeiten_win,1) button_ab=CreateButton("Abbrechen",230,280,80,20,bearbeiten_win,1) DisableGadget button_weiter Abfragefeld() Repeat Select WaitEvent(100) Case $401 If EventSource()=button_ok Then For i = 1 To 10 antwort$(i) = TextFieldText(textfeld_rechts(i)) SetGadgetText textfeld_antwort(i),richtig$(i+daten_zaehler-10) If antwort$(i) = richtig$(i+daten_zaehler-10) Then SetTextAreaColor textfeld_antwort(i),22,246,64,1 korrekt = korrekt + 1 Else SetTextAreaColor textfeld_antwort(i),255,0,0,1 EndIf Next Notify korrekt + " wurden richtig eingegeben" DisableGadget button_ok EnableGadget button_weiter EndIf If EventSource()=button_weiter Then For i = 1 To 10 SetGadgetText textfeld_antwort(i),"" SetTextAreaColor textfeld_antwort(i),255,255,255,1 Next EnableGadget button_ok Abfragefeld() DisableGadget button_weiter EndIf If EventSource()=button_ab Then Ausstieg = 2 End Select Until Ausstieg >0 If Ausstieg = 2 Then EnableGadget window FreeGadget bearbeiten_win ActivateWindow window Return EndIf End Function Function Abfragefeld () If daten_zaehler > 90 Then daten_zaehler = 90 If daten_zaehler < 0 Then daten_zaehler = 0 If abfrage$(daten_zaehler+1)<>"" Then For i=1 To 10 SetGadgetText textfeld_links(i), abfrage$(i+daten_zaehler) Next daten_zaehler = daten_zaehler + 10 Else Notify "Alle Vokabeln wurden abgefragt !" EndIf End Function |
||
![]() |
Commander |
![]() Antworten mit Zitat ![]() |
---|---|---|
Alles zurück !!
Jetzt hab ichs! Mit 4 bei createbutton klappt es 1A !!! Keine Ahnung was ich da das letztemal probiert habe und wo ich bei welche createbutton ich die 4 gesetzt habe. Danke für die Mühe ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group