Seite 2 von 2

Verfasst: 15.08.2007 16:41
von Coder Pinhead
Kiffi das geht nicht :/

Beispiel Skript:

Code: Alles auswählen

;{- Enumerations / DataSections
;{ Windows
Enumeration
  #Window_0
EndEnumeration
;}
;{ Gadgets
Enumeration
  #Button_0
  #CheckBox_1
  #String_2
  #ComboBox_3
EndEnumeration
;}
Define.l Event, EventWindow, EventGadget, EventType, EventMenu
;}
Procedure OpenWindow_Window_0()
  If OpenWindow(#Window_0, 392, 181, 235, 91, "Window_0", #PB_Window_SystemMenu|#PB_Window_SizeGadget|#PB_Window_MinimizeGadget|#PB_Window_TitleBar)
    If CreateGadgetList(WindowID(#Window_0))
      ButtonGadget(#Button_0, 15, 54, 100, 30, "Knopf")
      CheckBoxGadget(#CheckBox_1, 15, 5, 40, 20, "Text")
      StringGadget(#String_2, 120, 55, 100, 30, "Output")
      ComboBoxGadget(#ComboBox_3, 15, 28, 100, 100)
      AddGadgetItem(#ComboBox_3,-1,"-----")
      AddGadgetItem(#ComboBox_3,-1,"Funktion 1")
      AddGadgetItem(#ComboBox_3,-1,"Funktion 2")
      SetGadgetState(#ComboBox_3,0)
    EndIf
  EndIf
EndProcedure

OpenWindow_Window_0()

;{- Event loop
Repeat
  Event = WaitWindowEvent()
  Select Event
    ; ///////////////////
    Case #PB_Event_Gadget
      EventGadget = EventGadget()
      EventType = EventType()
      If EventGadget = #Button_0
        Select EventGadget()
          Case #Button_0
            
            Select GetGadgetText(#ComboBox_3)
              
              Case "Funktion 1"
                Ausgabe.s = "Alpha"
                
              Case "Funktion 2"
                Ausgabe.s = "Beta"
                
            EndSelect
            
           SetGadgetText(#String_2,"Auswahl: " + Ausgabe)
        EndSelect
      ElseIf EventGadget = #CheckBox_1
      ElseIf EventGadget = #String_2
      ElseIf EventGadget = #ComboBox_3
      EndIf
      ; ////////////////////////
    Case #PB_Event_CloseWindow
      EventWindow = EventWindow()
      If EventWindow = #Window_0
        CloseWindow(#Window_0)
        Break
      EndIf
  EndSelect
ForEver
;
;}
Also wie kriege ich jetzt noch nen Text in meinen Output?
Beta und Gamma (Gamma soll die Checkbox sein!)

EDIT:

Danke Kiffi :)

Hat sich erledigt habs anhand deines Beispiels herausgefunden was ich machen muss :mrgreen:

Verfasst: 15.08.2007 16:53
von Kiffi
Coder Pinhead hat geschrieben:Hat sich erledigt habs anhand deines Beispiels herausgefunden was ich machen muss :mrgreen:
so war es auch gedacht! :allright:

Grüße ... Kiffi

Verfasst: 17.08.2007 22:35
von Coder Pinhead
Kiffi?

Code: Alles auswählen

;{- Enumerations / DataSections
;{ Windows
Enumeration
  #Window_0
EndEnumeration
;}
;{ Gadgets
Enumeration
  #ComboBox_0
  #ComboBox_1
  #String_2
  #Button_3
EndEnumeration
;}
Define.l Event, EventWindow, EventGadget, EventType, EventMenu
;}
Procedure OpenWindow_Window_0()
  If OpenWindow(#Window_0, 401, 148, 139, 137, "Window_0", #PB_Window_SystemMenu|#PB_Window_SizeGadget|#PB_Window_MinimizeGadget|#PB_Window_TitleBar|#PB_Window_ScreenCentered)
    If CreateGadgetList(WindowID(#Window_0))
      ComboBoxGadget(#ComboBox_0, 20, 15, 100, 100)
      AddGadgetItem(#ComboBox_0,-1,"-----")
      AddGadgetItem(#ComboBox_0,-1,"Funktion 1")
      AddGadgetItem(#ComboBox_0,-1,"Funktion 2")
      SetGadgetState(#ComboBox_0,0)
      ComboBoxGadget(#ComboBox_1, 20, 45, 100, 100)
      AddGadgetItem(#ComboBox_1,-1,"-----")
      AddGadgetItem(#ComboBox_1,-1,"X1")
      AddGadgetItem(#ComboBox_1,-1,"X2")
      SetGadgetState(#ComboBox_1,0)
      StringGadget(#String_2, 20, 70, 100, 20, "Output",#PB_String_ReadOnly)
      ButtonGadget(#Button_3, 20, 95, 100, 20, "Knopf")
    EndIf
  EndIf
EndProcedure

OpenWindow_Window_0()

;{- Event loop
Repeat
  Event = WaitWindowEvent()
  Select Event
    ; ///////////////////
    Case #PB_Event_Gadget
      EventGadget = EventGadget()
      EventType = EventType()
      If EventGadget = #ComboBox_0
      ElseIf EventGadget = #ComboBox_1
      ElseIf EventGadget = #String_2
      ElseIf EventGadget = #Button_3
        Select EventGadget()
          Case #Button_3
            
            Select GetGadgetText(#ComboBox_0)
              Case "-----"
                Asugabe.s = ""
              Case "Funktion 1"
                Ausgabe.s = "Alpha"
              Case "Funktion 2"
                Ausgabe.s = "Beta" 
            EndSelect
            
            Select GetGadgetText(#ComboBox_1)
              Case "-----"
                AsugabeX.s = ""
              Case "X1"
                AusgabeX.s = "A1X"
              Case "X2"
                AusgabeX.s = "B2X"
            EndSelect
            
            If Ausgabe And AusgabeX
              New.s = Ausgabe+"!"+AusgabeX
            EndIf
            
            SetGadgetText(#String_2,Chr(34)+New+Chr(34))
        EndSelect
      EndIf
      ; ////////////////////////
    Case #PB_Event_CloseWindow
      EventWindow = EventWindow()
      If EventWindow = #Window_0
        CloseWindow(#Window_0)
        Break
      EndIf
  EndSelect
ForEver
;
;}

Also wen ich Funktion 1 und X1 auswähle steht ja im Output "Alpha!A1X". Und wen ich dan die beiden schalter wieder auf "-----" zurückstelle und den Knopf noch mal drücke soll der Text wieder auf Output gehen... :/

Also wie kriege ich das hin??

Verfasst: 17.08.2007 23:43
von Kiffi
Coder Pinhead hat geschrieben:Kiffi?
ja, mein Sohn? :cool:

Code: Alles auswählen

AsugabeX
Grüße ... Kiffi

Verfasst: 18.08.2007 00:15
von Coder Pinhead
Dein Hinweis Hilft mir irgendwie nicht :(
Kannst du mir nicht das anhand des Scripts zeigen was ich machen muss?

Verfasst: 18.08.2007 12:59
von dysti
Wenn du nicht weiß was Kiffi gemeint hat dann ist dir nicht zu helfen.
Er meint natürlich den Buchstabendreher in deinem Case-Konstrukt.
Aber selbst dann wird es nicht funktionieren weil du auch noch eine
Abfrage vergessen hast und die könnte so aussehen mit Beseitigung des Buchstabendrehers:

Code: Alles auswählen

Select GetGadgetText(#ComboBox_1)
              Case "-----"
                AusgabeX.s = ""
              Case "X1"
                AusgabeX.s = "A1X"
              Case "X2"
                AusgabeX.s = "B2X"
            EndSelect
           
            If Ausgabe And AusgabeX
              New.s = Ausgabe+"!"+AusgabeX
              Else
              New.s = "Output"
            EndIf

Verfasst: 18.08.2007 13:47
von PureLust
Coder Pinhead hat geschrieben:Dein Hinweis Hilft mir irgendwie nicht :(
Kannst du mir nicht das anhand des Scripts zeigen was ich machen muss?
dysti hat geschrieben:Wenn du nicht weiß was Kiffi gemeint hat dann ist dir nicht zu helfen.
Er meint natürlich den Buchstabendreher in deinem Case-Konstrukt.
@Coder Pinhead:
Du solltest Dir generell angewöhnen mit "EnableExplicit" zu arbeiten.
Dann würden Dir solche Flüchtigkeitsfehler sofort selber selber auffallen.

Verfasst: 18.08.2007 14:13
von Coder Pinhead
PureLust hat geschrieben:@Coder Pinhead:
Du solltest Dir generell angewöhnen mit "EnableExplicit" zu arbeiten.
Dann würden Dir solche Flüchtigkeitsfehler sofort selber selber auffallen.
Kannte den Befehl noch gar nicht der mir dabei Hilft Flüchtigkeitsfehler zu finden. Danke werde ihn dan jetzt immer nutzen um Fehler schneller zu finden <)