Du har nog hämtat dom binärt - försök att föra över dom i text-mode istället. Alternativet är att även läsa dom binärt, exempelvis: Hej Tackar. Läs in hela filen och skriv tillbaks den med vbCrLf iställlet för chr$(10).Hur får jag radbrytningar från en UNIX-fil?
Jag har ett program som ska läsa textfiler och plocka data från dem.
Mitt problem är att programmet idag funkar fint med att plocka data från filer som skapats av programvara på Win-OS. Snart ska det även plocka data från liknande programvara, på likadana filer, men från UNIX.
Jag får över filerna och allt är prima, men då jag anvädner line input som kommando så hajjar den inte något av unix-filerna som saknar line feed, eller carriage return (?).
Finns det något smart kommando i stället för line input som jag kan använda så att den hajjar det oavsett om det är en Win-fin eller UNIX-fil?
/AlexSv: Hur får jag radbrytningar från en UNIX-fil?
<code>
Dim Buffer as string * 200
Open "text.fil" for binary as #1
Get #1,1, Buffer
Close
</code>
/PelleSv: Hur får jag radbrytningar från en UNIX-fil?
Frågan har varit uppe innan,då gjorde jag en lösning som
ersatte Chr$(10) med vbCrLf.Sedan funkade Line Input ua.
Om du skickar ett kort exempel av texten kan jag,ge dig
ett exempel på hur jag gjorde.Man kan börja att göra som
pelle skriver och därefter leta upp alla Chr$(10) där gör man
radskifte. Om jag minns rätt så var det ett problem till ANSI ASCII
kommer inte ihåg exakt.
mvh
SvenSv: Hur får jag radbrytningar från en UNIX-fil?
Jo det är en "vanlig" textfil i en unix-maskin som jag öppnar med:
Open "textfil.txt" For Input As #1
Och sen har jag en loop som letar efter en viss rad som innehåller en viss text.
line input #1, rad
--nu letar jag om possition 30 - 50 är .. vad det nu skulle vara--
if mid(rad,30,50)="hejsan hoppsan" then...
loop
Mitt problem är att den raden som jag hämtar inte är det samma i NT och i UNIX... och därmed blir inte positionerna rätt heller.Sv: Hur får jag radbrytningar från en UNIX-fil?
eller
Läs in hela filen och gör en split(sträng, chr$(10))
/Niklas Jansson