eine erneute Frage an euch, wie kann es sein, dass dieser Code Funktioniert und der anschließende nicht ?
Ich probiere schon ein paar Tage an diesem Problem und finde keine vernünftige Antwort darauf...
Ich finde keine logischen Fehler Hoffe Ihr könnt mir helfen...
Vielen Dank schon einmal im voraus.
P.s. : Eins noch, im Programmcode gibt es bei der Ausgabe eine Zeilenverschiebung bitte nicht beachten.
Hier der funktionierende Code 1:
Code: Alles auswählen
Global Dim MyGadgetHandle(20)
#information ="Hinweis"
Procedure WaitMouse()
Repeat
Dummy=WaitWindowEvent()
Until Dummy=#PB_Event_RightClick
EndProcedure
Procedure SetzeEingabeFelder(WindowHandle,MyFontHandle)
MVar$="TEST"
FVar$="test"
If Not StartDrawing(WindowOutput(WindowHandle))
MessageRequester(#information,"Kein Zeichnen möglich!", #PB_MessageRequester_Ok|#PB_MessageRequester_Error)
End
EndIf
TxTHoehe=22
DrawingFont(FontID(MyFontHandle))
DrawingMode(#PB_2DDrawing_Transparent)
MyGadgetHandle(0)=OptionGadget(#PB_Any, 200, 200, TextWidth(MVar$)+40, TxTHoehe, MVar$ )
MyGadgetHandle(1)=OptionGadget(#PB_Any, 200+TextWidth(MVar$)+40, 200, TextWidth(FVar$)+40, TxTHoehe, FVar$)
SetGadgetState(MyGadgetHandle(0), 1)
Restore EingabeFelderData
For Dummy=2 To 4
Read.s DataEingabeFelder$
MyGadgetHandle(Dummy)=StringGadget (#PB_Any, 200, (TxTHoehe*(Dummy-1))+200, 250, TxTHoehe, DataEingabeFelder$)
SetGadgetColor(MyGadgetHandle(Dummy), #PB_Gadget_FrontColor, RGB(80, 80, 80))
; DrawText(100, (TxTHoehe*(Dummy))+205, DataEingabeFelder$,RGB(255, 255, 255),RGB(90,90,90)) ; !!!!!!!!!!!!!!!!!!!!!! Hier der Fehler deshalb die Schleife !!!!!!!!!!!!!!!!!!!!!!!!
Next
DrawText(100, 205, "Anklicken",RGB(255, 255, 255),RGB(90,90,90))
Restore EingabeFelderData
For Dummy=1 To 3 ; !!!!!!!!!!!!!!!!!!! Hier die funktionierende Schleife !!!!!!!!!!!!!!!!!!!!!
Read.s DataEingabeFelder$
DrawText(100, (TxTHoehe*(Dummy))+205, DataEingabeFelder$,RGB(255, 255, 255),RGB(90,90,90))
Next
SetActiveGadget(MyGadgetHandle(2))
StopDrawing()
DataSection
EingabeFelderData:
Data.s "Erster","Zweiter","Dritter" ; Etc.
EndDataSection
EndProcedure
MyHauptFensterHandle=OpenWindow(#PB_Any,0, 0, 800, 600, "Irgendetwas",#PB_Window_SystemMenu) ;#PB_Window_Maximize|
If Not MyHauptFensterHandle
MessageRequester(#information,"Fehler beim Öffnen vom Fenster", #PB_MessageRequester_Ok|#PB_MessageRequester_Error)
End
EndIf
MyFontHandle=LoadFont(#PB_Any, "Arial", 12)
If MyFontHandle
SetGadgetFont(#PB_Default, FontID(MyFontHandle)) ; Arial Zeichensatz als neuen Standard festlegen
Else
MessageRequester(#information,"Fehler beim Öffnen des Zeichensatzes", #PB_MessageRequester_Ok|#PB_MessageRequester_Error)
End
EndIf
SetWindowColor(MyHauptFensterHandle, RGB(99, 99, 99))
SetzeEingabeFelder(MyHauptFensterHandle,MyFontHandle)
WaitMouse() ; Rightclick to exit
End
https://www.magentacloud.de/lnk/hBrp0jYk
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Hier der nicht funktionierende Code 2:
Code: Alles auswählen
Global Dim MyGadgetHandle(20)
#information ="Hinweis"
Procedure WaitMouse()
Repeat
Dummy=WaitWindowEvent()
Until Dummy=#PB_Event_RightClick
EndProcedure
Procedure SetzeEingabeFelder(WindowHandle,MyFontHandle)
MVar$="TEST"
FVar$="test"
If Not StartDrawing(WindowOutput(WindowHandle))
MessageRequester(#information,"Kein Zeichnen möglich!", #PB_MessageRequester_Ok|#PB_MessageRequester_Error)
End
EndIf
TxTHoehe=22
DrawingFont(FontID(MyFontHandle))
DrawingMode(#PB_2DDrawing_Transparent)
MyGadgetHandle(0)=OptionGadget(#PB_Any, 200, 200, TextWidth(MVar$)+40, TxTHoehe, MVar$ )
MyGadgetHandle(1)=OptionGadget(#PB_Any, 200+TextWidth(MVar$)+40, 200, TextWidth(FVar$)+40, TxTHoehe, FVar$)
SetGadgetState(MyGadgetHandle(0), 1)
Restore EingabeFelderData
For Dummy=2 To 4
Read.s DataEingabeFelder$
MyGadgetHandle(Dummy)=StringGadget (#PB_Any, 200, (TxTHoehe*(Dummy-1))+200, 250, TxTHoehe, DataEingabeFelder$)
SetGadgetColor(MyGadgetHandle(Dummy), #PB_Gadget_FrontColor, RGB(80, 80, 80))
DrawText(100, (TxTHoehe*(Dummy))+205, DataEingabeFelder$,RGB(255, 255, 255),RGB(90,90,90)) ; !!!!!!!!!Hier der Fehler .. siehe GfX !!!!!!!!!!!!!!!!!!!
Next
DrawText(100, 205, "Anklicken",RGB(255, 255, 255),RGB(90,90,90))
Restore EingabeFelderData
For Dummy=1 To 3
Read.s DataEingabeFelder$
; DrawText(100, (TxTHoehe*(Dummy))+205, DataEingabeFelder$,RGB(255, 255, 255),RGB(90,90,90)) ; !!!!!!!!!!!!!!!!!!!!!!!!! Hier nur ausge - "Rem't" damit der obere Fehler ersichtlich ist !!!!!!!!
Next
SetActiveGadget(MyGadgetHandle(2))
StopDrawing()
DataSection
EingabeFelderData:
Data.s "Erster","Zweiter","Dritter" ; Etc.
EndDataSection
EndProcedure
MyHauptFensterHandle=OpenWindow(#PB_Any,0, 0, 800, 600, "Irgendetwas",#PB_Window_SystemMenu) ;#PB_Window_Maximize|
If Not MyHauptFensterHandle
MessageRequester(#information,"Fehler beim Öffnen vom Fenster", #PB_MessageRequester_Ok|#PB_MessageRequester_Error)
End
EndIf
MyFontHandle=LoadFont(#PB_Any, "Arial", 12)
If MyFontHandle
SetGadgetFont(#PB_Default, FontID(MyFontHandle)) ; Arial Zeichensatz als neuen Standard festlegen
Else
MessageRequester(#information,"Fehler beim Öffnen des Zeichensatzes", #PB_MessageRequester_Ok|#PB_MessageRequester_Error)
End
EndIf
SetWindowColor(MyHauptFensterHandle, RGB(99, 99, 99))
SetzeEingabeFelder(MyHauptFensterHandle,MyFontHandle)
WaitMouse() ; Rightclick to exit
End
Auch hier das passende Bild dazu:
https://www.magentacloud.de/lnk/skLpUvaO