wenn du uns mitgeteilt hättest, das du eine Demo verwendest, dann wäre von Pelagio die Kontante: "#NULL$" nicht benutzt worden.
Er hätte dann statt dessen ein "" verwendet.
Anhand der Fehlermeldung wäre man schon von selbst darauf gekommen.
Wenn du dir dann die Mühe gemacht hättest, den Code von Pelagio mal durchzuschauen, dann wäre dir aufgefallen, das er genau dein neues Problem gelöst hat.
Ok, wie dem auch sei.
Ich gehe also davon aus, das du noch nicht soviel Erfahrung in PB hast.
Deshalb habe ich dein Code in deinem Stil erweitert.
Habe noch ein paar Dinge hinzu gefügt, damit du siehst, wie die PB-Befehle verwendet werden.
Solltest du nicht durchsteigen, kommentiere ich dir das auch im Einzelnen.
Code: Alles auswählen
Enumeration
#Window_0
EndEnumeration
;- Gadget Constants
;
Enumeration
#Button_0
#String_0
#String_1
#String_2
#String_3
#STRING_4
#TString_0
#TString_1
#TString_2
#TString_3
#TString_4
#TString_5
#STRING_INPUT
EndEnumeration
#CRLF$ = Chr(10)+Chr(13)
LoadFont(0, "Arial", 36)
LoadFont(1, "Arial", 24)
Procedure Open_Window_0()
If OpenWindow(#Window_0, 248, 16, 730, 642, "Kallewirsch Mittelwertrechner", #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar )
SetWindowColor(#Window_0,$FBE6C5)
TextGadget(#TString_0, 300, 50, 450, 250, " Kallewirsch" + #CRLF$ + "Mittelwertrechner")
SetGadgetColor(#TString_0, #PB_Gadget_BackColor,$FBE6C5)
SetGadgetFont(#TString_0, FontID(0))
ButtonGadget(#Button_0, 40, 440, 150, 50, "Berechnen")
TextGadget(#TString_1, 40, 30, 160, 20, "Zahl 1 eingeben")
SetGadgetColor(#TString_1, #PB_Gadget_BackColor,$FBE6C5)
StringGadget(#String_0, 40, 50, 160, 60, "", #PB_String_Numeric)
SetGadgetFont(#String_0, FontID(0))
TextGadget(#TString_2, 40, 120, 160, 20, "Zahl 2 eingeben")
SetGadgetColor(#TString_2, #PB_Gadget_BackColor,$FBE6C5)
StringGadget(#String_1, 40, 140, 160, 60, "", #PB_String_Numeric)
SetGadgetFont(#String_1, FontID(0))
TextGadget(#TString_3, 40, 210, 160, 20, "Zahl 3 eingeben")
SetGadgetColor(#TString_3, #PB_Gadget_BackColor,$FBE6C5)
StringGadget(#String_2, 40, 230, 160, 60, "", #PB_String_Numeric)
SetGadgetFont(#String_2, FontID(0))
TextGadget(#TString_4, 40, 300, 160, 20, "Zahl 4 eingeben")
SetGadgetColor(#TString_4, #PB_Gadget_BackColor,$FBE6C5)
StringGadget(#String_3, 40, 320, 160, 60, "", #PB_String_Numeric)
SetGadgetFont(#String_3, FontID(0))
TextGadget(#TString_5, 250, 300, 280, 20, "Mittelwert der Eingaben")
SetGadgetColor(#TString_5, #PB_Gadget_BackColor,$FBE6C5)
StringGadget(#STRING_INPUT, 250, 320, 450, 50,"", #PB_String_Numeric)
SetGadgetFont(#STRING_INPUT, FontID(1))
EndIf
Repeat
iEvent.i = WaitWindowEvent()
Select iEvent
Case #PB_Event_Gadget
Select EventGadget()
Case #Button_0
; Nur Mittelwert von 1 und 2 wird berechnet
eingabe1$=GetGadgetText(#String_0)
eingabe2$=GetGadgetText(#String_1)
eingabe3$=GetGadgetText(#String_2)
eingabe4$=GetGadgetText(#String_3)
If Len(eingabe1$)<1
MessageRequester("Fehler","Es muß eine Eingabe im Feld 1 gemacht werden")
Else
If Len(eingabe2$)<1
MessageRequester("Fehler","Zur Berechnung muß ein Wert in Feld 2 angegeben werden")
Else
Mittelwert = ValD(eingabe1$) + ValD(eingabe2$)
Teiler=2
If Len(eingabe3$)>=1
Mittelwert = ValD(eingabe1$) + ValD(eingabe2$) + ValD(eingabe3$)
Teiler=3
EndIf
If Len(eingabe3$)>=1
Mittelwert = ValD(eingabe1$) + ValD(eingabe2$) + ValD(eingabe3$) + ValD(eingabe4$)
Teiler=4
EndIf
EndIf
SetGadgetText(#STRING_INPUT,StrD(Mittelwert/Teiler))
EndIf
Case #String_0
SetGadgetColor(#String_0, #PB_Gadget_BackColor,$00FFFF)
SetGadgetColor(#String_1, #PB_Gadget_BackColor,$FFFFFF)
SetGadgetColor(#String_2, #PB_Gadget_BackColor,$FFFFFF)
SetGadgetColor(#String_3, #PB_Gadget_BackColor,$FFFFFF)
SetGadgetColor(#STRING_INPUT, #PB_Gadget_BackColor,$FFFFFF)
Case #String_1
SetGadgetColor(#String_0, #PB_Gadget_BackColor,$FFFFFF)
SetGadgetColor(#String_1, #PB_Gadget_BackColor,$00FFFF)
SetGadgetColor(#String_2, #PB_Gadget_BackColor,$FFFFFF)
SetGadgetColor(#String_3, #PB_Gadget_BackColor,$FFFFFF)
SetGadgetColor(#STRING_INPUT, #PB_Gadget_BackColor,$FFFFFF)
Case #String_2
SetGadgetColor(#String_0, #PB_Gadget_BackColor,$FFFFFF)
SetGadgetColor(#String_1, #PB_Gadget_BackColor,$FFFFFF)
SetGadgetColor(#String_2, #PB_Gadget_BackColor,$00FFFF)
SetGadgetColor(#String_3, #PB_Gadget_BackColor,$FFFFFF)
SetGadgetColor(#STRING_INPUT, #PB_Gadget_BackColor,$FFFFFF)
Case #String_3
SetGadgetColor(#String_0, #PB_Gadget_BackColor,$FFFFFF)
SetGadgetColor(#String_1, #PB_Gadget_BackColor,$FFFFFF)
SetGadgetColor(#String_2, #PB_Gadget_BackColor,$FFFFFF)
SetGadgetColor(#String_3, #PB_Gadget_BackColor,$00FFFF)
Case #STRING_INPUT
SetGadgetColor(#String_0, #PB_Gadget_BackColor,$FFFFFF)
SetGadgetColor(#String_1, #PB_Gadget_BackColor,$FFFFFF)
SetGadgetColor(#String_2, #PB_Gadget_BackColor,$FFFFFF)
SetGadgetColor(#String_3, #PB_Gadget_BackColor,$FFFFFF)
SetGadgetColor(#STRING_INPUT, #PB_Gadget_BackColor,$ABACFB)
EndSelect
EndSelect
Until iEvent = #PB_Event_CloseWindow
EndProcedure
Open_Window_0()