Otwieranie cd

0

Oto poprawiony kod do otwierania dużych plików

var
Plik : file;
rozmiar : integer;
Buforek: array[1..8192] of Byte;
begin
if Opendialog1.Execute then
begin
AssignFile(Plik, OpenDialog1.FileName);
FileMode:=2;
Reset(Plik,1);
try
rozmiar:=filesize(plik);
repeat
BlockRead(Plik, buforek, SizeOf(buforek),rozmiar);

{co ty wstawic żeby w treewiew pokazywane były "virtualne dyski" a jak na jakiś nacisne to się w listwiew pokazuje pełny spis katalogów z takiego dysku }

until (rozmiar &ltSizeOf(buforek));
finally
closefile(plik);
end;
end;
end;

// a czy dobrze okresliłem rozmiar bufora (pliki mogą mieć wielkość paru Mb i pare milionów lini) prosił bym o informacje czego być nie powinno a co być powinno
---= pozdrawiam Oskar =- (delphi 6 GG:2792614)

0

a do czego jest ten "poprawiony kod"??? {hello} --Vroc
&ltDelphi Knight&gt

0

do otwierania dużych plików binarnych zawierających (w przyszłości) informacje o katalogach na dysku :)
---= pozdrawiam Oskar =- (delphi 6 GG:2792614)

0

nikt nic nie wie na ten temat ???????---= pozdrawiam Oskar =- (delphi 6 GG:2792614)

0

Po pierwsze, jesli uzywasz 4-parametrowego BlockRead to try..finally chyba nie jest potrzebne. Jesli plik bedzie niedostepny (access denied) to przypuszczam ze kod padnie na Reset, ktore jest przed try. Ale nie bede sie klocol jesli ktos uwaza inaczej.

Po drugie, po co przypisujesz jakakolwiek wartosc zmiennej rozmiar. BlockRead wstawi tam ilosc rekordow odczytana przez siebie.

Po trzecie, nie ma na razie na kodu ktory cokolwiek by robil z danymi odczytanymi z pliku, wiec w kazdym obrocie petli repeat..until dane odczytane do bufore beda tracone (nadpisywane nowymi). --Pawel

Delphi6

0

Dlatego sie właśnie pytam co trzeba dodać a co odjąć w tym kodzie, napiszcie jak możecie chociaż jak za pomocą block read/write dodać dużą ilość textu do memo, rith edit, listwiev ... cokolwiek bo nie wiem jak to zrobić !:(---= pozdrawiam Oskar =- (delphi 6 GG:2792614)

0

sciema napisał:
Dlatego sie właśnie pytam co trzeba dodać a co odjąć w tym kodzie, napiszcie jak możecie chociaż jak za pomocą block read/write dodać dużą ilość textu do memo, rith edit, listwiev ... cokolwiek bo nie wiem jak to zrobić !:(
&gt
Nie moge nic rzezbic na temat sposob wstawoiania gdziekolwiek danych odczytanych ze zbioru jesli nie znam struktury tych danych.--Pawel

Delphi6

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