Ergebnis anzeigen?

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Ergebnis anzeigen?

Beitrag von ts-soft »

@dysti

Code: Alles auswählen

#CRLF$ = Chr(13)+Chr(10)
und nicht anders herum!
Kallewirsch
Beiträge: 49
Registriert: 11.01.2010 01:22

Re: Ergebnis anzeigen?

Beitrag von Kallewirsch »

hi dysti,
Ich gehe also davon aus, das du noch nicht soviel Erfahrung in PB hast.
und ob ich Erfahrung habe, bin Chefprogrammierer bei Microsoft,......neee......natürlich habe ich keinen Durchblick, kenne Pure Basic jetzt vielleicht gerade mal ca. 4Wochen (effektiv ein paar Stunden). Darum Frage ich auch viel.....und für das, dass ich mit nem Consolen-Fenster angefangen habe bin ich doch schon weit gekommen (oder nicht?)
Fazit: mir macht Pure Basic Spaß....lieber PureBasic als Sudoku!!!

Trodzdem.......Danke an Dich......"deinen Code muss ich nun erstmal zerstückeln und verstehen.

Und dann wirst Du weiter belästigt :mrgreen:

Gruß
Kallewirsch
PureBasic 5.00 (Windows - x86)
Benutzeravatar
dysti
Beiträge: 656
Registriert: 10.02.2006 18:34
Wohnort: Schlicktown

Re: Ergebnis anzeigen?

Beitrag von dysti »

@ts-soft: ist ja ok, bei einer direkten Druckeransteuerung wäre das voll in die Hose gegangen.
Die richtige Reihenfolge ergibt sich ja schon aus der Zeichenfolge. Einfach gepennt.

@Kallewirsch: na denn viel Spaß.
Schaue dir auch den Unterschied zu Pelagio an. Nur so kann man programmieren lernen.
Evtl. den Code ausdrucken und dann daneben schreiben, was der Befehl bewirkt.
Dann schau dir die Schleifen an. Was macht welche Schleife was zu welchem Zeitpunkt.
Dann die Abfragen, zb. die For-Schleife von Pelagio oder lasse mal das Programm vom mir laufen
und gebe z. B. im ersten Eingabefeld mal nichts ein, nur im Zweiten! Dann lasse berechnen. Was passiert?
Dann schaue den Code und versuche dann die Abfrage zu verstehen.
In etwa so würde ich vorgehen.

.... und ruhig fragen.
PB5 / Spiderbasic / WB14 / Win7 / Win8.1 / Win10 / Debian 9
Kallewirsch
Beiträge: 49
Registriert: 11.01.2010 01:22

Re: Ergebnis anzeigen?

Beitrag von Kallewirsch »

Hi an alle und an Dysti,

hab doch tatsächlich einen Fehler gefunden :) es muss in Zeile 96 so heißen " If Len(eingabe4$)>=1". Habs aber nur gefunden weil das Ergebnis falsch war.

So....nun aber......ich darf ja fragen......

Was bewirkt diese zeile 108 oder 114 ? -----SetGadgetColor(#STRING_INPUT, #PB_Gadget_BackColor,$FFFFFF)

Hat ja was mit den Farben zu tun....aber ich seh keine Anderung.

Tschüßn
Kallewirsch
PureBasic 5.00 (Windows - x86)
Benutzeravatar
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?

Beitrag von Pelagio »

Hallo Kallewirsch,

SetGadgetColor wurde erst mit Version PB4 eingeführt, ich weiß jetzt nicht mit welcher Version du arbeitest.
Ansonsten hast Du recht, der Befehl ändert die Farbliche Darstellung, je nach Konstante den Hintergrund oder auch den Text.
Ohne Zeit kein Fleiß
Auf neustem Stand zu sein ist eine Kunst die nicht jeder perfektioniert [Win11Pro; PB6.20 LTS]. :allright:
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Re: Ergebnis anzeigen?

Beitrag von Kaeru Gaman »

in nem Lehrbeispiel für Anfänger SetGadgetColor? :?
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Kallewirsch
Beiträge: 49
Registriert: 11.01.2010 01:22

Re: Ergebnis anzeigen?

Beitrag von Kallewirsch »

Hallo zusammen,

(ich werd noch ganz verrückt)

Wollte das Prg. von Dysti etwas abändern.....aber wie immer..... :bluescreen:

Wollte folgendes machen:

Eingabefelder Zahl 1-6
z.B.
Wenn Zahl 2 eingegeben wird ohne Zahl 1 einzugeben und "Berechnen" gedrückt wird soll der MessageRequester kommen mit der Fehlermeldung. (das geht ja schon)

Genauso funktioniert es auch bei Eingabe von Zahl 3 wenn die Werte für Zahl1 oder Zahl 2 fehlen.

Nun meine Fragen:
Wenn Zahl 1 eingegeben wird und "Berechnen" gedrückt wird soll Zahl 1 als Ergebnis angezeigt werden. Weiß nicht wie ich das machen soll.

Wie bekomme ich ne Meldung (MessageRequester) wenn Zahl 6 eingegeben wird und z.B. Zahl 4 fehlt? (Es soll immer eine Meldung kommen wenn eine niedrigeres Zahlenfeld leer ist und man "Berechnen" will).

und die letzte Frage:
wie macht man das wenn alle Felder ausgefüllt sein müssen bevor berechnet werden kann.

hoffe ich habe mich verständlich ausgedrückt.

Und bevor ich wieder Schimpfe bekomme:
PureBasic 4.41 (Windows - x86) DEMO!!!!!!

Hoffe Ihr könnt mir mal wieder etwas Hilfe geben.

Bedanke mich schon mal bei euch!

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(eingabe4$)>=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()
PureBasic 5.00 (Windows - x86)
Benutzeravatar
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?

Beitrag von Pelagio »

Hallo Kallewirsch,

leider habe ich jetzt nicht viel Zeit aber das Problem liegt in deiner IF Abfrage, ich habe dein Beispiel etwas modifiziert und hoffe das Du aus der Änderung das Problem selber erkennst.

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 (eingabe1$<>"")
               Teiler + 1
               Mittelwert + ValD(eingabe1$)
            EndIf
            If (eingabe2$<>"")
               Teiler + 1
               Mittelwert + ValD(eingabe2$)
            EndIf
            If (eingabe1$<>"")
               Teiler + 1
               Mittelwert + ValD(eingabe3$)
            EndIf
            If (eingabe2$<>"")
               Teiler + 1
               Mittelwert + ValD(eingabe4$)
            EndIf      
            SetGadgetText(#STRING_INPUT,StrD(Mittelwert/Teiler))
           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()
Ohne Zeit kein Fleiß
Auf neustem Stand zu sein ist eine Kunst die nicht jeder perfektioniert [Win11Pro; PB6.20 LTS]. :allright:
Benutzeravatar
dysti
Beiträge: 656
Registriert: 10.02.2006 18:34
Wohnort: Schlicktown

Re: Ergebnis anzeigen?

Beitrag von dysti »

Hey,
habe den Code jetzt so geändert, das eine Berechnung nur dann gemacht wird, wenn alle Felder einen Eintrag vorweisen.
Dieses verstehe ich nicht : "wenn Zahl 6 eingegeben wird und z.B. Zahl 4 fehlt?"
Wir haben doch vier Eingabefelder und die werden abgefragt, ob ein Wert dort eingegeben wurde.

Zu den SetGadgetColor-Befehlen. Was wird hier gemacht?
Wenn du das Prg ablaufen läßt, siehst du, das ein Feld (Hintergrund / #PB_Gadget_BackColor) bei der Eingabe gelb ist.
Das bedeutet, bei der Eingabe hat das Feld den Fokus und ist aktiv und wird somit gelb ($00FFFF),
erhält das nächste Eingabefeld den Fokus, dann muß das vorherige Feld wieder auf weiß gesetzt werden ($FFFFFF)
usw.. Es ist immer ein Wechselspiel.

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)

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
            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
           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()
PB5 / Spiderbasic / WB14 / Win7 / Win8.1 / Win10 / Debian 9
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Re: Ergebnis anzeigen?

Beitrag von Kaeru Gaman »

also bei aller Liebe...
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.
noch dazu hast du keine Garantie, dass sie mit jedem Skin funktionieren, also vielleicht sieht dein Adressat sie garnicht.

oder zu deutsch: sag mal was soll der Quatsch? /:->
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Antworten