inherit Skrevet 13. februar 2005 Del Skrevet 13. februar 2005 (endret) Er det noen som kan klare å få gjort denne koden litt enklere for meg? Jeg tenker da å gjøre sånn at jeg kan "bygge mange fler hakk" med bare å angi et tall. Sånn at jeg kan få ut MsgBox(i & j & k & k & l & m & n & o & p) uten å legge til så mange For-Next setninger. For i As Integer = 0 To 5 MsgBox(i) For j As Integer = 0 To 5 MsgBox(i & j) For k As Integer = 0 To 5 MsgBox(i & j & k) For l As Integer = 0 To 5 MsgBox(i & j & k & k) Next Next Next Next Edit: En liten leif Endret 13. februar 2005 av inherit Lenke til kommentar
kaffenils Skrevet 14. februar 2005 Del Skrevet 14. februar 2005 Du må bruke rekursive funskjoner/subrutiner. Rekursive funskjoner/subrutiner kaller seg selv inntil et kriterium er nådd, f.eks. antall nivåer i ditt tilfelle. sub Start(iNumberOfLevels as integer, iCountPerLevel as integer) call ProcessLevel(1,iCountPerLevel,iNumberOfLevels,"") end sub sub ProcessLevel(iCurrentLevel as integer, iCountPerLevel as integer, iMaxLevel as integer, sParentCountString as string) dim i as integer dim iNextLevel as integer dim sCountString as string iNextLevel=iCurrentLevel+1 for i=0 to iCountPerLevel if sParentCountString="" then sCountString= sParentCountString & i else sCountString= sParentCountString & "," & i end if debug.print sCountString if iCurrentLevel<iMaxLevel then call ProcessLevel(iNextLevel,iCountPerLevel,iMaxLevel,sCountString) end if next i end sub Denne koden kan du f.eks. paste inn i en form, og kalles fra en ved et klikk på en knapp slik Private Sub Command1_Click() Call Start(2, 3) End Sub som gir dette resultatet i debug vinduet 0 0,0 0,1 0,2 0,3 1 1,0 1,1 1,2 1,3 2 2,0 2,1 2,2 2,3 3 3,0 3,1 3,2 3,3 Lenke til kommentar
inherit Skrevet 14. februar 2005 Forfatter Del Skrevet 14. februar 2005 Du er en helt!!! Jeg har ikke testet koden ennå, men det så lovende ut... Takker så meget. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå