Code: Select all
Enumeration
#wndWindow
#strEingabe
#btnSuche
#btnAbbrechen
#txtTreffer
EndEnumeration
Procedure Test()
Protected.i ENDE,YPOS,ANZ
Protected.s ST
; ENDE - Schleifenabschluss
; YPOS - Y-Position
; ANZ - Anzahl der Suchtreffer
; ST - Suchtext
OpenWindow(#wndWindow,#PB_Ignore,#PB_Ignore,450,180,"Test",#PB_Window_ScreenCentered|#PB_Window_SystemMenu)
YPOS=10
TextGadget(#PB_Any,10,YPOS,430,30,"Eingabe:")
YPOS+30
StringGadget(#strEingabe,10,YPOS,370,25,"")
YPOS+35
ButtonGadget(#btnSuche,10,YPOS,80,30,"Suche",#PB_Button_Default)
ButtonGadget(#btnAbbrechen,100,YPOS,80,30,"Abbrechen")
StartDrawing(WindowOutput(#wndWindow))
YPOS+40
Line(10,YPOS,430,1,RGB(Random(255), Random(255), Random(255)))
StopDrawing()
YPOS+10
TextGadget(#txtTreffer,10,YPOS,430,30,"")
SetActiveGadget(#strEingabe)
Repeat
Select WaitWindowEvent()
Case #PB_Event_Gadget
; endless loop
MessageRequester("ok","Event-Gadget")
Select EventGadget()
Case #strEingabe
Select EventType()
Case #PB_EventType_Change
; Eingabe verarbeiten
ANZ=10
EndSelect
Case #btnSuche
ENDE=1
Case #btnAbbrechen
ENDE=2
EndSelect
Select ANZ
Case 0
SetGadgetText(#txtTreffer,"Es wurden keine passenden Suchtreffer gefunden!")
Case 1
SetGadgetText(#txtTreffer,"Suchtreffer eindeutig!")
Default
SetGadgetText(#txtTreffer,"Es wurden "+ANZ+" passende Suchtreffer gefunden!")
EndSelect
If ST=""
SetGadgetText(#txtTreffer,"")
EndIf
Case #PB_Event_CloseWindow
ENDE=2
Case #WM_KEYDOWN
Select EventwParam()
Case #VK_RETURN
If ANZ>0
ENDE=1
EndIf
Case #VK_ESCAPE
ENDE=2
EndSelect
EndSelect
Until ENDE>0
CloseWindow(#wndWindow)
EndProcedure
Test()