Gå til innhold

Error Error 62, Input past end of file?


Anbefalte innlegg

Koffor for eg denne file meldingen i denne koden? (Og kossen kan eg fiksa det?)

 

dte ska jo ikkje ver muligt for LOF og returnera mer tegn en der e i filå, så koffor får eg feil melding og kossen kan eg fiksa det? (PS. Koden har virka før..)

Error: 62 Input past end of file

 

Open FileName For Input As #lFree
   sBuffer = Input(LOF(lFree), lFree)
Close #lFree

 

Syntax

 

Input(number, [#]filenumber)

 

Part Description :

number:      Required. Any validnumeric expression specifying the number of   

                  characters to return.

filenumber:  Required. Any validfile number.

 

(fra msdn) :no::no:
Lenke til kommentar
Videoannonse
Annonse

Sannsynligvis inneholder filen du leser ifra en eller flere nullkarakterer, hvilket oppfattes av Input at lesingen har nådd filens endelse. Følgende kode reproduserer problemet:

 

   Dim sBuffer As String, Free As Long
   
   ' Generer informasjonen
   sBuffer = "hallo" & Chr(0) & "verden"
   
   Free = FreeFile
   
   ' Skriv den til filen
   Open "C:\Something.txt" For Binary As #Free
       Put #Free, , sBuffer
   Close #Free
   
   Free = FreeFile

   ' Åpne fil
   Open "C:\Something.txt" For Input As #Free
      sBuffer = Input(LOF(Free), Free)
      Debug.Print LOF(Free)
   Close #Free

 

En løsning på dette, er å benytte Binary-nøkkelordet istedenfor Input, slik at en kan håndtere nullkarakterer:

 

   Dim sBuffer As String, Free As Long
   
   Free = FreeFile
   
   ' Åpne fil
   Open "C:\Something.txt" For Binary As #Free
       
       ' Alloker buffer til samme størrelse som fil
       sBuffer = Space(LOF(Free))
       
       ' Last inn all data bufferen kan romme
       Get #Free, , sBuffer
       
   Close #Free

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...