Ergebnis anzeigen?
Re: Ergebnis anzeigen?
Pelagio, dein Wert Teiler zählt mit +1 immer höher. Ich hatte den Wert schon bei über 1000.
Gut zu sehen, wenn man den Debugger einschaltet.
Gut zu sehen, wenn man den Debugger einschaltet.
PB5 / Spiderbasic / WB14 / Win7 / Win8.1 / Win10 / Debian 9
Re: Ergebnis anzeigen?
Hier der reine Code:
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(13)+Chr(10)
Procedure Open_Window_0()
If OpenWindow(#Window_0, 248, 16, 730, 642, "Kallewirsch Mittelwertrechner", #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar )
TextGadget(#TString_0, 300, 50, 450, 250, " Kallewirsch" + #CRLF$ + "Mittelwertrechner")
ButtonGadget(#Button_0, 40, 440, 150, 50, "Berechnen")
TextGadget(#TString_1, 40, 30, 160, 20, "Zahl 1 eingeben")
StringGadget(#String_0, 40, 50, 160, 60, "", #PB_String_Numeric)
TextGadget(#TString_2, 40, 120, 160, 20, "Zahl 2 eingeben")
StringGadget(#String_1, 40, 140, 160, 60, "", #PB_String_Numeric)
TextGadget(#TString_3, 40, 210, 160, 20, "Zahl 3 eingeben")
StringGadget(#String_2, 40, 230, 160, 60, "", #PB_String_Numeric)
TextGadget(#TString_4, 40, 300, 160, 20, "Zahl 4 eingeben")
StringGadget(#String_3, 40, 320, 160, 60, "", #PB_String_Numeric)
TextGadget(#TString_5, 250, 300, 280, 20, "Mittelwert der Eingaben")
StringGadget(#STRING_INPUT, 250, 320, 450, 50,"", #PB_String_Numeric)
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
EndIf
If Len(eingabe3$)>=1
Mittelwert = ValD(eingabe1$) + ValD(eingabe2$) + ValD(eingabe3$)
Teiler=3
EndIf
If Len(eingabe4$)>=1
Mittelwert = ValD(eingabe1$) + ValD(eingabe2$) + ValD(eingabe3$) + ValD(eingabe4$)
Teiler=4
EndIf
EndIf
If Teiler=4
SetGadgetText(#STRING_INPUT,StrD(Mittelwert/Teiler))
Else
;hier spring das PRG hinein, wenn der Wert von Teile kleiner 4 ist
;also sind nicht alle Felder ausgefüllt
MessageRequester("Fehler","Es muß in jedem Feld eine Eingabe gemacht werden")
EndIf
Teiler=0
EndSelect
EndSelect
Until iEvent = #PB_Event_CloseWindow
EndProcedure
Open_Window_0()
PB5 / Spiderbasic / WB14 / Win7 / Win8.1 / Win10 / Debian 9
- Pelagio
- Beiträge: 424
- Registriert: 11.11.2004 17:52
- Computerausstattung: AMD Ryzen 5 7600 6-Core Prozessor 3.80 GHz
16,0 GB Arbeitsspeicher
Windows 11 Pro Betriebssystem - Wohnort: Bremen
Re: Ergebnis anzeigen?
Du hast recht dysti,
das kommt davon wenn man etwas übers Bein bricht.
Natürlich muss die Variable Teiler und Mittelwert immer auf 0 gesetzt werden wenn #Button_0 gedrückt wird.
das kommt davon wenn man etwas übers Bein bricht.
Natürlich muss die Variable Teiler und Mittelwert immer auf 0 gesetzt werden wenn #Button_0 gedrückt wird.
Ohne Zeit kein Fleiß
Auf neustem Stand zu sein ist eine Kunst die nicht jeder perfektioniert [Win11Pro; PB6.20 LTS].
Auf neustem Stand zu sein ist eine Kunst die nicht jeder perfektioniert [Win11Pro; PB6.20 LTS].

-
- Beiträge: 49
- Registriert: 11.01.2010 01:22
Re: Ergebnis anzeigen?
Hallo an Dysti , Pelagio , Kaeru Gaman und natürlich auch an die anderen hier.
erstmal ein großes DANKE an euer Durchhaltevermögen
(möge es noch lange anhalten
)
@Pelagio
das mit dem +1 hab eich auch schon bemerkt......nur noch nicht kappiert was der da zusammen rechnet???
Wenn ich das dann mit dem Teiler und Mittelwert auf 0 setzen hin bekommen habe dann wäre die Berechnung ja schon mal super.
Aber was eben schön wäre ist die Geschichte von gestern:
z.B.
Zahl 1 und 3 und 5 eingeben und Berechnen drücken. Dann soll eine Meldung kommen>>>Geben Sie Zahl 2 ein<<< Berechnen drücken. Wieder soll eine Meldung kommen >>> Geben Sie Zahl 4 ein<<<.
Also es soll immer eine Meldung kommen wenn unterhalb des höchsten Eingabefeld, in dem eine Eingabe gemacht wurde, eine Zahl fehlt.
Hier meine neue Kreation mit 6 Eingabefeldern:
@Dysti
Meine Frage von gestern:
Gib mal in deinem Prg. Zahl 1 , Zahl 2 und danach Zahl 4 ein und lasse berechnen.
@Kaeru Gaman
Dies ist ja nur eine einfache "Farbendemo".
Du hast natürlich Recht, man sollte eine Frage nicht mit einem Mega-Code beantworten.....aber die Farbdemo war ok.
So....genug geschrieben für heute.
Gruß
Kallewirsch
erstmal ein großes DANKE an euer Durchhaltevermögen


@Pelagio
das mit dem +1 hab eich auch schon bemerkt......nur noch nicht kappiert was der da zusammen rechnet???
Und wie geht das?Natürlich muss die Variable Teiler und Mittelwert immer auf 0 gesetzt werden wenn #Button_0 gedrückt wird.
Wenn ich das dann mit dem Teiler und Mittelwert auf 0 setzen hin bekommen habe dann wäre die Berechnung ja schon mal super.
Aber was eben schön wäre ist die Geschichte von gestern:
z.B.
Zahl 1 und 3 und 5 eingeben und Berechnen drücken. Dann soll eine Meldung kommen>>>Geben Sie Zahl 2 ein<<< Berechnen drücken. Wieder soll eine Meldung kommen >>> Geben Sie Zahl 4 ein<<<.
Also es soll immer eine Meldung kommen wenn unterhalb des höchsten Eingabefeld, in dem eine Eingabe gemacht wurde, eine Zahl fehlt.
Hier meine neue Kreation mit 6 Eingabefeldern:
Code: Alles auswählen
Enumeration
#Window_0
EndEnumeration
;- Gadget Constants
;
Enumeration
#Button_0
#Button_Close
#String_0
#String_1
#String_2
#String_3
#String_4
#STRING_5
#TString_0
#TString_1
#TString_2
#TString_3
#TString_4
#TString_5
#TString_6
#TString_7
#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, "Der Mittelwertrechner macht" + #CRLF$ + "mich verrückt")
SetGadgetColor(#TString_0, #PB_Gadget_BackColor,$FBE6C5)
SetGadgetFont(#TString_0, FontID(0))
ButtonGadget(#Button_0, 250, 500, 150, 50, "Berechnen")
ButtonGadget(#Button_Close, 450, 500, 150, 50, "Close")
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_6, 40, 390, 160, 20, "Zahl 5 eingeben")
SetGadgetColor(#TString_6, #PB_Gadget_BackColor,$FBE6C5)
StringGadget(#String_4, 40, 410, 160, 60, "", #PB_String_Numeric)
SetGadgetFont(#String_4, FontID(0))
TextGadget(#TString_7, 40, 480, 160, 20, "Zahl 6 eingeben")
SetGadgetColor(#TString_7, #PB_Gadget_BackColor,$FBE6C5)
StringGadget(#String_5, 40, 500, 160, 60, "", #PB_String_Numeric)
SetGadgetFont(#String_5, 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)
eingabe5$=GetGadgetText(#String_4)
eingabe6$=GetGadgetText(#STRING_5)
If (eingabe1$<>"")
Teiler + 1
Mittelwert = ValD(eingabe1$)
EndIf
If (eingabe2$<>"")
Teiler + 1
Mittelwert + ValD(eingabe2$)
EndIf
If (eingabe3$<>"")
Teiler + 1
Mittelwert + ValD(eingabe3$)
EndIf
If (eingabe4$<>"")
Teiler + 1
Mittelwert + ValD(eingabe4$)
EndIf
If (eingabe5$<>"")
Teiler + 1
Mittelwert + ValD(eingabe5$)
EndIf
If (eingabe6$<>"")
Teiler + 1
Mittelwert + ValD(eingabe6$)
EndIf
SetGadgetText(#STRING_INPUT,StrD(Mittelwert/Teiler))
Case #STRING_INPUT
SetGadgetColor(#STRING_INPUT, #PB_Gadget_BackColor,$00FFFF)
Case #BUTTON_CLOSE
Quit = #True
EndSelect
EndSelect
Until iEvent = #PB_Event_CloseWindow Or Quit = #True
EndProcedure
Open_Window_0()
@Dysti
Meine Frage von gestern:
funktioniert (fast)wie macht man das wenn alle Felder ausgefüllt sein müssen bevor berechnet werden kann.
Gib mal in deinem Prg. Zahl 1 , Zahl 2 und danach Zahl 4 ein und lasse berechnen.
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(13)+Chr(10)
Procedure Open_Window_0()
If OpenWindow(#Window_0, 248, 16, 730, 642, "Kallewirsch Mittelwertrechner", #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar )
TextGadget(#TString_0, 300, 50, 450, 250, " Kallewirsch" + #CRLF$ + "Mittelwertrechner")
ButtonGadget(#Button_0, 40, 440, 150, 50, "Berechnen")
TextGadget(#TString_1, 40, 30, 160, 20, "Zahl 1 eingeben")
StringGadget(#String_0, 40, 50, 160, 60, "", #PB_String_Numeric)
TextGadget(#TString_2, 40, 120, 160, 20, "Zahl 2 eingeben")
StringGadget(#String_1, 40, 140, 160, 60, "", #PB_String_Numeric)
TextGadget(#TString_3, 40, 210, 160, 20, "Zahl 3 eingeben")
StringGadget(#String_2, 40, 230, 160, 60, "", #PB_String_Numeric)
TextGadget(#TString_4, 40, 300, 160, 20, "Zahl 4 eingeben")
StringGadget(#String_3, 40, 320, 160, 60, "", #PB_String_Numeric)
TextGadget(#TString_5, 250, 300, 280, 20, "Mittelwert der Eingaben")
StringGadget(#STRING_INPUT, 250, 320, 450, 50,"", #PB_String_Numeric)
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
EndIf
If Len(eingabe3$)>=1
Mittelwert = ValD(eingabe1$) + ValD(eingabe2$) + ValD(eingabe3$)
Teiler=3
EndIf
If Len(eingabe4$)>=1
Mittelwert = ValD(eingabe1$) + ValD(eingabe2$) + ValD(eingabe3$) + ValD(eingabe4$)
Teiler=4
EndIf
EndIf
If Teiler=4
SetGadgetText(#STRING_INPUT,StrD(Mittelwert/Teiler))
Else
;hier spring das PRG hinein, wenn der Wert von Teile kleiner 4 ist
;also sind nicht alle Felder ausgefüllt
MessageRequester("Fehler","Es muß in jedem Feld eine Eingabe gemacht werden")
EndIf
Teiler=0
EndSelect
EndSelect
Until iEvent = #PB_Event_CloseWindow
EndProcedure
Open_Window_0()
@Kaeru Gaman
Für mich war das keine Belastung....im Gegenteil ....so lernt man noch nebenher etwas anderes.diese Farben sehen nicht nur scheußlich aus, sie sind auch absolut unnötig und es besteht schlicht nicht die geringste Veranlassung einen Einsteiger mit so etwas zu belasten.
Dies ist ja nur eine einfache "Farbendemo".
Du hast natürlich Recht, man sollte eine Frage nicht mit einem Mega-Code beantworten.....aber die Farbdemo war ok.
So....genug geschrieben für heute.
Gruß
Kallewirsch
PureBasic 5.00 (Windows - x86)
-
- Beiträge: 49
- Registriert: 11.01.2010 01:22
Re: Ergebnis anzeigen?
Hi Pelagio,
Problem 1 gelöst:
Habe es rausgefunden mit Teiler und Mittelwert auf 0 setzen.
Gruß
Kallewirsch
Problem 1 gelöst:
Habe es rausgefunden mit Teiler und Mittelwert auf 0 setzen.
Gruß
Kallewirsch
PureBasic 5.00 (Windows - x86)
-
- Beiträge: 390
- Registriert: 30.08.2004 09:05
- Computerausstattung: Desktop
Windows 10 Pro x64
CPU: AMD Ryzen 5 2600 3.40 GHz
Ram: 16GB RAM
Grafik: NVIDA Geforce 1060
PB: 5.72 X86/X64 - Wohnort: Heidelberg
Re: Ergebnis anzeigen?
Meinst du sowas?
Code: Alles auswählen
Enumeration
#Window_0
EndEnumeration
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
Procedure Open_Window_0()
If OpenWindow(#Window_0, 0, 0, 730, 642, "Kallewirsch Mittelwertrechner", #PB_Window_SystemMenu | #PB_Window_ScreenCentered | #PB_Window_TitleBar )
TextGadget(#TString_0, 300, 50, 450, 250, " Kallewirsch" + Chr(13)+Chr(10) + "Mittelwertrechner")
ButtonGadget(#Button_0, 40, 440, 150, 50, "Berechnen")
TextGadget(#TString_1, 40, 30, 160, 20, "Zahl 1 eingeben")
StringGadget(#String_0, 40, 50, 160, 60, "", #PB_String_Numeric)
TextGadget(#TString_2, 40, 120, 160, 20, "Zahl 2 eingeben")
StringGadget(#String_1, 40, 140, 160, 60, "", #PB_String_Numeric)
TextGadget(#TString_3, 40, 210, 160, 20, "Zahl 3 eingeben")
StringGadget(#String_2, 40, 230, 160, 60, "", #PB_String_Numeric)
TextGadget(#TString_4, 40, 300, 160, 20, "Zahl 4 eingeben")
StringGadget(#String_3, 40, 320, 160, 60, "", #PB_String_Numeric)
TextGadget(#TString_5, 250, 300, 280, 20, "Mittelwert der Eingaben")
StringGadget(#STRING_INPUT, 250, 320, 450, 50,"", #PB_String_Numeric)
Repeat
ok = 0
Event = WaitWindowEvent()
Gadget = EventGadget()
If Event = #PB_Event_Gadget
If Gadget = #Button_0
eingabe1$=GetGadgetText(#String_0)
eingabe2$=GetGadgetText(#String_1)
eingabe3$=GetGadgetText(#String_2)
eingabe4$=GetGadgetText(#String_3)
If eingabe1$ And eingabe2$ And eingabe3$ And eingabe4$
Mittelwert = ValD(eingabe1$) + ValD(eingabe2$)
Mittelwert+ ValD(eingabe3$) + ValD(eingabe4$)
SetGadgetText(#STRING_INPUT,StrD(Mittelwert/4))
ok = 1
EndIf
If ok = 0
SetGadgetText(#STRING_INPUT,"")
MessageRequester("Fehler","Es muß in jedem Feld eine Eingabe gemacht werden")
EndIf
EndIf
EndIf
Until iEvent = #PB_Event_CloseWindow
EndIf
EndProcedure
Open_Window_0()
Windows 10 x64 Pro - PB 5.61 X64 / x32 - PB 4.6 x32
Re: Ergebnis anzeigen?
Hallo Kallewirsch,
habe die Änderungen gemacht. Habe deinen zuletzt geposteten Code genommen, damit wir eine klare Linie haben.
Die Variable SetContol steuert die Abfrage, ob irgendein Feld bei der Berechnung leer war und ist am Anfang auf 0.
Sobald ein Feld bei der Berechnung leer ist, wird die Fehlermeldung aufgerufen und SetControl auf 1 gesetzt.
Damit werden alle folgenden Fehlermeldung außer Kraft gesetzt, also nicht mehr angezeigt.
Am Anfang der Eventschleife wird SetControl wieder auf 0 gesetzt und damit wird wieder ein definierter Zustand hergestellt.
Wenn du alle Else-Abfragen wegläßt, erscheint nur eine generelle Fehlermeldung.
Dann viel Spaß beim proggen.
habe die Änderungen gemacht. Habe deinen zuletzt geposteten Code genommen, damit wir eine klare Linie haben.
Die Variable SetContol steuert die Abfrage, ob irgendein Feld bei der Berechnung leer war und ist am Anfang auf 0.
Sobald ein Feld bei der Berechnung leer ist, wird die Fehlermeldung aufgerufen und SetControl auf 1 gesetzt.
Damit werden alle folgenden Fehlermeldung außer Kraft gesetzt, also nicht mehr angezeigt.
Am Anfang der Eventschleife wird SetControl wieder auf 0 gesetzt und damit wird wieder ein definierter Zustand hergestellt.
Wenn du alle Else-Abfragen wegläßt, erscheint nur eine generelle Fehlermeldung.
Dann viel Spaß beim proggen.
Code: Alles auswählen
Enumeration
#Window_0
EndEnumeration
;- Gadget Constants
;
Enumeration
#Button_0
#Button_Close
#String_0
#String_1
#String_2
#String_3
#String_4
#STRING_5
#TString_0
#TString_1
#TString_2
#TString_3
#TString_4
#TString_5
#TString_6
#TString_7
#STRING_INPUT
EndEnumeration
;#CRLF$ = Chr(10)+Chr(13)
SetControl=0
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, "Der Mittelwertrechner macht" + #CRLF$ + "mich verrückt")
SetGadgetColor(#TString_0, #PB_Gadget_BackColor,$FBE6C5)
SetGadgetFont(#TString_0, FontID(0))
ButtonGadget(#Button_0, 250, 500, 150, 50, "Berechnen")
ButtonGadget(#Button_Close, 450, 500, 150, 50, "Close")
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_6, 40, 390, 160, 20, "Zahl 5 eingeben")
SetGadgetColor(#TString_6, #PB_Gadget_BackColor,$FBE6C5)
StringGadget(#String_4, 40, 410, 160, 60, "", #PB_String_Numeric)
SetGadgetFont(#String_4, FontID(0))
TextGadget(#TString_7, 40, 480, 160, 20, "Zahl 6 eingeben")
SetGadgetColor(#TString_7, #PB_Gadget_BackColor,$FBE6C5)
StringGadget(#String_5, 40, 500, 160, 60, "", #PB_String_Numeric)
SetGadgetFont(#String_5, 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
SetControl=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)
eingabe5$=GetGadgetText(#String_4)
eingabe6$=GetGadgetText(#STRING_5)
If (eingabe1$<>"")
Teiler + 1
Mittelwert = ValD(eingabe1$)
Else
If SetControl=0
MessageRequester("Eingabefehler","Feld 1 muß ausgefüllt werden!")
SetControl=1
EndIf
EndIf
If (eingabe2$<>"")
Teiler + 1
Mittelwert + ValD(eingabe2$)
Else
If SetControl=0
MessageRequester("Eingabefehler","Feld 2 muß ausgefüllt werden!")
SetControl=1
EndIf
EndIf
If (eingabe3$<>"")
Teiler + 1
Mittelwert + ValD(eingabe3$)
Else
If SetControl=0
MessageRequester("Eingabefehler","Feld 3 muß ausgefüllt werden!")
SetControl=1
EndIf
EndIf
If (eingabe4$<>"")
Teiler + 1
Mittelwert + ValD(eingabe4$)
Else
If SetControl=0
MessageRequester("Eingabefehler","Feld 4 muß ausgefüllt werden!")
SetControl=1
EndIf
EndIf
If (eingabe5$<>"")
Teiler + 1
Mittelwert + ValD(eingabe5$)
Else
If SetControl=0
MessageRequester("Eingabefehler","Feld 5 muß ausgefüllt werden!")
SetControl=1
EndIf
EndIf
If (eingabe6$<>"")
Teiler + 1
Mittelwert + ValD(eingabe6$)
Else
If SetControl=0
MessageRequester("Eingabefehler","Feld 6 muß ausgefüllt werden!")
SetControl=1
EndIf
EndIf
If Teiler=6
SetGadgetText(#STRING_INPUT,StrD(Mittelwert/Teiler))
Else
MessageRequester("Fehler","Es müssen alle Felder ausgefüllt werden!")
EndIf
Teiler=0
Case #STRING_INPUT
SetGadgetColor(#STRING_INPUT, #PB_Gadget_BackColor,$00FFFF)
Case #BUTTON_CLOSE
Quit = #True
EndSelect
EndSelect
Until iEvent = #PB_Event_CloseWindow Or Quit = #True
EndProcedure
Open_Window_0()
PB5 / Spiderbasic / WB14 / Win7 / Win8.1 / Win10 / Debian 9
-
- Beiträge: 390
- Registriert: 30.08.2004 09:05
- Computerausstattung: Desktop
Windows 10 Pro x64
CPU: AMD Ryzen 5 2600 3.40 GHz
Ram: 16GB RAM
Grafik: NVIDA Geforce 1060
PB: 5.72 X86/X64 - Wohnort: Heidelberg
Re: Ergebnis anzeigen?
Warum den z.b.
ist doch das selbe wie
Und das mit den Font und color ... glaube das ist bissel zu viel.
Das macht den Code nur unötieg groß und undurchsichtiger.
Für Anfänger ungeeignet.
Es soll doch herausfinden wie er das abfragen kann.
Man kann so doch auch so machen, wenn es nur gehn soll wenn alle zahlen vorhanden sind.
Das geht in einer einziege if bedinung und der code ist übersichtlicher.
Code: Alles auswählen
If (eingabe5$<>"")
Code: Alles auswählen
If eingabe5$
Das macht den Code nur unötieg groß und undurchsichtiger.
Für Anfänger ungeeignet.
Es soll doch herausfinden wie er das abfragen kann.
Man kann so doch auch so machen, wenn es nur gehn soll wenn alle zahlen vorhanden sind.
Das geht in einer einziege if bedinung und der code ist übersichtlicher.
Code: Alles auswählen
if eingabe1$ and eingabe2$ and eingabe3$ ......
Windows 10 x64 Pro - PB 5.61 X64 / x32 - PB 4.6 x32
Re: Ergebnis anzeigen?
Hallo Andreas21,
Wie dem auch sei. Dazu hat sich Kallewirsch ja schon geäußert.
Nach der neuen Fragestellung von Kallewirsch geht es so aber nicht mehr.
Desweiteren wollte ich nicht wieder etwas anderes einbringen und das was Pelagio da gemacht hat, muß Kallewirsch wohl gefallen haben, sonst hätte er es nicht übernommen.
Da hast du völlig recht. In diesem Fall würde ich das von Pelagio verwendete Format ruhig so stehen lassen, weil das einsichtiger ist."If (eingabe5$<>"")" ist doch das selbe wie "If eingabe5$"![]()
Das sollten wir nicht weiter abhandeln. Kallewirsch hat sich ja dafür entschieden, sonst hätte er den Code ohne die Color-Befehle genommen, den ich ja auch gepostet habe."Und das mit den Font und color ... glaube das ist bissel zu viel."
Wie dem auch sei. Dazu hat sich Kallewirsch ja schon geäußert.
Wenn es nur um diese Abfragen ginge, gebe ich dir auch hier völlig recht."Das geht in einer einziege if bedinung und der code ist übersichtlicher."
Nach der neuen Fragestellung von Kallewirsch geht es so aber nicht mehr.
Desweiteren wollte ich nicht wieder etwas anderes einbringen und das was Pelagio da gemacht hat, muß Kallewirsch wohl gefallen haben, sonst hätte er es nicht übernommen.
PB5 / Spiderbasic / WB14 / Win7 / Win8.1 / Win10 / Debian 9
-
- Beiträge: 49
- Registriert: 11.01.2010 01:22
Re: Ergebnis anzeigen?
Hallo zusammen,
hi Dysti und Andreas,
die Prg. von euch sind genau das was ich wollte. Respekt!
(will das auch mal können).
Wenn ich mir eure Prg. anschaue denke ich immer,......ja....genau....logisch.....aber selbst dahinter zu kommen>>>>das ist noch mein Problem.
So.....(bin ja ständig am üben) .....die nächste Frage:
Habe noch ein Fenster rein gemacht:
Berechnung vom " Mittelwert x 100 "
Habe ich das so richtig gemacht? Oder gibt es noch ne andere/bessere/richtigere Variante?
Frage 2 (mir fällt immer was ein
)
Nehmen wir an das Zahl 1 bis 6 eingegeben und berechnet wurden.
Wie lösche ich die Ergebnisfelder?
(Beispiel)
Wert von Zahl 1 bis 6 wurde berechnet.
In Eingabefeld 4 wird eine neue Eingabe gemacht>>>>>nun soll das Ergebniss vom Fenster "Mittelwert" und das Ergebnis vom Fenster "Mittelwert x100" verschwinden(inklusive der Hintergrundfarbe....Dysti, Du hast es nicht anders gewollt
), und erst nach erneutem drücken des Button "Berechnen" wieder dargestellt werden.
Also...schon mal Danke (schicke euch mal ein virtuelles Bierchen zu......)
Grüß und schönes Wochenende
Kallewirsch
hi Dysti und Andreas,
die Prg. von euch sind genau das was ich wollte. Respekt!

Wenn ich mir eure Prg. anschaue denke ich immer,......ja....genau....logisch.....aber selbst dahinter zu kommen>>>>das ist noch mein Problem.
So.....(bin ja ständig am üben) .....die nächste Frage:
Habe noch ein Fenster rein gemacht:
Berechnung vom " Mittelwert x 100 "
Habe ich das so richtig gemacht? Oder gibt es noch ne andere/bessere/richtigere Variante?
Frage 2 (mir fällt immer was ein

Nehmen wir an das Zahl 1 bis 6 eingegeben und berechnet wurden.
Wie lösche ich die Ergebnisfelder?
(Beispiel)
Wert von Zahl 1 bis 6 wurde berechnet.
In Eingabefeld 4 wird eine neue Eingabe gemacht>>>>>nun soll das Ergebniss vom Fenster "Mittelwert" und das Ergebnis vom Fenster "Mittelwert x100" verschwinden(inklusive der Hintergrundfarbe....Dysti, Du hast es nicht anders gewollt

Also...schon mal Danke (schicke euch mal ein virtuelles Bierchen zu......)
Grüß und schönes Wochenende
Kallewirsch
PureBasic 5.00 (Windows - x86)