/ Forside / Teknologi / Udvikling / VB/Basic / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
VB/Basic
#NavnPoint
berpox 2425
pete 1435
CADmageren 1251
gibson 1230
Phylock 887
gandalf 836
AntonV 790
strarup 750
Benjamin... 700
10  tom.kise 610
En smart måde at bruge "command"-variablen~
Fra : Mathias


Dato : 30-09-03 20:58

Hej NG.
Jeg vil gerne lave et program hvor jeg bruger mange command line attributes
(f.eks. Start - Kør - "C:\MitPrg.exe -var1 -var2"), og dem kan man jo få
med variablen "Command"; men er der nogle der har en smart løsning på
hvordan man finder hvad der er eller ikke er skrevet (f.eks. i mit eks. fra
før, så er var1 og var2 til, men f.eks. var3 er fra)?
Hilsen Mathias

 
 
Jesper (30-09-2003)
Kommentar
Fra : Jesper


Dato : 30-09-03 23:08


"Mathias" <mathias@nonne.tld> skrev i en meddelelse
news:Xns9406DF70C29495q738hgq@212.54.64.135...
> Hej NG.
> Jeg vil gerne lave et program hvor jeg bruger mange command line
attributes
> (f.eks. Start - Kør - "C:\MitPrg.exe -var1 -var2"), og dem kan man jo få
> med variablen "Command"; men er der nogle der har en smart løsning på
> hvordan man finder hvad der er eller ikke er skrevet (f.eks. i mit eks.
fra
> før, så er var1 og var2 til, men f.eks. var3 er fra)?
> Hilsen Mathias

F.eks.
Prog.exe 1,1,0


Jesper.




Jens Vestergaard (01-10-2003)
Kommentar
Fra : Jens Vestergaard


Dato : 01-10-03 07:12

"Mathias" <mathias@nonne.tld> skrev i en meddelelse
news:Xns9406DF70C29495q738hgq@212.54.64.135...
> Hej NG.
> Jeg vil gerne lave et program hvor jeg bruger mange command line
attributes
> (f.eks. Start - Kør - "C:\MitPrg.exe -var1 -var2"), og dem kan man jo få
> med variablen "Command"; men er der nogle der har en smart løsning på
> hvordan man finder hvad der er eller ikke er skrevet (f.eks. i mit eks.
fra
> før, så er var1 og var2 til, men f.eks. var3 er fra)?
> Hilsen Mathias

[COMMAND = "hans, ole, peter, , niels"]

dim sCom() as string
sCom = split(COMMAND, ",")

for x = 0 to UBound(sCom)
msgbox "Var" & x & " er: " & sCom(x)
next


--
mvh
Jens Vestergaard (mailadr i dette indlæg er ikke gyldig!)
www.railsoft.dk
Døgnets jernbanenyheder: www.railsoft.dk/medier.asp




Mathias (01-10-2003)
Kommentar
Fra : Mathias


Dato : 01-10-03 18:32

Jeg har fundet ud af det:

Function Cmd(Find As String) As Boolean
If InStr(Command, Find) > 0 Then
Cmd = True
Else
Cmd = False
End If
End Function

Jens Vestergaard (01-10-2003)
Kommentar
Fra : Jens Vestergaard


Dato : 01-10-03 19:02

"Mathias" <mathias@nonne.tld> skrev i en meddelelse
news:Xns9407C6A6C1A875q738hgq@212.54.64.135...
> Jeg har fundet ud af det:
>
> Function Cmd(Find As String) As Boolean
> If InStr(Command, Find) > 0 Then
> Cmd = True
> Else
> Cmd = False
> End If
> End Function


Function Cmd(Find As String) As Boolean
Cmd = InStr(Command, Find)
End Function

....lidt kortere!


--
mvh
Jens Vestergaard (mailadr i dette indlæg er ikke gyldig!)
www.railsoft.dk
Døgnets jernbanenyheder: www.railsoft.dk/medier.asp



Tomas Christiansen (01-10-2003)
Kommentar
Fra : Tomas Christiansen


Dato : 01-10-03 21:36

Mathias skrev:
> Jeg vil gerne lave et program hvor jeg bruger mange command line
attributes
> (f.eks. Start - Kør - "C:\MitPrg.exe -var1 -var2"), og dem kan man jo få
> med variablen "Command"; men er der nogle der har en smart løsning på
> hvordan man finder hvad der er eller ikke er skrevet (f.eks. i mit eks.
fra
> før, så er var1 og var2 til, men f.eks. var3 er fra)?

Jeg tror ikke at der findes en "smart" løsning: Man er nødt til at
programmere det selv eller finde koden til det på nettet ét eller andet
sted.

Jeg plejer at programmere den slags selv. Lægger det i en klasse, som så kan
genbuges andre steder.
Essensen er vel at finde ud af hvlket tegn som skal skille argumenterne fra
hinanden, og så løbe dem alle igennem, og lægge dem i én eller anden form
for datastruktur (tabel, streng med nogle veldefinerede skilletegn,
selv-definerede objekter, ...). Herefter kan du lave en rutine, som får til
at opgave om en given parameter er til stede eller ej.

Det kan gøres på 1000 måder, og mindst 923 af dem er rigtige - det afhænger
helt af dit behov!

Hvis du står med en konkret programmeringsmæssigt spørgsmål/problem, er jeg
sikker på at du får et brugbart svar her, men indtil videre vil jeg give dig
inspiration ved at vise dig én af de rutiner, som jeg ofte bruger til at
checke kommando-linie argumenter (selvom det måske ikke dækker dit eksempel
100%):

Function GetParam(ByRef Params As String) As String
'
' Udtrækker (fjerner) og returnerer den næste parameter fra Params.
' Parametre adskilles af mellemrum, dog kan parametre omkranses af
' anførselstegn (") eller apostrof (') og kan derved indeholde mellemrum.
'
Dim SearchFor As String
Dim StartPos As Long
Dim EndPos As Long

If Left(Params, 1) = """" Then
SearchFor = """"
StartPos = 2
ElseIf Left(Params, 1) = "'" Then
SearchFor = "'"
StartPos = 2
Else
SearchFor = " "
StartPos = 1
End If
EndPos = InStr(StartPos, Params, SearchFor)
If EndPos = 0 Then
GetParam = Trim(Mid(Params, StartPos))
Params = ""
Else
GetParam = Trim(Mid(Params, StartPos, EndPos - StartPos))
Params = Trim(Mid(Params, EndPos + 1))
End If
End Function

-------
Tomas


Søg
Reklame
Statistik
Spørgsmål : 177557
Tips : 31968
Nyheder : 719565
Indlæg : 6408879
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste