ich denke, ich bin schon selbst drüber gestolpert:
1.
Code: Alles auswählen
Check_Input( #WindowTest_String_sTest)
Check_Input( #WindowTest_String_fFloat)
Check_Input( #WindowTest_String_tStringtest)
2.
Code: Alles auswählen
Case #WindowTest_String_sTest, #WindowTest_String_fFloat , #WindowTest_String_tStringtest
If EventType() = #PB_EventType_Change
Check_Input(EventGadget())
EndIf
Übrigens funktioniert es nun auch mit Delay() innerhalb der Schleife und mit getrennten Proceduren.
Und die .w, .l etc. behalte ich bei. Enableexplicit zeigt mir immer wieder die kleinen unnötigen Schlampereien.
Aber: nach wie vor vielen Dank HeXOR!!
Wenn man sich von der funktionierenden Seite aus nähert, geht es um einiges leichter! Danke dafür!
Viele Grüße
LN
PS: Der gesamte Code nochmal.
Code: Alles auswählen
Enumeration 3
#Font_5
EndEnumeration
Global wFontHeight.w
Procedure.w FontLaden() ;
If LoadFont(#Font_5, "Arial" , 12)
Else
Debug "Font 5 nicht geladen"
EndIf
EndProcedure
Enumeration 950
#NichtsGeschehen
#AbbruchOhneUebernahme
#EndeMitDatenuebernahme
#BestehendeDatenAuslesen
#InputGUI_OK
#InputGUI_Cancel
EndEnumeration
Procedure.w CheckContent(Content.s)
Protected result.w = 0
If Len(Content) < 3 Or Trim(Content) = ""
result = 5
EndIf
ProcedureReturn result
EndProcedure
Procedure Check_Input(GadgetNo.w)
Protected CheckContent.s
CheckContent = GetGadgetText(GadgetNo)
If CheckContent(CheckContent) > 1
SetGadgetColor(GadgetNo, #PB_Gadget_BackColor,RGB(255,0,0))
Else
SetGadgetColor(GadgetNo, #PB_Gadget_BackColor,RGB(255,255,255))
EndIf
EndProcedure
Procedure FillKramComboBox(GadgetNo.w)
AddGadgetItem(GadgetNo, -1 , "einerseits" )
AddGadgetItem(GadgetNo, -1 , "andererseits" )
AddGadgetItem(GadgetNo, -1 , "dannwieder" )
EndProcedure
Enumeration FormWindow
#WindowTest
EndEnumeration
Enumeration FormGadget
#WindowTest_Text_wTest1
#WindowTest_Text_sTest
#WindowTest_Text_fFloat
#WindowTest_Text_tStringtest
#WindowTest_Button_Ok
#WindowTest_Button_Cancel
#WindowTest_Button_FontPlus
#WindowTest_Button_FontMinus
#WindowTest_Combo_wTest1
#WindowTest_String_sTest
#WindowTest_String_fFloat
#WindowTest_String_tStringtest
EndEnumeration
Procedure OpenWindowTest(x = 0, y = 0, width = 700, height = 500)
OpenWindow( #WindowTest, x, y, width, height,"Zeuges" , #PB_Window_SystemMenu| #PB_Window_SizeGadget )
StickyWindow( #WindowTest, #True)
ButtonGadget( #WindowTest_Button_Ok, 580, 260, 100, 40, "OK")
ButtonGadget( #WindowTest_Button_Cancel, 450, 260, 100, 40, "Cancel")
TextGadget( #WindowTest_Text_wTest1, 20, 20, 160, 40, "Auswahl" )
TextGadget( #WindowTest_Text_sTest, 20, 80, 160, 40, "Text" )
TextGadget( #WindowTest_Text_fFloat, 20, 140, 160, 40, "Float" )
TextGadget( #WindowTest_Text_tStringtest, 20, 200, 160, 40, "LangText" )
ComboBoxGadget( #WindowTest_Combo_wTest1, 240, 20, 440, 40 )
StringGadget( #WindowTest_String_sTest, 240, 80, 440, 40, "")
StringGadget( #WindowTest_String_fFloat, 240, 140, 440, 40, "")
EditorGadget( #WindowTest_String_tStringtest, 240, 200, 440, 40);, "")
EndProcedure
Procedure FontSetzen(wInput.w)
SetGadgetFont( #WindowTest_Combo_wTest1, FontID(wInput))
SetGadgetFont( #WindowTest_Text_wTest1, FontID(wInput))
SetGadgetFont( #WindowTest_String_sTest, FontID(wInput))
SetGadgetFont( #WindowTest_Text_sTest, FontID(wInput))
SetGadgetFont( #WindowTest_String_fFloat, FontID(wInput))
SetGadgetFont( #WindowTest_Text_fFloat, FontID(wInput))
SetGadgetFont( #WindowTest_String_tStringtest, FontID(wInput))
SetGadgetFont( #WindowTest_Text_tStringtest, FontID(wInput))
EndProcedure
Procedure.w WindowTest_Event()
Protected result.w = 0
Protected event.w
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
result = #AbbruchOhneUebernahme
Case #PB_Event_Gadget
Select EventGadget()
Case #WindowTest_String_sTest, #WindowTest_String_fFloat, #WindowTest_String_tStringtest
If EventType() = #PB_EventType_Change
Check_Input(EventGadget())
EndIf
Case #WindowTest_Button_Cancel, #WindowTest_Button_Ok
result = #AbbruchOhneUebernahme
EndSelect
EndSelect
ProcedureReturn result
EndProcedure
Procedure.w STRG_MaskeTest()
Shared wFontHeight
wFontHeight = #Font_5
Protected switch.w
OpenWindowTest(0)
FillKramComboBox( #WindowTest_Combo_wTest1)
FontSetzen(wFontHeight)
; SetGadgetText( #WindowTest_String_sTest, "Dideldum")
; SetGadgetText( #WindowTest_String_fFloat, "1.453")
; SetGadgetText( #WindowTest_String_tStringtest, "BlaBlaBlaBlaBlaBlaBlaBlaBlaBlaBlaBlaBlaBlaBlaBlaBlaBlaBlaBlaBlaBlaDideldum")
Check_Input( #WindowTest_String_sTest)
Check_Input( #WindowTest_String_fFloat)
Check_Input( #WindowTest_String_tStringtest)
Repeat
switch = WindowTest_Event()
Delay (10)
Until switch = #EndeMitDatenuebernahme Or switch = #AbbruchOhneUebernahme
CloseWindow(#WindowTest)
ProcedureReturn switch
EndProcedure
; los gehts
Fontladen()
STRG_MaskeTest( )