|
| 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 ???
> >
> >
> >
> >
> >
>
>
| |
|
|