Toon posts:

[VB6] keuze uit list naar txt bestand zetten werkt niet

Pagina: 1
Acties:

Verwijderd

Topicstarter
ik ben een programma aan het schrijven, die als1 van de onderdelen de waardes in een formulier naar en txt file moet zetten.

een apar waardes worden hierbij uit een lijst gehaald, bij het laden van het formulier, met de volgende code:

code:
1
2
3
4
5
6
7
8
9
10
11
12
Private Sub Form_Load()
'open het bestand
Dim homedirlist As String
Open App.Path & "\leerling_homedir.txt" For Input As 1
'alles in het vak zetten
Do Until EOF(1)
Line Input #1, homedirlist
I_HomedirPath.AddItem homedirlist
Loop
'sluit het bestand
Close 1
End Sub


de code wordt netjes uitgelezen, in in een list gezet in een formulier.

nu worden er meer waardes ingevult in het formulier, waarvan de meeste waardes uit een tekstvak, en bijvoorbeeld zoals de code hierboven in een list
(ik kreeg de waardes uit het bestand niet in een tekstvak ingelezen? iemand ideeen?)

maar als ik alle waardes van het formulier naar een tekstbestand, worden de waardes uit de list niet meegenomen.
code van naar tekstbestand zetten:

code:
1
2
3
4
5
6
7
    'Configuratiebestand openen
Open App.Path & "\nwgeb.gmp" For Append Shared As #1

                 'gegevens aan configuratie bestand toevoegen
            Print #1, I_GNaam; ","; I_VNaam; ","; I_Wachtwoord; ","; I_Commentaar; ","; I_DriveLetter; ","; I_HomedirPath; ","; I_ProfilePath; ","; I_LogonScript
                 'Tekst Bestand sluiten
            Close #1


heeft iemand ideeen wat ik hier fout doe, en zo ja, een eventuele oplossing?

bij voorbaat dank, Jasper

  • sopsop
  • Registratie: Januari 2002
  • Laatst online: 20-05 08:06

sopsop

[v] [;,,;] [v]

Hoezo waarden uit een listbox? Bedoel je meerdere waarden?
Als er 1 geselecteerd item is, dan kun je die gewoon aanspreken als [naam listbox] en krijg je de geselecteerde tekst van de listbox terug. Als je meerdere items in een listbox hebt geselecteerd zal hij alleen de actieve waarde teruggeven (degene die als laatste hebt aangeklikt geloof ik).

=edit= Waarom gebruik je voor het wegschrijven van de waarden
code:
1
parameter1; ","; parameter2

en niet
code:
1
parameter1 & "," & parameter2

[ Voor 20% gewijzigd door sopsop op 27-09-2004 15:26 ]


Verwijderd

Topicstarter
Als we kijken naar de print lijn van het script, zijn I_HomedirPath, I_ProfilePath en I_LogonScript de namen van de listboxen.

deze lisboxen hebben allemaal op moment maar 1 waarde, en dat blijft ook zo waarschinlijk :)

maar ik zie nu idd dat ik ze eerst moet aanklikken zodat ze in het tekstbestand komen.. dit is een beetje veel werk als je dat allemaal moet doen...


kan ik deze gegevens niet in een tekstvak kwijt, op een manir zoals ik nu doe bij de listbox?


de "," waardes ziten ertussen om kommas tussen de teksten te plaatsen, dit heeft te maken met het scrpt dat hiern overheen gaat :)deze worden ook netjes nu in het tekstbestand gezet.

het werkt dus op deze manier, maar wat is het voordeel dan van de & gebruiken, als ik vragen mag...

ok... ik krijg dit script dus niet aan het werk met een gewoon tkstvak, maar wel met een list...
aangezien er maar 1 waarde in dat veld staat, is het een beetje irritant om het telkens te moeten aanklikken.

code:
1
2
3
4
5
6
7
8
9
10
'open het bestand
Dim homedirlist As String
Open App.Path & "\leerling_homedir.txt" For Input As 1
'alles in het vak zetten
Do Until EOF(1)
Line Input #1, homedirlist
I_HomedirPath.AddItem homedirlist
Loop
'sluit het bestand
Close 1


hierbij is homedirlist de naam van de list waar de tekst uit het txt bestand komt te staan.

ideeen iemand?

[ Voor 60% gewijzigd door Verwijderd op 28-09-2004 09:34 ]


Verwijderd

Topicstarter
ok, de oplossing:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
'open het bestand
Dim homedirlist As String
Open App.Path & "\leerling_homedir.txt" For Input As 1
'alles in het vak zetten
Line Input #1, homedirlist
I_HomedirPath = homedirlist
'sluit het bestand
Close 1

'open het bestand
Dim profilepathlist As String
Open App.Path & "\leerling_profilepath.txt" For Input As 1
'alles in het vak zetten
Line Input #1, profilepathlist
I_ProfilePath = profilepathlist
'sluit het bestand
Close 1

'open het bestand
Dim logonscript As String
Open App.Path & "\leerling_logonscript.txt" For Input As 1
'alles in het vak zetten
Line Input #1, logonscript
I_LogonScript = logonscript
'sluit het bestand
Close 1


door dus de
code:
1
]I_LogonScript.add logonscript

te veranderen naar
code:
1
I_LogonScript = logonscript


en de 2 elementen:
code:
1
2
3
Do Until EOF(1)

loop


te wissen, heb ik dus de informatie uit het txt document, wat 1 lijn is, kunnen zetten in de textbox

iig bedankt voor de hulp!

[ Voor 100% gewijzigd door Verwijderd op 28-09-2004 10:06 ]