Hallo Edel - stimmt du hast mir damals sehr geholfen was das Programm angeht. Ich habe es danach etwas umgeschrieben ( alles in Proceduren gepackt - und noch ein extra Fenster mit zusätzlichen Funktionen hinzugefügt ). Klappt auch alles gut. Jetzt wollte ich nur noch eine weitere Funktion ( ein Mitschüler hatte die Idee ) hinzufügen, das eben mit der verzögerten Anzeige von den Vokabeln, damit man vorher überlegen kann was wohl das Wort ist, bevor es angezeigt wird.
Ich hänge dann wohl noch immer noch in der Leitung - in der Procedur habe ich ja keine "Eventabfrage" - ist alles in die Hauptprocedur gepackt.
Hier ist mal der komplette Code. ( muss jetzt mal meine Tochter vom Kino holen - schaue nachher wieder rein )
Code: Alles auswählen
Enumeration ; Windows
#Eingangsfenster
#Auswahlfenster
#Erinnerungsfenster
EndEnumeration
Enumeration ; Gadgets
; Eingangsfenster
#Eingangsfenster_txt1
#Eingangsfenster_txt2
#Eingangsfenster_imagIT
#Eingangsfenster_txt3
#Eingangsfenster_txt4
#Eingangsfenster_txt5
#Eingangsfenster_txt6
#Eingangsfenster_butWeiter
; Auswahlfenster
#Auswahlfenster_checkbox_D
#Auswahlfenster_checkbox_EN
#Auswahlfenster_strAnzeig
#Auswahlfenster_strVersteck
#Auswahlfenster_txt1
#Auswahlfenster_txt2
#Auswahlfenster_txt3
#Auswahlfenster_txt4
#Auswahlfenster_txt5
#Auswahlfenster_txt6
#Auswahlfenster_imagD
#Auswahlfenster_imagEN
#Auswahlfenster_butWeiter
; Erinnerungsfenster
#Erinnerungsfenster_imag1
#Erinnerungsfenster_txt1
#Erinnerungsfenster_imag2
#Erinnerungsfenster_txt2
#Erinnerungsfenster_imag3
#Erinnerungsfenster_txt3
#Erinnerungsfenster_imag4
#Erinnerungsfenster_txt4
EndEnumeration
Global anzeigezeitl.l, versteckzeitl.l
Procedure Open_Eingangsfenster()
If OpenWindow(#Eingangsfenster,400,300,330,220,"İtalyanca - Release 2.0",#PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_TitleBar )
EndIf
If LoadFont(1, "Arial", 10)
SetGadgetFont(#PB_Default, FontID(1))
EndIf
If LoadImage(0, "I.bmp")
LoadImage(1, "Tr.bmp")
LoadImage(2, "D.bmp")
LoadImage(3, "GB.bmp")
EndIf
If CreateGadgetList(WindowID(#Eingangsfenster))
TextGadget(#Eingangsfenster_txt1, 10,10, 230, 30, "Giuseppe, bana İtalyanca öğrettiğin")
TextGadget(#Eingangsfenster_txt2, 10,40,200, 30, "için çok teşekkür ederim.")
ImageGadget(#Eingangsfenster_imagIT, 250,10,10, 10,ImageID(0))
TextGadget(#Eingangsfenster_txt3, 250,70, 350, 30, "Saygılar")
TextGadget(#Eingangsfenster_txt4, 250,100, 350, 30, "Michael")
TextGadget(#Eingangsfenster_txt5, 10,130, 220, 30, "Şu anda programın kelime hazinesi: ")
TextGadget(#Eingangsfenster_txt6, 250,130, 150, 30, "")
ButtonGadget(#Eingangsfenster_butWeiter, 35, 170, 250, 30, "Devam etmek için tıklayın")
EndIf
If ReadFile(1,"Wortschatz.dat")
laengel.l= Lof(1)
zeilenanzahlw.w=laengel.l/162
zeilenanzahls.s= StrU((zeilenanzahlw.w), #Word)
SetGadgetText(#Eingangsfenster_txt6,zeilenanzahls.s)
CloseFile(1)
EndIf
EndProcedure
Procedure Open_Auswahlfenster()
If OpenWindow(#Auswahlfenster, 218, 0, 350, 300, "Seçenekler", #PB_Window_SystemMenu | #PB_Window_TitleBar|#PB_Window_ScreenCentered )
If LoadImage(2, "D.bmp")
LoadImage(3, "GB.bmp")
EndIf
If CreateGadgetList(WindowID(#Auswahlfenster))
TextGadget(#Auswahlfenster_txt1, 70, 10, 300, 20, "İstediğiniz ek dil bilgileri işaretleyin")
ImageGadget(#Auswahlfenster_imagD, 20, 40, 10, 10, ImageID(2))
CheckBoxGadget(#Auswahlfenster_checkbox_D, 120, 55, 20, 20, "")
ImageGadget(#Auswahlfenster_imagEN, 200, 40, 10, 10, ImageID(3))
CheckBoxGadget(#Auswahlfenster_checkbox_EN, 300, 55, 20, 20, "")
TextGadget(#Auswahlfenster_txt2, 50, 130, 300, 20, "Lütfen gösterme ve saklama zamanını girin")
TextGadget(#Auswahlfenster_txt3, 20, 160, 120, 20, "Gösterme süresi")
StringGadget(#Auswahlfenster_strAnzeig, 140, 160, 40, 20, "")
TextGadget(#Auswahlfenster_txt4, 200, 160, 150, 20, "(Saniye olarak)")
TextGadget(#Auswahlfenster_txt5, 20, 200, 120, 20, "Saklama süresi")
StringGadget(#Auswahlfenster_strVersteck, 140, 200, 40, 20, "")
TextGadget(#Auswahlfenster_txt6, 200, 200, 150, 20, "(Saniye olarak)")
ButtonGadget(#Auswahlfenster_butWeiter, 50, 250, 250, 30, "Yazılıma başlamak için tıklayın")
EndIf
EndIf
EndProcedure
Procedure Open_Erinnerungsfenster_italienisch_turkisch()
If OpenWindow(#Erinnerungsfenster,50,100,300,130,"Hatırlatma pencere")
If LoadFont(1, "Arial", 15)
SetGadgetFont(#PB_Default, FontID(1))
EndIf
If CreateGadgetList(WindowID(#Erinnerungsfenster))
ImageGadget(#Erinnerungsfenster_imag1, 10,10,10, 10,ImageID(0))
TextGadget(#Erinnerungsfenster_txt1, 90, 20, 200, 50, "")
ImageGadget(#Erinnerungsfenster_imag2, 10,70,10, 10,ImageID(1))
TextGadget(#Erinnerungsfenster_txt2, 90,80, 200, 50, "")
EndIf
EndIf
EndProcedure
Procedure Open_Versteckfenster_italienisch_turkisch()
Static zeit
If ElapsedMilliseconds() > zeit
zeit = ElapsedMilliseconds() + anzeigezeitl.l + versteckzeitl.l
If ReadFile(1,"Wortschatz.dat")
laengel.l= Lof(1)
;Debug laengel.l
zeilenanzahlw.w=laengel.l/162
zeilenanzahls.s= StrU((zeilenanzahlw.w), #Word)
zufallszeilennummerw.w= Random(zeilenanzahlw.w-1)
FileSeek(1,zufallszeilennummerw.w*162)
wert1s.s= StrU((zufallszeilennummerw.w+1), #Word)
wert2s.s=ReadString(1)
italienischs.s=Left(wert2s.s,40)
tuerkischs.s=Mid(wert2s.s,41, 40)
deutschs.s=Mid(wert2s.s,81, 40)
englischs.s=Mid(wert2s.s,121, 40)
SetGadgetText(#Erinnerungsfenster_txt1,italienischs.s)
SetGadgetText(#Erinnerungsfenster_txt2,tuerkischs.s)
CloseFile(1)
EndIf
SetWindowState(#Erinnerungsfenster, #PB_Window_Normal)
StickyWindow(#Erinnerungsfenster,1);Fenster immer im Vordergrund
Else
SetWindowState(#Erinnerungsfenster, #PB_Window_Minimize)
EndIf
EndProcedure
Procedure Open_Erinnerungsfenster_italienisch_turkisch_deutsch()
If OpenWindow(#Erinnerungsfenster,50,100,300,190,"Hatırlatma pencere")
If LoadFont(1, "Arial", 15)
SetGadgetFont(#PB_Default, FontID(1))
EndIf
If CreateGadgetList(WindowID(#Erinnerungsfenster))
ImageGadget(#Erinnerungsfenster_imag1, 10,10,10, 10,ImageID(0))
TextGadget(#Erinnerungsfenster_txt1, 90, 20, 200, 50, "")
ImageGadget(#Erinnerungsfenster_imag2, 10,70,10, 10,ImageID(1))
TextGadget(#Erinnerungsfenster_txt2, 90,80, 200, 50, "")
ImageGadget(#Erinnerungsfenster_imag3, 10,130,10, 10,ImageID(2))
TextGadget(#Erinnerungsfenster_txt3, 90,140, 200, 50, "")
EndIf
EndIf
EndProcedure
Procedure Open_Versteckfenster_italienisch_turkisch_deutsch()
Static zeit
If ElapsedMilliseconds() > zeit
zeit = ElapsedMilliseconds() + anzeigezeitl.l + versteckzeitl.l
If ReadFile(1,"Wortschatz.dat")
laengel.l= Lof(1)
;Debug laengel.l
zeilenanzahlw.w=laengel.l/162
zeilenanzahls.s= StrU((zeilenanzahlw.w), #Word)
zufallszeilennummerw.w= Random(zeilenanzahlw.w-1)
FileSeek(1,zufallszeilennummerw.w*162)
wert1s.s= StrU((zufallszeilennummerw.w+1), #Word)
wert2s.s=ReadString(1)
italienischs.s=Left(wert2s.s,40)
tuerkischs.s=Mid(wert2s.s,41, 40)
deutschs.s=Mid(wert2s.s,81, 40)
englischs.s=Mid(wert2s.s,121, 40)
SetGadgetText(#Erinnerungsfenster_txt1,italienischs.s)
SetGadgetText(#Erinnerungsfenster_txt2,tuerkischs.s)
SetGadgetText(#Erinnerungsfenster_txt3,deutschs.s)
CloseFile(1)
EndIf
SetWindowState(#Erinnerungsfenster, #PB_Window_Normal)
StickyWindow(#Erinnerungsfenster,1);Fenster immer im Vordergrund
Else
SetWindowState(#Erinnerungsfenster, #PB_Window_Minimize)
EndIf
EndProcedure
Procedure Open_Erinnerungsfenster_italienisch_turkisch_englisch()
If OpenWindow(#Erinnerungsfenster,50,100,300,190,"Hatırlatma pencere")
If LoadFont(1, "Arial", 15)
SetGadgetFont(#PB_Default, FontID(1))
EndIf
If CreateGadgetList(WindowID(#Erinnerungsfenster))
ImageGadget(#Erinnerungsfenster_imag1, 10,10,10, 10,ImageID(0))
TextGadget(#Erinnerungsfenster_txt1, 90, 20, 200, 50, "")
ImageGadget(#Erinnerungsfenster_imag2, 10,70,10, 10,ImageID(1))
TextGadget(#Erinnerungsfenster_txt2, 90,80, 200, 50, "")
ImageGadget(#Erinnerungsfenster_imag3, 10,130,10, 10,ImageID(3))
TextGadget(#Erinnerungsfenster_txt3, 90,140, 200, 50, "")
EndIf
EndIf
EndProcedure
Procedure Open_Versteckfenster_italienisch_turkisch_englisch()
Static zeit
If ElapsedMilliseconds() > zeit
zeit = ElapsedMilliseconds() + anzeigezeitl.l + versteckzeitl.l
If ReadFile(1,"Wortschatz.dat")
laengel.l= Lof(1)
;Debug laengel.l
zeilenanzahlw.w=laengel.l/162
zeilenanzahls.s= StrU((zeilenanzahlw.w), #Word)
zufallszeilennummerw.w= Random(zeilenanzahlw.w-1)
FileSeek(1,zufallszeilennummerw.w*162)
wert1s.s= StrU((zufallszeilennummerw.w+1), #Word)
wert2s.s=ReadString(1)
italienischs.s=Left(wert2s.s,40)
tuerkischs.s=Mid(wert2s.s,41, 40)
deutschs.s=Mid(wert2s.s,81, 40)
englischs.s=Mid(wert2s.s,121, 40)
SetGadgetText(#Erinnerungsfenster_txt1,italienischs.s)
SetGadgetText(#Erinnerungsfenster_txt2,tuerkischs.s)
SetGadgetText(#Erinnerungsfenster_txt3,englischs.s)
CloseFile(1)
EndIf
SetWindowState(#Erinnerungsfenster, #PB_Window_Normal)
StickyWindow(#Erinnerungsfenster,1);Fenster immer im Vordergrund
Else
SetWindowState(#Erinnerungsfenster, #PB_Window_Minimize)
EndIf
EndProcedure
Procedure Open_Erinnerungsfenster_italienisch_turkisch_deutsch_englisch()
If OpenWindow(#Erinnerungsfenster,50,100,300,250,"Hatırlatma pencere")
If LoadFont(1, "Arial", 15)
SetGadgetFont(#PB_Default, FontID(1))
EndIf
If CreateGadgetList(WindowID(#Erinnerungsfenster))
ImageGadget(#Erinnerungsfenster_imag1, 10,10,10, 10,ImageID(0))
TextGadget(#Erinnerungsfenster_txt1, 90, 20, 200, 50, "")
ImageGadget(#Erinnerungsfenster_imag2, 10,70,10, 10,ImageID(1))
TextGadget(#Erinnerungsfenster_txt2, 90,80, 200, 50, "")
ImageGadget(#Erinnerungsfenster_imag3, 10,130,10, 10,ImageID(2))
TextGadget(#Erinnerungsfenster_txt3, 90,140, 200, 50, "")
ImageGadget(#Erinnerungsfenster_imag4, 10,190,10, 10,ImageID(3))
TextGadget(#Erinnerungsfenster_txt4, 90,200, 200, 50, "")
EndIf
EndIf
EndProcedure
Procedure Open_Versteckfenster_italienisch_turkisch_deutsch_englisch()
Static zeit
If ElapsedMilliseconds() > zeit
zeit = ElapsedMilliseconds() + anzeigezeitl.l + versteckzeitl.l
If ReadFile(1,"Wortschatz.dat")
laengel.l= Lof(1)
;Debug laengel.l
zeilenanzahlw.w=laengel.l/162
zeilenanzahls.s= StrU((zeilenanzahlw.w), #Word)
zufallszeilennummerw.w= Random(zeilenanzahlw.w-1)
FileSeek(1,zufallszeilennummerw.w*162)
wert1s.s= StrU((zufallszeilennummerw.w+1), #Word)
wert2s.s=ReadString(1)
italienischs.s=Left(wert2s.s,40)
tuerkischs.s=Mid(wert2s.s,41, 40)
deutschs.s=Mid(wert2s.s,81, 40)
englischs.s=Mid(wert2s.s,121, 40)
SetGadgetText(#Erinnerungsfenster_txt1,italienischs.s)
SetGadgetText(#Erinnerungsfenster_txt2,tuerkischs.s)
SetGadgetText(#Erinnerungsfenster_txt3,deutschs.s)
SetGadgetText(#Erinnerungsfenster_txt4,englischs.s)
CloseFile(1)
EndIf
SetWindowState(#Erinnerungsfenster, #PB_Window_Normal)
StickyWindow(#Erinnerungsfenster,1);Fenster immer im Vordergrund
Else
SetWindowState(#Erinnerungsfenster, #PB_Window_Minimize)
EndIf
EndProcedure
Procedure hauptprogramm()
Protected quit.l
Protected EventID.l
Protected EventGadget.l
Protected EventWindow.l
Open_Eingangsfenster()
Repeat
EventID = WaitWindowEvent()
EventGadget = EventGadget()
EventWindow = EventWindow()
Select EventID
Case #PB_Event_CloseWindow
Select EventWindow
Case #Eingangsfenster : quit =1
Case #Auswahlfenster : quit =1
Case #Erinnerungsfenster : quit =1
EndSelect
Case #PB_Event_Gadget
Select EventWindow
Case #Eingangsfenster
Select EventGadget
Case #Eingangsfenster_butWeiter
Open_Auswahlfenster()
SetWindowState(#Eingangsfenster, #PB_Window_Minimize)
EndSelect
Case #Auswahlfenster
Select EventGadget
Case #Auswahlfenster_butWeiter
DisableGadget(#Eingangsfenster_butWeiter,1)
anzeigezeits.s= GetGadgetText(#Auswahlfenster_strAnzeig)
versteckzeits.s= GetGadgetText(#Auswahlfenster_strVersteck)
anzeigezeitl.l= Val(anzeigezeits.s)*1000
versteckzeitl.l= Val(versteckzeits.s)*1000
auswahl_D = GetGadgetState(#Auswahlfenster_checkbox_D)
auswahl_EN = GetGadgetState(#Auswahlfenster_checkbox_EN)
Select auswahl_D
Case 1
Select auswahl_EN
Case 1
SetTimer_(Open_Erinnerungsfenster_italienisch_turkisch_deutsch_englisch(),0,anzeigezeitl.l,@Open_Versteckfenster_italienisch_turkisch_deutsch_englisch())
Case 0
SetTimer_(Open_Erinnerungsfenster_italienisch_turkisch_deutsch(),0,anzeigezeitl.l,@Open_Versteckfenster_italienisch_turkisch_deutsch())
EndSelect
Case 0
Select auswahl_EN
Case 1
SetTimer_(Open_Erinnerungsfenster_italienisch_turkisch_englisch(),0,anzeigezeitl.l,@Open_Versteckfenster_italienisch_turkisch_englisch())
Case 0
SetTimer_(Open_Erinnerungsfenster_italienisch_turkisch(),0,anzeigezeitl.l,@Open_Versteckfenster_italienisch_turkisch())
EndSelect
EndSelect
CloseWindow(#Auswahlfenster)
EndSelect
EndSelect
EndSelect
Until quit=1
EndProcedure
hauptprogramm()
End