Kan de lade sig gøre at tilføje linjer til en tekst til således at den nyeste linje altid står øverst, og i så fald hvordan ?
For har normalt altid brugt FileSystemObjects og der bliver det hele tiden tilføjet sidste i filen.
Har nemlig brug for det står i toppen, da det så er dennemre at lave en funktion der læser f.eks de første 10, 20 eller 30 linjer. Frem for at skulle lave noget der gør det fra bundne af ihverfald lige efter hvad jeg kender til det.
Nej, det findes der ikke nogen let måde at gøre. Den eneste mulighed er:
1) Starte med at læse hele finen, linje for linje, ind i et array. 2) Slette filens indhold. 3) Skrive de nye linjer ud. 4) Skrive indholdet fra arrayet ud.
Hvis der er mange linjer i tekstfilen, så kan dette godt være ret tungt at have med at gøre.
Ja det er nok bedst at gøre som thesurfer skriver.. fx.
Private Sub Form_Load() Call AddTextToTop("Linje " & Now & vbCrLf, "C:\Test.txt") End Sub
Public Sub AddTextToTop(strText As String, strFilename As String) Dim bRead() As Byte Dim nLenght As Long Dim intFree As Integer intFree = FreeFile Open strFilename For Binary Access Read Write As #intFree nLenght = (LOF(intFree) - 1) If nLenght >= 0 Then ReDim bRead(nLenght) As Byte Get #intFree, 1, bRead End If Put #intFree, 1, strText If nLenght >= 0 Then Put #intFree, , bRead End If Close #intFree End Sub
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.