jeg har åbne en fil med dette indhold og med List1.AddItem MinString se indholdet i list boxen. Det går fint til linie 3, den vises ikke.
Måske er der også en anden løsning. De filer som bliver sat sammen indeholder hver EOF. Hvis der nu var en svart måde at fjerne EOF på før filerne bliver sat sammen, er problemet løst.
Private Declare Function ReadFile Lib "kernel32" (ByVal hFile As Long, lpBuffer As Any, ByVal nNumberOfBytesToRead As Long, lpNumberOfBytesRead As Long, ByVal lpOverlapped As Any) As Long Private Declare Function CreateFile Lib "kernel32" Alias "CreateFileA" (ByVal lpFileName As String, ByVal dwDesiredAccess As Long, ByVal dwShareMode As Long, ByVal lpSecurityAttributes As Any, ByVal dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, ByVal hTemplateFile As Long) As Long Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long Private Declare Function GetFileSize Lib "kernel32" (ByVal hFile As Long, lpFileSizeHigh As Long) As Long
Dim lngRet As Long Dim bBytes() As Byte Dim i As Long Dim strText As String Dim hOrgFile As Long Dim ret As Long i = 1 hOrgFile = CreateFile("c:\test.txt", GENERIC_READ, FILE_SHARE_READ Or FILE_SHARE_WRITE, ByVal 0&, OPEN_EXISTING, 0, 0) lngRet = GetFileSize(hOrgFile, 0)
Beklager lokespas, men jeg forventede en simpel kode. Jeg kan slet ikke overskuge din kode.
Jeg har selv lavet følgende "løsning" 1. Før filerne bliver append'et sammen 2. så laver jeg en open fil til et array 3. derefter sletter jeg filen 4. tilslut udlæser jeg til det sammen filnavn.
'indlæs filen i array FilNummer = FreeFile Open filsti(antalfil) For Input As #FilNummer Do While Not EOF(FilNummer) Line Input #FilNummer, MinString(linetxt) linetxt = linetxt + 1 Loop Close #FilNummer
'slet fil Kill filsti(antalfil)
'genopret filen For gemx = 0 To linetxt - 1 FilNummer = FreeFile Open filsti(antalfil) For Append As #FilNummer Print #FilNummer, MinString(gemx) Close #FilNummer Next gemx
Eneste funktion jeg ønsker er at fjerne det sidste tegn i tekst filen, sidste tegn er EOF
Har nogen en supper simpel løsning. ps. skal bruges i dos Mvh Jan
Åbn filen, læs det hele ind i en variabel, fjern sidste tegn (med Mid og Len) og gem igen.
Jeg kan ikke hitte ud af om du taler om een fil, om flere filer osv. Synes det er lidt uklart hvad du har gang i - du er lidt kortfattet, og fortæller lidt mindre end der er nødvendigt at vide for at undgå misforståelser... Men nedenstående kode fjerner sidste tegn i en fil, og det er vist det du spørger om...
Dim FilNummer As Integer Dim MinStreng As String FilNummer = FreeFile
'Læser HELE filen Open "C:\MinFil.txt" For Input As #FilNummer MinStreng = Input(LOF(FilNummer), 1) Close #FilNummer
'Fjerner sidste tegn MinStreng = Mid(MinStreng, 1, Len(MinStreng) - 1)
'Skriver filer Open "C:\MinFil.txt" For Output As #FilNummer Print #FilNummer, MinStreng Close #FilNummer
Hej igen jeg har næsten løsningen Open filsti(antalfil) For Binary As #FilNummer MinStreng = Space(LOF(1)) Get #1, 1, MinStreng Close #FilNummer Desværre efterlader den nu en tom linie, som jeg skal have slette.
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.