BlockRead

0

Ktos mi kiedys powiedzial ze jest taka procedura blockread ktora moze czytac wszystki pliki nawet exe, bmp itd... Czy ktos moze mi powiedziec jak sie jej uzywa?? Chodzi mi przede wszystkim o jej parametry... {glowa} --Delphi 6, Pascal

----====Pozdrawiam @LL====----
------====== RFL ======------
--==[ [email protected] ]==--

0

Tak więc BlockRead( File , Buf , Count , Read )
File - przypisany plik wcześniej otwarty;
Buf - bufor;
Count - wielkość bufora SizeOf(buf);
Read - ilość przeczytanych informacji : integer; , w niektórych zastosowaniach można pominąć.

{hello}

--Pozdrowienia {hello} {hello} {hello}
Chodek ;)
Delphi 6

0

EEEEEEEE......... A o co chodzi z tym buforem?? {glowa} hmm... --Delphi 6, Pascal

----====Pozdrawiam @LL====----
------====== RFL ======------
--==[ [email protected] ]==--

0

Bufor to miejsce w pamieci, wktorym znajdzie sie to co przeczytasz. Np. zmienna. Powiedzmy, ze chcesz wczytac plik danych 16-bit do tablicy dynamicznej.

var
tablica : array of word;
f: file of word;
begin
assignfile(F,'c:\plik.dat');
reset(F);
setlength(tablica, filesize(F);
blockread(F, tablica[0], filesize(F));
CloseFile(F);
{pisane ze glowy, moga byc bledy}

wazne: przy tablicach dynamicznych trzeba koniecznie pisac w blockread i blockwrite tablica[0] a nie tablica, a przy lancuchach s[1] a nie s.

--Pawel

Delphi6

0

i jescze troche autoreklamy: przyklady uzycia Blockread i blockwrite masz tu:
http://www.4programmers.net/forum/index.php?action=show&id=4390

Jak latwo zauwazyc ja pomijam parametr Read (vide Chodek powyzej). Jesli sie go pomija, a w pliku jest mniej danych niz Count, to sie program wywala. Jesli dasz zmienna read, to bedzie w niej liczba rekordow, ktora udalo sie odczytac i sie nie wywali, nawet jesli to bedzie mniej niz count.--Pawel

Delphi6

1 użytkowników online, w tym zalogowanych: 0, gości: 1