/ 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
Installation af Program via Listbox
Fra : Anders Christian Ped~


Dato : 21-07-02 01:00

Hej Alle

Nogle der kan hjælpe ?

Jeg har en form1, hvor der findes en list1 og command1

Jeg har en fil (select.ini) hvor hver anden linie åbnes i Listboxen

Indhold af select.ini (1. linie er tekst til .additem i list1 og 2. linie er
stien til fil som skal startes)
Microsoft Windows 2000 Professional - Service Pack 2 - Dansk
I:\Service Pack 2 - Windows 2000\DK\W2KSP2.EXE
Microsoft Windows 2000 Professional - Service Pack 2 - Engelsk
I:\Service Pack 2 - Windows 2000\UK\W2KSP2.EXE

Når jeg vælger at mærkere en af de 2 linier i listboxen og trykker på
command1 sker der følgende:

Hvis jeg vælger 1. linie melder den "File Not Found"
Vælger jeg 2. linie starter den installationen....

jeg har følgende kode.....
----------------------
Dim n As Integer
Dim Prog(20), progsti(20) As String


Private Sub Form_Load()
n = n + 1

Open App.Path & "\select.ini" For Input As #1
Do While EOF(1) = False
Line Input #1, Prog(n)
Line Input #1, progsti(n)
List1.AddItem Prog(n)

Loop
Close #1

end sub

Private Sub Command1_Click()

MsgBox "Programmet afsluttes, da du har valgt at installere et
program.", vbInformation
X = Shell(progsti(List1.ListIndex), 1)

End Sub
--------------

Nogle der kan se hvad der er galt ???






 
 
Kaj Nicolaisen (21-07-2002)
Kommentar
Fra : Kaj Nicolaisen


Dato : 21-07-02 12:10

Jeg tror fejlen er at du lægger 1 til n som det første. Det medfører at dine
lineinputs bliver lagt i arrayets position 1. Når du vælger det første
listindex er det 0, men du har ikke noget i arrayets position 0. jeg tror
også at det du starter ved at klikke på linie 2 er programmet fra linie 1.
Prøv at lade n=0 i din form_load og lade n=n+1 lige før dit loop statement.

vh.
Kaj

"Anders Christian Pedersen" <acp@dqd.dk> skrev i en meddelelse
news:DNm_8.25733$Yf1.1153434@news010.worldonline.dk...
> Hej Alle
>
> Nogle der kan hjælpe ?
>
> Jeg har en form1, hvor der findes en list1 og command1
>
> Jeg har en fil (select.ini) hvor hver anden linie åbnes i Listboxen
>
> Indhold af select.ini (1. linie er tekst til .additem i list1 og 2. linie
er
> stien til fil som skal startes)
> Microsoft Windows 2000 Professional - Service Pack 2 - Dansk
> I:\Service Pack 2 - Windows 2000\DK\W2KSP2.EXE
> Microsoft Windows 2000 Professional - Service Pack 2 - Engelsk
> I:\Service Pack 2 - Windows 2000\UK\W2KSP2.EXE
>
> Når jeg vælger at mærkere en af de 2 linier i listboxen og trykker på
> command1 sker der følgende:
>
> Hvis jeg vælger 1. linie melder den "File Not Found"
> Vælger jeg 2. linie starter den installationen....
>
> jeg har følgende kode.....
> ----------------------
> Dim n As Integer
> Dim Prog(20), progsti(20) As String
>
>
> Private Sub Form_Load()
> n = n + 1
>
> Open App.Path & "\select.ini" For Input As #1
> Do While EOF(1) = False
> Line Input #1, Prog(n)
> Line Input #1, progsti(n)
> List1.AddItem Prog(n)
>
> Loop
> Close #1
>
> end sub
>
> Private Sub Command1_Click()
>
> MsgBox "Programmet afsluttes, da du har valgt at installere et
> program.", vbInformation
> X = Shell(progsti(List1.ListIndex), 1)
>
> End Sub
> --------------
>
> Nogle der kan se hvad der er galt ???
>
>
>
>
>



Kaj Nicolaisen (21-07-2002)
Kommentar
Fra : Kaj Nicolaisen


Dato : 21-07-02 13:30

Jeg kiggede lige igen. Du starter det rigtige program ved at klikke på linie
2. Du opdaterer nemlig aldrig n i dit loop så hver linie du læser bliver
lagt i dine arrays position 1. Løsningen er dog den samme som jeg skitserede
i første svar, og her er koden:

---------
Dim n As Integer
Dim Prog(20), progsti(20) As String


Private Sub Form_Load()
n = 0

Open App.Path & "\select.ini" For Input As #1
Do While EOF(1) = False
Line Input #1, Prog(n)
Line Input #1, progsti(n)
List1.AddItem Prog(n)

n = n + 1
Loop
Close #1

end sub

Private Sub Command1_Click()

MsgBox "Programmet afsluttes, da du har valgt at installere et
program.", vbInformation
X = Shell(progsti(List1.ListIndex), 1)

End Sub
--------

vh.
Kaj

"Kaj Nicolaisen" <whambam@nospam.dk> skrev i en meddelelse
news:mBw_8.26173$Yf1.1188051@news010.worldonline.dk...
> Jeg tror fejlen er at du lægger 1 til n som det første. Det medfører at
dine
> lineinputs bliver lagt i arrayets position 1. Når du vælger det første
> listindex er det 0, men du har ikke noget i arrayets position 0. jeg tror
> også at det du starter ved at klikke på linie 2 er programmet fra linie 1.
> Prøv at lade n=0 i din form_load og lade n=n+1 lige før dit loop
statement.
>
> vh.
> Kaj
>
> "Anders Christian Pedersen" <acp@dqd.dk> skrev i en meddelelse
> news:DNm_8.25733$Yf1.1153434@news010.worldonline.dk...
> > Hej Alle
> >
> > Nogle der kan hjælpe ?
> >
> > Jeg har en form1, hvor der findes en list1 og command1
> >
> > Jeg har en fil (select.ini) hvor hver anden linie åbnes i Listboxen
> >
> > Indhold af select.ini (1. linie er tekst til .additem i list1 og 2.
linie
> er
> > stien til fil som skal startes)
> > Microsoft Windows 2000 Professional - Service Pack 2 - Dansk
> > I:\Service Pack 2 - Windows 2000\DK\W2KSP2.EXE
> > Microsoft Windows 2000 Professional - Service Pack 2 - Engelsk
> > I:\Service Pack 2 - Windows 2000\UK\W2KSP2.EXE
> >
> > Når jeg vælger at mærkere en af de 2 linier i listboxen og trykker på
> > command1 sker der følgende:
> >
> > Hvis jeg vælger 1. linie melder den "File Not Found"
> > Vælger jeg 2. linie starter den installationen....
> >
> > jeg har følgende kode.....
> > ----------------------
> > Dim n As Integer
> > Dim Prog(20), progsti(20) As String
> >
> >
> > Private Sub Form_Load()
> > n = n + 1
> >
> > Open App.Path & "\select.ini" For Input As #1
> > Do While EOF(1) = False
> > Line Input #1, Prog(n)
> > Line Input #1, progsti(n)
> > List1.AddItem Prog(n)
> >
> > Loop
> > Close #1
> >
> > end sub
> >
> > Private Sub Command1_Click()
> >
> > MsgBox "Programmet afsluttes, da du har valgt at installere et
> > program.", vbInformation
> > X = Shell(progsti(List1.ListIndex), 1)
> >
> > End Sub
> > --------------
> >
> > Nogle der kan se hvad der er galt ???
> >
> >
> >
> >
> >
>
>



Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408526
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste