Avatar billede michaelmark Nybegynder
07. februar 2001 - 15:14 Der er 13 kommentarer og
1 løsning

Konvertering af tekstfil

Hej,

Jeg vil gerne lave et program, som kan konvertere en tekstfil, som ikke indeholder feltseparator, men kun linieskift. Når man importerer den kommer den i en lang tekstfil. Det er ikke muligt at ligge det ud i poster. Er der nogle der allerede har lavet et sådant lille program?
Avatar billede tdaugaard Nybegynder
07. februar 2001 - 15:20 #1
Jeg er ikke helt sikker på hvad du vil ... vil du bruger hver enkelt linie som een post ?
Avatar billede cstern Nybegynder
07. februar 2001 - 15:28 #2
Du kan vel bare bruge

Line Input #1, strVar

så læser du hele linien ind i strVar

(var det det du spurgte om?)
Avatar billede cstern Nybegynder
07. februar 2001 - 15:32 #3
Ahem, vil det sige at der KUN er linefeed (CHR$(10)), ikke Carriage Return (CHR$(13)) (eller CR LF)
Avatar billede cstern Nybegynder
07. februar 2001 - 15:44 #4
Hvis ja, så kan du benytte følgende til at først at lave LF om til CRLF (vbCrLf) i filen, så du efterfølgende kan indlæse linievis til dine variable med Line Input:

http://www.planet-source-code.com/xq/ASP/txtCodeId.10931/lngWId.1/qx/vb/scripts/ShowCode.htm
Avatar billede tdaugaard Nybegynder
07. februar 2001 - 16:02 #5
cstern:> faktisk ER der jo så en feltseperator, nemlig CHR$(10) ..
Avatar billede cstern Nybegynder
07. februar 2001 - 16:06 #6
Jo, nu havde jeg bare tankerne fixeret på Line Input som tilsyneladende kræver en CHR$(13)
Avatar billede tdaugaard Nybegynder
07. februar 2001 - 16:11 #7
*S* nemmerlig ..
Avatar billede michaelmark Nybegynder
14. februar 2001 - 10:05 #8
->cstern

Hvordan var det nu lige at jeg kalder de procedurer som ligger i linket?
Avatar billede cstern Nybegynder
14. februar 2001 - 10:13 #9
Dim strFilnavn As String, strError As String

strError = \"\"
strFilnavn = \"MinInptfil.txt\"

If ReadTheFile(strFilnavn, strError) Then
  MsgBox strFilnavn & \" er konverteret!\", vbOKOnly, \"Konverter\"
Else
  MsgBox strFilnavn & \" blev ikke konverteret\" & vbCrLf & _
        \"Fejlkoden var: \" & strError, vbOKOnly, \"Konverter\"
End If
Avatar billede michaelmark Nybegynder
14. februar 2001 - 11:05 #10
Det kan jeg også godt få til at virke nu, men nu ligge landet så at dataene ligger horisontalt, og at disse data vil jeg gerne have til at ligge vertikalt i filen. Der er en endgroup efter hver post. Hvordan grejer jeg lige den?
Avatar billede cstern Nybegynder
14. februar 2001 - 11:19 #11
Jeg tror det letteste er at lave en ny fil, hvor du udskriver posterne en af gangen med en print eller put kommando. Så kan du til sidst lave en backup af (omdøbe) input filen og omdøbe den nye til til at hedde det samme som inputfilen (husk at lave check, så du ikke overskriver inputfilen ved et uheld, f.eks hvis \"omdøb\" gik galt i backup delen).
Avatar billede michaelmark Nybegynder
14. februar 2001 - 11:35 #12
Hvordan kan jeg få vb til at læse det som en enkelt post? En post hænger sammen med flere linier(horisontalt) posten starter med en group.. og slutter med en endGroup?
Avatar billede cstern Nybegynder
14. februar 2001 - 11:41 #13
Det er svært at svare på når man ikke kender dine data konkret. Er der f.eks. altid det samme antal felter i posterne osv. Hvis du kunne opette en Type definition som kunne indeholde en post kan du udskrive denne på en gang til en ny fil, i binært format. Eller udskrive felterne linie for linie, eller hvad ved jeg. Det er som sagt svært uden at kende forholdene.
Avatar billede michaelmark Nybegynder
14. februar 2001 - 11:50 #14
Men hvordan får jeg vba til at til at læse linie for linie? Og det er samme format hver gang!
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester