Avatar billede krydset Nybegynder
24. maj 2005 - 18:51 Der er 15 kommentarer og
2 løsninger

skrive indhold fra filelistbox

hejsa.

Hvordan kan jeg få vb til at skrive indholdet fra en filelistbox til en textfil, jeg har koden der skriver til textfilen, men mangler at finde ud af hvordan man skriver indholdet fra filelistbox til textfilen

Min kode indtil videre

Private Sub cmdTxtfil_Click()
    Dim filnummer As Integer
    Dim filnavn As String
   
    'unikt filnummer findes her
    filnummer = FreeFile
    'fil oprettes her
    filnavn = "c:\text.txt"
   
    Open filnavn For Output As #filnummer
        Print #filnummer, "hejsa /r min ven"
    Close #filnummer
   
   
End Sub

Private Sub Command1_Click()
    'Lukker programmet
    End
End Sub

Private Sub Dir1_Change()
    File1.path = Dir1.path
End Sub

Private Sub Drive1_Change()
    Dim path As String
    path = Drive1.Drive
    Dir1.path = path
End Sub

Nogen der ved hvordan ?

Og lige en til, når jeg nu skriver til txt fil, hvordan kan jeg så lave linieskift i dem ?
Avatar billede thesurfer Nybegynder
24. maj 2005 - 18:54 #1
Brug en loop:

dim tmp ' skal defineres globalt, dvs som en af de første linier i toppen af kodeområdet

for i = 0 to File1.ListCount
  tmp = tmp & File1.list(i) & vbCrLf
loop

og: Print #filnummer, tmp

Linieskift = vbCrLf
Avatar billede thesurfer Nybegynder
24. maj 2005 - 18:57 #2
Med "globalt" mener jeg "(General)"..

- Svar..
Avatar billede joern Nybegynder
24. maj 2005 - 19:03 #3
Hej.

Nu har spørgeren ikke været på igen, men der er et par unøjagtigheder i dit svar thesurfer.

Global kan ikke bruges i forme, kun i moduler.  Men der er heller ikke nødvendigt med Global, når der kun forekommer én form, så er Dim tilstrækkelig.

Listcount indeholder antallet af poster, men den sidste post's index er 1 lavere, fordi index starter fra nul.  Loop fungerer vist heller ikke sammen med For -
For / Next
Do While / Loop

for i = 0 to File1.ListCount - 1
  tmp = tmp & File1.list(i) & vbCrLf
loop

Jeg ville nu ikke lave én stor variabel før skrivning men:

Open filnavn for Output as #1
  for i = 0 to File1.ListCount - 1
    file1.listindex = i
    Print #1, file1.Filename
  Next i
Close #1

M.v.h. Jørn
Avatar billede thesurfer Nybegynder
24. maj 2005 - 19:10 #4
Hehe.. ja, der var et par fejl :-)

1) jeg skrev "globalt".. men jeg skrev også "dim tmp", og at med "globalt" mente jeg "(General)"

2) Jeg er vant til "Do while not rs.eof ... Loop", da jeg tit programmer i asp :-)

3) Men jeg forstår ikke helt, hvorfor du bruger file1.listindex = i .. hvorfor ikke bare bruge file1.list(i) ..?
Avatar billede joern Nybegynder
24. maj 2005 - 19:18 #5
Hej thesurfer>>

ad 3)  Når index sættes, kan man se på skærmen at der læses, såmænd bare derfor.

M.v.h. Jørn
Avatar billede krydset Nybegynder
24. maj 2005 - 19:30 #6
og så lige det med mellemrum ? Ell. kommer det automatisk ?
Avatar billede joern Nybegynder
24. maj 2005 - 20:13 #7
Hej.

Mellemrum?  Forklar!

M.v.h.  Jørn
Avatar billede thesurfer Nybegynder
24. maj 2005 - 20:18 #8
Jeg tror at "mellemrum" = linieskift .. laver den ikke automatisk en ny linie, når man bruger Print? Hvis ikke, så skal det være:

    Print #1, file1.Filename & vbCrLf
Avatar billede joern Nybegynder
24. maj 2005 - 20:34 #9
Hej thesurfer.

Jo, med print #1, sættes linieskift efter hver post

M.v.h.  Jørn
Avatar billede krydset Nybegynder
24. maj 2005 - 21:11 #10
jow mente linieskift
Okaj, :-D

Kigger lige lidt nærmere på det her inden jeg går i seng
Avatar billede krydset Nybegynder
24. maj 2005 - 21:47 #11
Hmmm, hvis nu man skulle lave det med mapper hvad bruger man så istedet for file1.FIlename ?
Avatar billede martin_moth Mester
24. maj 2005 - 21:50 #12
prøv at være mere præcis når du spørger

"laver det med mapper"

Hvilke mapper?
"Det"?
Avatar billede krydset Nybegynder
24. maj 2005 - 21:54 #13
ja nok hvordan man skriver hvilke mapper der findes i et dir til en txt fil, nøjagtig som med filer som ovenover
Avatar billede joern Nybegynder
24. maj 2005 - 23:07 #14
Hej.

Ja, så måtte du vel bruge en DirListBox, - har aldrig prøvet.

M.v.h. Jørn
Avatar billede martin_moth Mester
25. maj 2005 - 06:20 #15
Med/uden alle undermapper?
Avatar billede martin_moth Mester
25. maj 2005 - 06:26 #16
Hvis du med filer gør sådan:

Open filnavn for Output as #1
  for i = 0 to File1.ListCount - 1
    file1.listindex = i
    Print #1, file1.Filename
  Next i
Close #1

så er det nok noget i denne retning med en Drivelistbox:

Open filnavn for Output as #1
  For i = 0 To Dir1.ListCount - 1
    Print #1, Dir1.List(i)
  Next i
Close #1
Avatar billede martin_moth Mester
25. maj 2005 - 06:29 #17
Men den løsning tager ikke underfoldere med!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester