ich habe ein kleines? Problemchen. Ich habe das als Kommentar ins Listing geschrieben :
Code: Alles auswählen
; Permutationen k aus n, mit k = 2 bis 6 und n = 8 bis 12
If OpenWindow(0,100,100,1000,400,#PB_Window_Systemmenu|#PB_Window_screencentered|#PB_Window_SizeGadget,"Vollsysteme Peters Versuch 0.01")
EndIf
If CreateGadgetList(WindowID()) ; ermittelt die eindeutige WindowID
; und erstelltauf diesem Fenster
; die neue Gadgetliste
OptionGadget(2, 30, 100, 80, 20, " k = 2 ")
OptionGadget(3, 30, 140, 80, 20, " k = 3 ")
OptionGadget(4, 30, 180, 80, 20, " k = 4 ")
OptionGadget(5, 30, 220, 80, 20, " k = 5 ")
OptionGadget(6, 30, 260, 80, 20, " k = 6 ")
Frame3DGadget(7, 20, 80, 95, 210, " k - Wert ", 0)
OptionGadget(8, 135, 120, 80, 20, " n = 8 ")
OptionGadget(9, 135, 140, 80, 20, " n = 9 ")
OptionGadget(10, 135, 160, 80, 20, " n = 10 ")
OptionGadget(11, 135, 180, 80, 20, " n = 11 ")
OptionGadget(12, 135, 200, 80, 20, " n = 12 ")
Frame3DGadget(13, 125, 80, 415, 210, " n - Wert ", 0)
SpinGadget(0, 550, 85, 40, 30, 2, 6)
SetGadgetState (0,2)
ListIconGadget(1, 600, 85, 400, 200, "# = i", 42 ,#PB_ListIcon_GridLines|#PB_ListIcon_AlwaysShowSelection )
;Goto Ende
;
;Wenn ich von hier ans Ende springe, werden die Gadgets korrekt dargestellt.
;
;Laufe ich weiter durch die Permutation, erscheint nur das Hauptfenster.
;
;Und vom ListIconGadget lediglich das rechte Scrollband.
;
;Am Ende der Hauptroutine erscheinen dann alle Gadgets im Hauptfenster,
;einschließlich der Daten im ListIconGadget.
;Eigentlich sollte es so während der Abarbeitung der Hauptroutine aussehen,
;inkl. der "Auffüllung" des ListIconGadget
;
;
; Hinweis : Hier werden später einmal die OptionGadgets abgefragt
;
;
Minzahl = 1
Hoechstzahl = 20
K = 5
If K = 6 : Goto 6_aus_n : Else:
If K = 5 : Goto 5_aus_n : Else:
If K = 4 : Goto 4_aus_n : Else:
If K = 3 : Goto 3_aus_n : Else:
If K = 2 : Goto 2_aus_n : Else: Goto Ende
6_aus_n :
4_aus_n :
3_aus_n :
2_aus_n :
;
;
;
5_aus_n :
AddGadgetColumn(1,1,"Zahl 1",42) ;AddGadgetColumn(#Gadget, Position, Titel$, Breite)
AddGadgetColumn(1,2,"Zahl 2",42)
AddGadgetColumn(1,3,"Zahl 3",42)
AddGadgetColumn(1,4,"Zahl 4",42)
AddGadgetColumn(1,5,"Zahl 5",42)
ActivateGadget(7)
For Zahl1= Minzahl To Hoechstzahl - 4
For Zahl2=Zahl1+1 To Hoechstzahl - 3
For Zahl3=Zahl2+1 To Hoechstzahl - 2
For Zahl4=Zahl3+1 To Hoechstzahl - 1
For Zahl5=Zahl4+1 To Hoechstzahl
i = i + 1 : AddGadgetItem(1,-1,Str(i) +Chr(10)+ Str(Zahl1) +Chr(10)+ Str(Zahl2) +Chr(10)+ Str(Zahl3) +Chr(10)+ Str(Zahl4) +Chr(10)+ Str(Zahl5))
; ActivateGadget(1) ; wird der scharf gemacht, sieht es noch blöder aus.
Next
Next
Next
Next
Next
EndIf
EndIf
EndIf
EndIf
EndIf
EndIf
Repeat
Ende :
EventId.l = WaitWindowEvent()
If EventID = #PB_Event_closeWindow
Ende = 1
EndIf
Until Ende = 1
End
Gruß Peter