![]() |
Übung Array!
Hallo Leute!
Wie kann ich wenn ich in VB eine Funktion und einen Übergabewert habe, in der Klammer zB (Eingabe as Long) mit einer Forschleife und einem Array dieses Array sagen wir eingabe = 100 mit der Grösse Hundert dimensionieren und dann in jedes der 100 Felder eine 1 schreiben? Geht dass, wie? Grüße Coolbininet |
Tipp des Tages: Leg dir mal ein VB Buch zu.
Function irgendwas(byval bla as long) dim ix as integer dim iarray(bla) as integer for ix=0 to bla-1 iarray(ix)=1 next end function Wäre leicht möglich, dass man den Wert gleich vorbelegen kann und keine Schleife braucht. Ich glaub das würd sogar in der Hilfe stehen. mfg |
Zitat:
|
Funkt leider nicht!
Funkt leider nicht:
dim iarray(bla) as integer // VB braucht hier eine konkrete Zahl zb 10 So weit war ich auch schon, es ist nur so, dass ich dann wieder nur eine 10 und keine Variable eingeben kann! Grüße Coolbininet |
Na dann halt so:
Dim iarray() As Integer ReDim iarray(bla) |
Man merkt das Schuljahr neigt sich dem Ende zu.
Prüfungszeit, gell!? :D :D :roflmao: :hehe: |
Also, fasse zusammen:
Function irgendwas(ByVal bla As Long) Dim ix As Integer Dim iarray() As Integer ReDim iarray(bla) For ix = 0 To bla - 1 iarray(ix) = 1 Next ix End Function Dann müsste dies der Code sein, der mit folgendem Befehl, wobei als Übergabewert in Klammer(10) steht, erstens 10 einzelne Einsen in das dynamische Array schreibt und zweitens, dann 10 einzelne Einsen ausgibt, warum bekomme ich dann aber eine 0 heraus? Debug.Print iarray(ix) Grüße Coolbininet |
Zitat:
Zitat:
Irgendwie steht in deinem ersten Beitrag nix davon das du es ausgeben willst... wennst es dazu geschrieben hättest, täts möglicherweise schon im code stehen.... |
Wie geht das jetzt Hannes0815?
Grüsse |
Habe mal selbst wieder VB ausgegraben und folgendes für dich gebastelt
Code:
Function makearray(ByVal isize As Long) - Wenn man die Arraygröße ändert muss man die Größe-1 angeben. - Bei jedem Durchlauf der Schleife wird die Anzahl der Durchläufe und der aktuelle Wert angezeigt (mit einer MessageBox). Ich vermute mal, du hast nach der Schleife Debug.Print iarray(ix) ausgeführt. Nach der Schleife steht der Wert von ix auf 10, mit dem Wert 10 wird die Schleife aber nicht nochmal durchlaufen (nur von 0 bis isize-1, also von 0 bis 9). Wenn nun das Array falsch dimensioniert war (wie vorher) gibt es aber auch ein Feld iarray(10), dieses wurde aber noch nicht belegt. Ich hoffe ich hab das verständlich erklärt. mfg Thomas |
Alle Zeitangaben in WEZ +2. Es ist jetzt 12:09 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag