Seite 2 von 2

Re: Warten bis Enter taste gedrückt wurde

Verfasst: 25.08.2011 11:38
von Bastl1993
Nö nicht faul, nur'n vorgesetztn der bisschen viel verlangt für das,dass man vor nem Jahr mal des "HelloWorld" Programm in C++ probiert hat, und jz Berechnungsprogramme sehn will. :o

Klar ist noch nicht ganz fertig nur wo muss ich

Code: Alles auswählen

Case #PB_Event_Menu
        Select EventMenu()
          Case #ShortcutReturn
            BerechnenPound()
        EndSelect
hinpacken damit er nicht sofort rechnet sondern eben erst wenn man auf Enter drückt ?

Code: Alles auswählen

EnableExplicit

Enumeration ; Windows
  #MainWindow
EndEnumeration
Enumeration ; Gadgets
  #myInput
  #myButton
  #myOutput
  #myButton1
  #myButton2
  #myButton3
  #myButton4
  #myButton5
  #myButton6
  #myButton7
  #myButton8
  #myButton9
  #myButton10
  #myButton11
  #myButton12
  #myButton13
  #myButton14
  #myButton15
  #myButton16
  #myButton17
  #myButton18
  #myButton19
  #myButton20
  #myButton21
  #myButton22
  #myButton23
  #myButton24
  #myButton25
  #myButton26
  #myButton27
  #myButton28
  #myButton29
  #myButton30
  #myButton31
  #myButton32
EndEnumeration
Enumeration ; Menu-/ToolbarItems
  #ShortcutReturn
EndEnumeration

Define WWE, Quit

Procedure BerechnenInch()
  
  Protected E.f
  
  E = ValF(GetGadgetText(#myInput))
  
  AddGadgetItem(#myOutput, -1, "------------------")
  AddGadgetItem(#myOutput, -1, "Inch=" + StrF(E))
  AddGadgetItem(#myOutput, -1, "MM=" + StrF(E*25.4))
  AddGadgetItem(#myOutput, -1, "------------------")
  
  SetGadgetState(#myOutput, CountGadgetItems(#myOutput) - 1)
  
EndProcedure

Procedure BerechnenPound()
  
  Protected E.f
  
  E = ValF(GetGadgetText(#myInput))
  
  AddGadgetItem(#myOutput, -1, "-------------------")
  AddGadgetItem(#myOutput, -1, "Pound=" + StrF(E))
  AddGadgetItem(#myOutput, -1, "KG=" + StrF(E*0.4536))
  AddGadgetItem(#myOutput, -1, "-------------------")
  
  SetGadgetState(#myOutput, CountGadgetItems(#myOutput) -1)
  
EndProcedure


If OpenWindow(#MainWindow, #PB_Ignore, #PB_Ignore, 500, 830, "Umrechnung                               CTHB")
  
  StringGadget(#myInput, 20,450, 330,20, "")
  ButtonGadget(#myButton, 370,450, 80, 20, "Übernehmen")
  ListViewGadget(#myOutput, 20,500, 430,300)
  ButtonGadget(#myButton1,20,20,150,20,"Inch in MM")
  ButtonGadget(#myButton2,20,45,150,20,"Pound in KG")
  ButtonGadget(#myButton3,20,70,150,20,"Us Gall. in Liter")
  ButtonGadget(#myButton4,20,95,150,20,"Fahrenheit in Celsius")
  ButtonGadget(#myButton5,20,120,150,20,"Sqaure feet in m²")
  ButtonGadget(#myButton6,20,145,150,20,"Nautische Meile in Kilometer")
  ButtonGadget(#myButton7,20,170,150,20,"Meilen in Kilometer")
  ButtonGadget(#myButton8,20,195,150,20,"PSI in BAR")
  ButtonGadget(#myButton9,20,220,150,20,"Pound-force (LBF) in Newton")
  ButtonGadget(#myButton10,20,245,150,20,"Imperial Pund (ILB in NM")
  ButtonGadget(#myButton11,20,270,150,20,"Imperial Gallons in Liter")
  ButtonGadget(#myButton12,20,295,150,20,"Unze in Gramm")
  ButtonGadget(#myButton13,20,320,150,20,"TORR in Millibar")
  ButtonGadget(#myButton14,20,345,150,20,"KCAL in KJ")
  ButtonGadget(#myButton15,20,370,150,20,"British thermal unit (BTU in KJ")
  ButtonGadget(#myButton16,20,395,150,20,"Force Pound (FLB) in NM")
  ButtonGadget(#myButton17,300,20,150,20,"MM in Inch")
  ButtonGadget(#myButton18,300,45,150,20,"KG in Pound")
  ButtonGadget(#myButton19,300,70,150,20,"Liter in US Gallion")
  ButtonGadget(#myButton20,300,95,150,20,"Celsius in Fahrenheit")
  ButtonGadget(#myButton21,300,120,150,20,"M² in Square Feet")
  ButtonGadget(#myButton22,300,145,150,20,"Kilometer in Nautische Meile")
  ButtonGadget(#myButton23,300,170,150,20,"Kilometer in Meilen")
  ButtonGadget(#myButton24,300,195,150,20,"BAR in PSI")
  ButtonGadget(#myButton25,300,220,150,20,"Newton in Pound-force (LBF)")
  ButtonGadget(#myButton26,300,245,150,20,"NM in Imperial Pund (ILB)")
  ButtonGadget(#myButton27,300,270,150,20,"Liter in Imperial Gallons")
  ButtonGadget(#myButton28,300,295,150,20,"Gramm in Unze")
  ButtonGadget(#myButton29,300,320,150,20,"Millibar in TORR")
  ButtonGadget(#myButton30,300,345,150,20,"KJ in KCAL")
  ButtonGadget(#myButton31,300,370,150,20,"KJ in British thermal unit (BTU)")
  ButtonGadget(#myButton32,300,395,150,20,"NM in Force Pound (FLB)")
  
  AddKeyboardShortcut(#MainWindow, #PB_Shortcut_Return, #ShortcutReturn)
  
  Repeat
    
    WWE = WaitWindowEvent()
    
    Select WWE
        
      Case #PB_Event_Gadget
        Select EventGadget()
          Case #myButton1
            BerechnenInch()
          Case #myButton2
            BerechnenPound()
        EndSelect
        
      Case #PB_Event_Menu
        Select EventMenu()
          Case #ShortcutReturn
            BerechnenPound()
        EndSelect
        
      Case #PB_Event_CloseWindow
        Select EventWindow()
          Case #MainWindow
            Quit = #True
        EndSelect
        
    EndSelect
    
  Until Quit = #True
  
EndIf

Re: Warten bis Enter taste gedrückt wurde

Verfasst: 25.08.2011 12:03
von Kiffi
Bastl1993 hat geschrieben:damit er nicht sofort rechnet sondern eben erst wenn man auf Enter drückt ?
ändere Deine Berechnungsart-Buttons in OptionGadgets um. Beim Klick auf den Berechnen-Button
(oder bei Return) fragst Du mit GetGadgetState() die aktuell ausgewählte Berechnungsart ab und
verzweigst in die entsprechende Prozedur.

Gernell ist das Design Deines Programmcodes recht umständlich. Da kann man noch einiges
optimieren. Allerdings ist das für einen Programmanfänger schon OK so.

Grüße ... Kiffi

Edit:

Code: Alles auswählen

EnableExplicit

Enumeration ; Windows
  #MainWindow
EndEnumeration
Enumeration ; Gadgets
  #myInput
  #myButton
  #myOutput
  #myButton1
  #myButton2
  #myButton3
  #myButton4
  #myButton5
  #myButton6
  #myButton7
  #myButton8
  #myButton9
  #myButton10
  #myButton11
  #myButton12
  #myButton13
  #myButton14
  #myButton15
  #myButton16
  #myButton17
  #myButton18
  #myButton19
  #myButton20
  #myButton21
  #myButton22
  #myButton23
  #myButton24
  #myButton25
  #myButton26
  #myButton27
  #myButton28
  #myButton29
  #myButton30
  #myButton31
  #myButton32
EndEnumeration
Enumeration ; Menu-/ToolbarItems
  #ShortcutReturn
EndEnumeration

Define WWE, Quit

Procedure BerechnenInch()
  
  Protected E.f
  
  E = ValF(GetGadgetText(#myInput))
  
  AddGadgetItem(#myOutput, -1, "------------------")
  AddGadgetItem(#myOutput, -1, "Inch=" + StrF(E))
  AddGadgetItem(#myOutput, -1, "MM=" + StrF(E*25.4))
  AddGadgetItem(#myOutput, -1, "------------------")
  
  SetGadgetState(#myOutput, CountGadgetItems(#myOutput) - 1)
  
EndProcedure

Procedure BerechnenPound()
  
  Protected E.f
  
  E = ValF(GetGadgetText(#myInput))
  
  AddGadgetItem(#myOutput, -1, "-------------------")
  AddGadgetItem(#myOutput, -1, "Pound=" + StrF(E))
  AddGadgetItem(#myOutput, -1, "KG=" + StrF(E*0.4536))
  AddGadgetItem(#myOutput, -1, "-------------------")
  
  SetGadgetState(#myOutput, CountGadgetItems(#myOutput) -1)
  
EndProcedure

Procedure Berechnen()
  
  If     GetGadgetState(#myButton1) = 1 ; Inch in MM
    BerechnenInch()  
    
  ElseIf GetGadgetState(#myButton2) = 1 ; Pound in KG
    BerechnenPound()
    
  ; ElseIf ...
    
  EndIf
  
EndProcedure

If OpenWindow(#MainWindow, #PB_Ignore, #PB_Ignore, 500, 830, "Umrechnung                               CTHB")
  
  StringGadget(#myInput, 20,450, 330,20, "")
  ButtonGadget(#myButton, 370,450, 80, 20, "Übernehmen")
  ListViewGadget(#myOutput, 20,500, 430,300)
  OptionGadget(#myButton1,20,20,150,20,"Inch in MM")
  OptionGadget(#myButton2,20,45,150,20,"Pound in KG")
  OptionGadget(#myButton3,20,70,150,20,"Us Gall. in Liter")
  OptionGadget(#myButton4,20,95,150,20,"Fahrenheit in Celsius")
  OptionGadget(#myButton5,20,120,150,20,"Sqaure feet in m²")
  OptionGadget(#myButton6,20,145,150,20,"Nautische Meile in Kilometer")
  OptionGadget(#myButton7,20,170,150,20,"Meilen in Kilometer")
  OptionGadget(#myButton8,20,195,150,20,"PSI in BAR")
  OptionGadget(#myButton9,20,220,150,20,"Pound-force (LBF) in Newton")
  OptionGadget(#myButton10,20,245,150,20,"Imperial Pund (ILB in NM")
  OptionGadget(#myButton11,20,270,150,20,"Imperial Gallons in Liter")
  OptionGadget(#myButton12,20,295,150,20,"Unze in Gramm")
  OptionGadget(#myButton13,20,320,150,20,"TORR in Millibar")
  OptionGadget(#myButton14,20,345,150,20,"KCAL in KJ")
  OptionGadget(#myButton15,20,370,150,20,"British thermal unit (BTU in KJ")
  OptionGadget(#myButton16,20,395,150,20,"Force Pound (FLB) in NM")
  OptionGadget(#myButton17,300,20,150,20,"MM in Inch")
  OptionGadget(#myButton18,300,45,150,20,"KG in Pound")
  OptionGadget(#myButton19,300,70,150,20,"Liter in US Gallion")
  OptionGadget(#myButton20,300,95,150,20,"Celsius in Fahrenheit")
  OptionGadget(#myButton21,300,120,150,20,"M² in Square Feet")
  OptionGadget(#myButton22,300,145,150,20,"Kilometer in Nautische Meile")
  OptionGadget(#myButton23,300,170,150,20,"Kilometer in Meilen")
  OptionGadget(#myButton24,300,195,150,20,"BAR in PSI")
  OptionGadget(#myButton25,300,220,150,20,"Newton in Pound-force (LBF)")
  OptionGadget(#myButton26,300,245,150,20,"NM in Imperial Pund (ILB)")
  OptionGadget(#myButton27,300,270,150,20,"Liter in Imperial Gallons")
  OptionGadget(#myButton28,300,295,150,20,"Gramm in Unze")
  OptionGadget(#myButton29,300,320,150,20,"Millibar in TORR")
  OptionGadget(#myButton30,300,345,150,20,"KJ in KCAL")
  OptionGadget(#myButton31,300,370,150,20,"KJ in British thermal unit (BTU)")
  OptionGadget(#myButton32,300,395,150,20,"NM in Force Pound (FLB)")
  
  AddKeyboardShortcut(#MainWindow, #PB_Shortcut_Return, #ShortcutReturn)
  
  Repeat
    
    WWE = WaitWindowEvent()
    
    Select WWE
        
      Case #PB_Event_Gadget
        Select EventGadget()
          Case #myButton
            Berechnen()
        EndSelect
        
      Case #PB_Event_Menu
        Select EventMenu()
          Case #ShortcutReturn
            Berechnen()
            
        EndSelect
        
      Case #PB_Event_CloseWindow
        Select EventWindow()
          Case #MainWindow
            Quit = #True
        EndSelect
        
    EndSelect
    
  Until Quit = #True
  
EndIf

Re: Warten bis Enter taste gedrückt wurde

Verfasst: 25.08.2011 12:39
von Bastl1993
Herzlichen Dank

Hast mir einige Kopfschmerzen ersparrt :wink:

Gruß Bastl