Seite 1 von 1

Steuerelemente im Array...

Verfasst: 04.11.2005 08:36
von Ghosty1967
Hallo Leutz...

In VB ist es ja möglich, ein Array aus Steuerelementen zu bilden... sodas
man z.B. ein Array von Eingabefeldern hat, welche man dann in einer
Routine über deren Index abfragen kann /:->

Gibt es sowas auch in PB oder kann man einen Trick anwenden :mrgreen:
Ich möchte gerne eine Art Tabelle erstellen, welche die Anzahl der Tage
eines Monats mit je 4 Eingabefeldern enthält und das wären dann ja schon
max. 124 StringGadget-Anweisungen - das muß doch auch einfacher gehen oder ?!
Wo wir gerade dabei sind, wäre es auch interessant zu wissen, ob sich Steuerelemente in PB
auch zur Laufzeit erstellen lassen.

Für Codeschnipsel und links bin ich immer dankbar... :allright:

Verfasst: 04.11.2005 08:43
von KeyKon
Ich hab nich genau verstanden was du willst aber wenn du sowas meinst:

Code: Alles auswählen

Dim Array(30,4)
In der Rutine kannst du dann so abfragen:

Code: Alles auswählen

For x = 1 To 30
  Debug Array(x,1)
  Debug Array(x,2)
  Debug Array(x,3)
  Debug Array(x,4)
Next
Auf diese Weise kannst du auch Arrays machen mit viel mehr Dimensionen.

KeyKon

Verfasst: 04.11.2005 10:37
von Pelagio
@Gosty1967
Wo wir gerade dabei sind, wäre es auch interessant zu wissen, ob sich Steuerelemente in PB auch zur Laufzeit erstellen lassen.
Die Steuerelemente kann man jederzeit erstellen, also auch wärend der Laufzeit eines Programmes, wenn man dies vorsieht.

Code: Alles auswählen

If OpenWindow(0,0,0,230,90,#PB_Window_SystemMenu|#PB_Window_ScreenCentered,"Event-Handling Beispiel...")
   If CreateGadgetList(WindowID()): ButtonGadget  (1, 10, 10,200, 20, "Klick mich"):EndIf
   Repeat
     EventID = WaitWindowEvent()
     If (EventID=#PB_Event_Gadget)
         Select EventGadgetID()
           Case 1 : ButtonGadget (2, 10, 40,200, 20, "Du hast Button 1 geklickt!")
           Case 2 : FreeGadget  (2)
         EndSelect
     EndIf
   Until EventID = #PB_Event_CloseWindow
 EndIf

Verfasst: 04.11.2005 10:53
von ts-soft
Meinst Du sowas:

Code: Alles auswählen

Dim MyGadget(2)
If OpenWindow(0, 0, 0, 200, 50, #PB_Window_ScreenCentered | #PB_Window_SystemMenu, "GadgetArray")
  CreateGadgetList(WindowID(0))
  For I = 0 To 2
    MyGadget(I) = ButtonGadget(#PB_Any, 10 + (60 * I), 10, 50, 25, "Button " + Str(I))
  Next
  Repeat
    Select WaitWindowEvent()
      Case #PB_Event_CloseWindow
        Break
      Case #PB_Event_Gadget
        Select EventGadgetID()
          Case MyGadget(0)
            Debug "Button 0"
          Case MyGadget(1)
            Debug "Button 1"
          Case MyGadget(2)
            Debug "Button 2"
        EndSelect
    EndSelect
  ForEver
EndIf