dambi
Goto Top

Visual Basic und "Get Command Line Arguments"

Hallo zusammen!

Ich muss ein Programm schreiben, welches etwas ausführt aufgrund, der eingaben die man beim Ausführen eingegeben hat. Das heisst, wenn ich das Programm im command ausführe und z.B. das schreibe:
programm.exe hans klaus peter
so muss das Programm "hans" "klaus" und "peter" übernehmen.
Wie kann ich das machen? ich habe gemeint es geht mit "argv" aber irgendwie geht das nicht. dann habe ich gesehen das es mit "command$" geht, aber da list es nur jedes einzelne Zeichen aus und nicht wie bei "argv", denn da kann man angeblich "argv(0)" machen für den ganzen string oder nur "argv(1)" und das wäre dann "hans"!!!!

weiss jemand ob es das gibt? ich habe gesehen, dass das nur bei C++ so ist mit dem "argv". doch das wäre optimal so gibts das auch im Visual Basic???

ich hoff ihr könnt mir weiterhelfen. Danke

Grüsse Dambi

Content-Key: 12665

Url: https://administrator.de/contentid/12665

Printed on: April 23, 2024 at 10:04 o'clock

Member: dga
dga Jul 04, 2005 at 08:30:43 (UTC)
Goto Top
Also in C# geht das so: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/csref/ ...

In VB gehts vermutlich gleich. Der erste Wert im Array, also mit dem Index 0, ist das erste Wort.
Member: Dambi
Dambi Jul 04, 2005 at 09:02:10 (UTC)
Goto Top
hmm!! ich habe es einmal ausprobiert, doch es ging nicht! vb und c sind ja nicht so vergleichbar! da besteht doch noch ein ziemlicher unterschied!

aber etwas ähniches bräuchte ich für mein prog in visual basic
Member: dga
dga Jul 04, 2005 at 14:50:47 (UTC)
Goto Top
Member: Dambi
Dambi Jul 06, 2005 at 09:21:03 (UTC)
Goto Top
ok jetzt habe ich nochmals eine frage!!!

nehmen wir an ich gebe im cmd das ein:

project.exe hansi hinterseher ist zurück
ich habe die command line jetzt in einem array!!
so:
dim array1 as string
array1 = (command$, " ")

jetzt steht im array das:
hansi
hinterseher
ist
zurück

array1(0) ist also hansi
array1(1) ist hinterseher
array1(2) ist ist
array1(3) ist zurück

wie kann ich jetzt ermitteln, wieviele array1(x) das es gibt??? ich brauche diesen Wert und wie kann ich herausfinden wie viele "Zeilen" im array stehen??

danke

gruss Dambi
Member: Dambi
Dambi Jul 06, 2005 at 09:22:33 (UTC)
Goto Top
das problemm ist das ganze ist mit VB geschrieben und nid .Net sonst gäbe es da wie ich gesehen habe einige möglichkeieten.....
Member: Dambi
Dambi Jul 06, 2005 at 09:47:50 (UTC)
Goto Top
ich hab die lösung selbst herausgefunden!!

ich poste sie noch fall einmal einer das braucht!!!


Dim array1() As String
array1 = Split(Command$, " ")
Dim i As Integer
For i = 0 To UBound(array1())
i = i + 1
Next

dann hat man die anzahl der einträge im array!!!!
Member: dga
dga Jul 07, 2005 at 10:01:57 (UTC)
Goto Top
genau, in .net könntest du jetzt mit array1.Count die Länge des Array abfragen. In VB hilft dir das: http://vb-tec.de/arrfaq.htm (Abschnitt "Wieviele Elemente enthält ein Array?")
Member: Dambi
Dambi Jul 08, 2005 at 07:48:23 (UTC)
Goto Top
ok andere frage!!

ich habe jetzt gezählt wieviele einträge es in einem Array hat. Das kann man nir mit UBound(array()) machen. wie das dier:
dim z as integer
z = UBound(array())
dann hat man die höchste zahl des array's die es gibt. wenn das array von 0-4 geht bekommt man 4.

jetzt habe ich aber ein zweidimensionales array!!!
wie kann ich jetzt hier zählen wieviele eiträge es gibt in einer dimension?

ich kann nicht das machen:

z = UBound(array(0))

so wollte ich eigentlich bewirken, dass es die Anzahl in der ersten dimension im array zählt, aber das macht er nicht. 0 geht gar nicht es geht nur 1 und 2 und das steht für was komisches was ich nicht versteheface-smile

aber meine frage ist jetzt wie ich dieses array zählen kann damit ich die anzahl der daten im array(0) und im array(1) weiss.


wenn ich msgbox array(1,2) mache bringt er den eintrag des zweiten teil des array's an 3ter stelle!!!

ich hoff ihr könnt mir weiterhelfen.

danke
dambi
Member: Zardoz
Zardoz Jul 21, 2005 at 12:56:19 (UTC)
Goto Top
Hallo dambi,

bei mehrdimensionalen Arrays funktioniert das auch mit UBound:

UBound(arrayname[, dimension])

x=UBound(array,0) 'gibt Anzahl der Elemente in erster Dimension an
y=UBound(array,1) 'git Anzahl der Elemente in zweiter Dimension an

Gruß
Zardoz