Nu er det jo ikke alle filer, det giver mening at åbne i en textbox, billedfiler f.eks. blviver kun til en masse tegn - også de ikke printbare små ansigter :-)
Men ellers, hvis det er en tekst-fil indeholder 'filelist.filename' filens navn og den kan åbnes med
Open filename for input as #1
Om du så vil læse den én linie ad gangen eller i ét hug skal du skrive h.h.v.
Do while EOF(1) = False line input #1, linie 'linie skal være dimmet som string forinden Loop
For at skrive linien til en tekstbox
text1.text = text1.text & linie ' 2. gang stod der jo noget i forvejen ,det skal ikke slettes
eller i ét hug:
text1.text= Input(FileLen(filename), 1)
Husk at lukke filen med: Close #1
For at gemme noget fra en tekstboks som en fil:
Open filnavn for output as #1 print #1, text1.text close #1
filstørrelse i bytes: filelen(filename)
Dato og tid: FileDateTime(filename)
Det var vist det.
Din VB indeholder online-hjælp: Markér et ord (f.eks. 'Input' og tast F1)
Prøv at lægge mærke til hvor VB stopper - altså hvor fejlen er.
Prøv at tjek hvad fil indeholder EFTER kørsel af linien
fil = File1.Path & File1.FileName
Det kan du f.eks. tjekke ved at skrive Msgbox "Fil indeholder : " & fil
(Eller du kan lave et watch på variablen, et breakpoint lige efter linien e.l. - der er masser af muligheder for at debugge)
Der vil du se at der sikkert mangler en backslash - og derfor virker ingenting. Således skulle du have skrevet
fil = File1.Path & "\" & File1.FileName
Generelt i VB: Læg mærke til hvor programmet stopper - og tjek om de variable du arbejder med indeholder det du regner med - der ligger fejlen 99% af gangene :o)
xenophobia >> Jeg har en del filer, der er databaser, hvor hver post f.eks. har 20 felter, der i ascii-filen er adskilt med 'CRLF' (ascii 13 og ascii 10 - Enter og linieskift). Jeg læser med en løkke:
Dim linie(20) as String
Open netsti & "filnavn" for input as #3 Do while EOF(3) = False For a = 0 to 19 Line Input #3, linie(a) listdata.additem linie(0) & " " & linie(1) Next a Loop Close #3
Hvis der er kommet et 'hårdt linieskift' for meget så antallet af linier ikke mere er multiplum af 20, så går det galt. Så får jeg også 'Input past end of File'.
Jeg har aldrig forsøgt at læse andre filer end ascii-filer med 'Open for Input'. Billeder f.eks. skal jo læses som billeder ind i en picturekontrol og lydfiler skal afspilles. Hvad er det for filer du vil læse ind som ikke er tekstfiler?
Jo bestemt. Markér fileboxen. Find "pattern" i properties menuen. Der står *.* i forvejen. Her kan du så skrive *.txt så er det kun tekst filer som du kan se. Hvis du vil se flere filer skriver du ; i mellem. Eks.
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.