Detta ex läser ju bara en rad KAnske så här du menar: Ja nästan Då behöver du inte läsa radvis. Läs in hela filen istället. kan man inte göra så här också?? Det kan man göra. Men det är mycket ineffektivt. HejLäsa flera rader
Om jag vill kunna läsa flera rader från en fil
Hur gör jag då?
Open "TT.txt" For Input As #1
Line Input #1, Text
Text2.Text = Text2.Text + Text
Close
SörenSv: Läsa flera rader
<code>
Dim FileNo as long
Dim strLine as string
FileNo = FreeFile()
Open "TT.txt" For Input As #FileNo
Do Until EOF(FileNo)
Line Input #FileNo, strLine
Text2.Text = Text2.Text + strLine
Loop
Close FileNo
</code>Sv: Läsa flera rader
Detta ger ju en lång rad
Men om man vill ha dom radvis, precis som när man läser domSv: Läsa flera rader
<code>
Dim FileNo As Long
Dim FileName As String
Dim strText as string
FileNo = FreeFile()
FileName = "TT.txt"
Open FileName For Binary Access Read As #FileNo
strText = Space(LOF(FileNo))
Get #FileNo, , strText
Close FileNo
Text2.Text = strText
</code>Sv: Läsa flera rader
Dim FileNo as long
Dim strLine as string
FileNo = FreeFile()
Open "TT.txt" For Input As #FileNo
Do Until EOF(FileNo)
Line Input #FileNo, strLine
Text2.Text = Text2.Text + strLine & vbCrlf
Loop
Close FileNo
undrar BJ utan att testaSv: Läsa flera rader
* Att läsa från hårdisken är en långsam operation.
* Line input innebär en sökning till nästa radbrytning.
* Sträng konkratenering kräver att du dimensionerar om variabeln för varje tilldelning. Vilket stjäl tid.
* Att anrop egenskapen på textbox långsamare än att använda en variabel.
Däremot strular binary om filen är i unicodeformat. Sv: Läsa flera rader
Mitt favoritsätt har blivit
Dim FileNo As Long
Dim tmpStr As String
FileNo = FreeFile
Open "TT.txt" For Input As #FileNo
'Läs hela texten i en chunk
tmpStr = Input$(LOF(FileNo),FileNo)
Close FileNo
Text1.Text = tmpStr 'Text1 MultiLine = True
Sven