Komma

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Thomas
Beiträge: 893
Registriert: 06.07.2006 19:24
Wohnort: Regensburg
Kontaktdaten:

Komma

Beitrag von Thomas »

Wie muss ich das nachfolgende Programm abändern, dass wenn man in StringGadget1 eine Zahl eingibt und dann den Button "Berrechnen" drückt in StringGadget2 eine Zahl mit 2 Stellen hinter dem Komma angezeigt wird? Wenn möglich möchte ich in StringGadget1 auch eine Kommazahl eingeben können. :)

Code: Alles auswählen

;PB3.94
; ############################
; #                          #
; # Umrechnen von cm in Zoll #
; #                          #
; ############################

  #String1 = 1
  #String2 = 2
  #Button1 = 3
  #Button2 = 4 

  Procedure ButtonGadget1_OnClick()
    If GetGadgetText(#String1)= ""
     MessageRequester("Info","Bitte Zahl eingeben",0)
    Else
     ErstesString.f = Val(GetGadgetText(#String1))
     ZweitesString.f = 2.54
     Ergebnis.f = ErstesString.f * ZweitesString.f
     SetGadgetText(#String2, Str(Ergebnis.f))
    EndIf
  EndProcedure

If OpenWindow(0, 362, 234, 300, 300, #PB_Window_SystemMenu, "Umrechnung")

 If CreateGadgetList(WindowID())
  
 StringGadget     (1, 75, 109, 150,20,  "Bitte geben Sie einen Wert ein",#PB_Text_Center)
 StringGadget     (2, 75, 155, 150, 20, "Ausgabe in Zoll",#PB_Text_Center)
 ButtonGadget     (3, 110, 215, 80, 24, "Berechnen")
 ButtonGadget     (4, 110, 267, 80, 24, "Beenden")
 
 EndIf

 Repeat
  EventID.l = WaitWindowEvent()

    LoadFont (1, "Comic Sans MS", 15)
    LoadFont (2, "Arial", 10)
      
   If StartDrawing(WindowOutput())
    DrawingMode(1)
    DrawingFont(UseFont(1))
    Locate(90, 5)
    DrawText("Umrechnung")
    DrawingFont(UseFont(1))
    Locate(75, 30)
    DrawText("von  cm  in  Zoll ")
    DrawingFont(UseFont(2))
    Locate(103, 89)
    DrawText("Eingabe in cm")
    DrawingFont(UseFont(2))
    Locate(103, 135)
    DrawText("Ausgabe in Zoll")
    StopDrawing()
   EndIf
   
   If EventID = #PB_EventGadget
     Select EventGadgetID()             
      
      Case 3
       ButtonGadget1_OnClick()
       
      Case 4
       EventID = #PB_EventCloseWindow
       
     EndSelect
   EndIf
  Until EventID = #PB_EventCloseWindow 
EndIf

End 
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Beitrag von bobobo »

hab die Änderungen mal kenntlich gemacht

Code: Alles auswählen

;PB3.94  .. PB4 hohl ich mir gleich morgen nach dem Aufstehen 
; ############################
; #                          #
; # Umrechnen von cm in Zoll #
; #                          #
; ############################

#String1 = 1
#String2 = 2
#Button1 = 3
#Button2 = 4

Procedure ButtonGadget1_OnClick()
  If GetGadgetText(#String1)= ""
    MessageRequester("Info","Bitte Zahl eingeben",0)
  Else
    ErstesString.f = ValF(GetGadgetText(#String1))  ;<<<<<<<  
    ZweitesString.f = 2.54
    Ergebnis.f = ErstesString.f * ZweitesString.f
    SetGadgetText(#String2, StrF(Ergebnis.f,2))   ;<<<<<<<<<<<
  EndIf
EndProcedure

If OpenWindow(0, 362, 234, 300, 300, #PB_Window_SystemMenu, "Umrechnung")
  
  If CreateGadgetList(WindowID())
    
    StringGadget     (1, 75, 109, 150,20,  "Bitte geben Sie einen Wert ein",#PB_Text_Center)
    StringGadget     (2, 75, 155, 150, 20, "Ausgabe in Zoll",#PB_Text_Center)
    ButtonGadget     (3, 110, 215, 80, 24, "Berechnen")
    ButtonGadget     (4, 110, 267, 80, 24, "Beenden")
    
  EndIf
  
  Repeat
    EventID.l = WaitWindowEvent()
    
    LoadFont (1, "Comic Sans MS", 15)
    LoadFont (2, "Arial", 10)
    
    If StartDrawing(WindowOutput())
      DrawingMode(1)
      DrawingFont(UseFont(1))
      Locate(90, 5)
      DrawText("Umrechnung")
      DrawingFont(UseFont(1))
      Locate(75, 30)
      DrawText("von  cm  in  Zoll ")
      DrawingFont(UseFont(2))
      Locate(103, 89)
      DrawText("Eingabe in cm")
      DrawingFont(UseFont(2))
      Locate(103, 135)
      DrawText("Ausgabe in Zoll")
      StopDrawing()
    EndIf
    
    If EventID = #PB_EventGadget
      Select EventGadgetID()
        
      Case 3
        ButtonGadget1_OnClick()
        
      Case 4
        EventID = #PB_EventCloseWindow
        
      EndSelect
    EndIf
  Until EventID = #PB_EventCloseWindow
EndIf

End
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Benutzeravatar
Thomas
Beiträge: 893
Registriert: 06.07.2006 19:24
Wohnort: Regensburg
Kontaktdaten:

Beitrag von Thomas »

Danke für deinen tipp!!!!!!!! :D
Antworten