WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 10.05.2005, 19:21   #1
coolbininet
Hero
 
Registriert seit: 19.09.2001
Alter: 46
Beiträge: 859


coolbininet eine Nachricht über AIM schicken coolbininet eine Nachricht über Yahoo! schicken
Frage Ü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
____________________________________
Wenn du eine helfende Hand brauchst, tust du gut wenn, du sie an den eigenen Armen suchst!
Website RI

Nur der Kleingeist hält Ordnung das Genie überblick das Chaos! Genie und Wahnsinn liegen dicht nebeneinander, sie können und sollen nicht getrennt werden.

|Marktorientierter Sozialist|Menschenfreund|Teamfähig|Analytiker|Logi ker|

If you want to see the Sky, fuck a Duck and learn to fly!

Mein Glück ist nicht von dieser Welt, insbesondere im Umgang mit Microsoft Produkten!

Möge die MACHT mit uns sein!
coolbininet ist offline   Mit Zitat antworten
Alt 10.05.2005, 20:12   #2
T.dot
Master
 
Registriert seit: 13.08.2003
Beiträge: 624


Standard

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
T.dot ist offline   Mit Zitat antworten
Alt 10.05.2005, 20:32   #3
kikakater
Inventar
 
Registriert seit: 24.01.2001
Beiträge: 5.631


Standard

Zitat:
Original geschrieben von T.dot
Tipp des Tages: Leg dir mal ein VB Buch zu.
kikakater ist offline   Mit Zitat antworten
Alt 11.05.2005, 11:45   #4
coolbininet
Hero
 
Registriert seit: 19.09.2001
Alter: 46
Beiträge: 859


coolbininet eine Nachricht über AIM schicken coolbininet eine Nachricht über Yahoo! schicken
Standard 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
____________________________________
Wenn du eine helfende Hand brauchst, tust du gut wenn, du sie an den eigenen Armen suchst!
Website RI

Nur der Kleingeist hält Ordnung das Genie überblick das Chaos! Genie und Wahnsinn liegen dicht nebeneinander, sie können und sollen nicht getrennt werden.

|Marktorientierter Sozialist|Menschenfreund|Teamfähig|Analytiker|Logi ker|

If you want to see the Sky, fuck a Duck and learn to fly!

Mein Glück ist nicht von dieser Welt, insbesondere im Umgang mit Microsoft Produkten!

Möge die MACHT mit uns sein!
coolbininet ist offline   Mit Zitat antworten
Alt 11.05.2005, 12:00   #5
T.dot
Master
 
Registriert seit: 13.08.2003
Beiträge: 624


Standard

Na dann halt so:

Dim iarray() As Integer
ReDim iarray(bla)
T.dot ist offline   Mit Zitat antworten
Alt 11.05.2005, 14:52   #6
cenus
Elite
 
Benutzerbild von cenus
 
Registriert seit: 07.06.2000
Beiträge: 1.428

Mein Computer

Standard

Man merkt das Schuljahr neigt sich dem Ende zu.
Prüfungszeit, gell!?



____________________________________
lg, cenus

------------------
§1 Alle Tipps und Tricks sind ohne Garantie auf Korrektheit und Vollstaendigkeit.
§2 Es wird von mir keine Haftung fuer etwaige entstandene Schaeden uebernommen.
§3 Des weiteren distanziere ich mich von den von mir bekanntgegebenen Urls und Websites.
------------------
Schaetze das wars, oder habe ich was uebersehen?
cenus ist offline   Mit Zitat antworten
Alt 11.05.2005, 17:29   #7
coolbininet
Hero
 
Registriert seit: 19.09.2001
Alter: 46
Beiträge: 859


coolbininet eine Nachricht über AIM schicken coolbininet eine Nachricht über Yahoo! schicken
Standard

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
____________________________________
Wenn du eine helfende Hand brauchst, tust du gut wenn, du sie an den eigenen Armen suchst!
Website RI

Nur der Kleingeist hält Ordnung das Genie überblick das Chaos! Genie und Wahnsinn liegen dicht nebeneinander, sie können und sollen nicht getrennt werden.

|Marktorientierter Sozialist|Menschenfreund|Teamfähig|Analytiker|Logi ker|

If you want to see the Sky, fuck a Duck and learn to fly!

Mein Glück ist nicht von dieser Welt, insbesondere im Umgang mit Microsoft Produkten!

Möge die MACHT mit uns sein!
coolbininet ist offline   Mit Zitat antworten
Alt 11.05.2005, 18:01   #8
Hannes0815
Senior Member
 
Registriert seit: 08.07.2003
Alter: 44
Beiträge: 131


Hannes0815 eine Nachricht über ICQ schicken
Standard

Zitat:
Original geschrieben von coolbininet
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
Zitat:
Original geschrieben von coolbininet
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

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....
Hannes0815 ist offline   Mit Zitat antworten
Alt 11.05.2005, 18:06   #9
coolbininet
Hero
 
Registriert seit: 19.09.2001
Alter: 46
Beiträge: 859


coolbininet eine Nachricht über AIM schicken coolbininet eine Nachricht über Yahoo! schicken
Standard

Wie geht das jetzt Hannes0815?

Grüsse
____________________________________
Wenn du eine helfende Hand brauchst, tust du gut wenn, du sie an den eigenen Armen suchst!
Website RI

Nur der Kleingeist hält Ordnung das Genie überblick das Chaos! Genie und Wahnsinn liegen dicht nebeneinander, sie können und sollen nicht getrennt werden.

|Marktorientierter Sozialist|Menschenfreund|Teamfähig|Analytiker|Logi ker|

If you want to see the Sky, fuck a Duck and learn to fly!

Mein Glück ist nicht von dieser Welt, insbesondere im Umgang mit Microsoft Produkten!

Möge die MACHT mit uns sein!
coolbininet ist offline   Mit Zitat antworten
Alt 11.05.2005, 18:26   #10
T.dot
Master
 
Registriert seit: 13.08.2003
Beiträge: 624


Standard

Habe mal selbst wieder VB ausgegraben und folgendes für dich gebastelt

Code:
Function makearray(ByVal isize As Long)
    Dim ix As Integer
    Dim iarray() As Integer
    ReDim iarray(isize - 1)
    
    For ix = 0 To isize - 1
        iarray(ix) = 1
        MsgBox "Durchlauf Nr. " & ix & ", Wert im Array: " & iarray(ix)
    Next ix
End Function
Änderungen zu vorher
- 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
T.dot ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 13:27 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag