Re: pascal - binarni soubor

From: Paco (paco@seznam.cz)
Date: 11. 08. 2002, 18:01 CEST


> to s tim readln celeho stringu jsem nevedel - rozhodne to zacnu pouzivat
> mas pravdu ze je to presne to co jsem potreboval - diky!
> ale asi to nebude idealni pri nacitani libovolneho textoveho souboru, kde se
> muze v jednom radku vyskytnout vice jak 255 znaku :(
> diky zdar martin

Hmmm... ale pokud se nemylim, tak jsi prohlasoval,
ze o tom vsechno vis... ;-)))

Textfile  a wite() / read() toho vubec umi celkem
dost - pochopitelne v intencich Pascalu. Neni ani
treba cist vsech tech asi 5kg papiru, ktere byly
s TP 7 dodavany, staci uplne Programmer's Reference.
Predevsim neni nutne treba pouzivat Readln(). Read()
dela naprosto totez s jedinou vyjimkou, ze totiz
nepreskakuje eoln, ktery (je-li to potreba) je nutno
preskocit (nebo precist) explicitne. BTW: Readln(f)
bez parametru proste skoci odkudkoli na zacatek
dalsiho radku (nebo z posledniho na eof).

Pri cteni (i zapisu ovsem) je pak rozhodujici, do
jakeho typu se cte (jaky se zapisuje), pricemz tech
parametru ruznych typu muze byt v read() (nebo ve
write()) kolik je libo.

takze napr.: c:char; r:real; i:integer; s:string;
r:=3.14159; c:='A'; i:=12345; s:='string[8]';
Write(f,r:8:2,c,i:8,s:8); zapise do f:text tohle:

____3.14A___12345__string (kde _ je space)

Writeln() udela totez, jenze za to jeste prida eoln.
Read(f,r,c,i,s) pak nacte do prislusnych promennych

3.14,'A',12345,'__string'

a zastavi se na eoln, Readln() udela totez plus jeste
preskoci eoln na zacatek dalsiho radku.
Obecne vzato je IMHO textfile v Pascalu docela silny
nastroj pro zapis, cteni (a zpracovani) i relativne
slozitych struktur. Pokud se ovsem udela chyba prave
v te strukture nebo v pouziti chybneho typu ci delky,
muze byt hledani bez debugeru dost zapeklite...

pako Paco. 


______________________________________________________________________
Reklama:
E-mail zdarma na cely zivot: http://email.seznam.cz



This archive was generated by hypermail 2.1.2 : 11. 08. 2002, 18:01 CEST