Cześć !
Mam problem :-) Potrzebuję procedurki, która wytnie z pliku pierwsze lub ostatnie 100 KB, tak żeby plik który miał 4 MB miał 3.9 MB.
--Delphi is THE BEST !!!!
Cześć !
Mam problem :-) Potrzebuję procedurki, która wytnie z pliku pierwsze lub ostatnie 100 KB, tak żeby plik który miał 4 MB miał 3.9 MB.
--Delphi is THE BEST !!!!
Otwierasz plik (np. przez TFileStream) i kopiujesz go do następnego obiektu TFileStream ale zaczynając od 100KB (Seek). O to chodzi?--Jest jeszcze jeden błąd ... :)
Apel: Piszcie w tematach o jaki język programowania chodzi np. : [Delphi], [C++], itp.
Prośba o pomoc do Delphi po polsku. Oceniajcie i dodawajcie komentarze
http://codecentral.borland.com/codecentral/ccweb.exe/listing?id=18659
Oficjalny kanał IRC serwisu 4programers:
serwer: warszawa.ircnet.pl sieć: POLNet kanał: #4programmers.net
Otwierasz plik (np. przez TFileStream) i kopiujesz go do następnego obiektu TFileStream ale zaczynając od 100KB (Seek). O to chodzi?
Niezupełnie, bo jeśli mam np: 200 MB wolnego miejsca i 190 MB, to nie będzie miejsca na tempy, a mi chodzi o to żeby uciąć plik nie kopiując go do jakiś buforów. --Delphi is THE BEST !!!!
x44 napisał:
>Niezupełnie, bo jeśli mam np: 200 MB wolnego miejsca i 190 MB, to nie będzie miejsca na tempy, a mi chodzi o to żeby uciąć plik nie kopiując go do jakiś buforów.
>
Żeby wyciąć ostanie 100KB:
var
Plik : file of Byte;
begin
AssignFile(Plik, 'c:\q.txt');
Seek(Plik, FileSize(Plik)-100*1024);
Truncate(Plik);
CloseFile(Plik);
end;
--Jest jeszcze jeden błąd ... :)
Apel: Piszcie w tematach o jaki język programowania chodzi np. : [Delphi], [C++], itp.
Prośba o pomoc do Delphi po polsku. Oceniajcie i dodawajcie komentarze
http://codecentral.borland.com/codecentral/ccweb.exe/listing?id=18659
Oficjalny kanał IRC serwisu 4programers:
serwer: warszawa.ircnet.pl sieć: POLNet kanał: #4programmers.net
A to, żeby usunąć pierwsze 100KB:
var
Z, D : TFileStream;
Plik : file of Byte;
Buf : array [0..1023] of Byte;
begin
Z := TFileStream.Create('c:\q.txt', fmShareDenyNone or fmOpenRead);
D := TFileStream.Create('c:\q.txt', fmShareDenyNone or fmOpenWrite);
Z.Seek(1001024,soFromBeginning);
while Z.Position < Z.Size do
begin
Z.Read(Buf, sizeof(Buf));
D.Write(Buf, sizeof(Buf));
end;
Z.Free;
D.Free;
AssignFile(Plik, 'c:\q.txt');
Reset(Plik);
Seek(Plik, FileSize(Plik)-1001024);
Truncate(Plik);
CloseFile(Plik);
end;
--Jest jeszcze jeden błąd ... :)
Apel: Piszcie w tematach o jaki język programowania chodzi np. : [Delphi], [C++], itp.
Prośba o pomoc do Delphi po polsku. Oceniajcie i dodawajcie komentarze
http://codecentral.borland.com/codecentral/ccweb.exe/listing?id=18659
Oficjalny kanał IRC serwisu 4programers:
serwer: warszawa.ircnet.pl sieć: POLNet kanał: #4programmers.net
Dryobates napisał:
A to, żeby usunąć pierwsze 100KB:
>
>var
> Z, D : TFileStream;
...
> CloseFile(Plik);
>end;
>
>
Fajna procedurka ale jeśli mam plik 300MB i 10MB wolnego na dysku to nie działa ;( (wiesza sie koomp).
Ciekawe czy możliwe jest napisanie procedurki działającej równie szybko jak Truncate ale obcinającej początek a nie koniec...--Delphi is THE BEST !!!!
x44 napisał:
>Fajna procedurka ale jeśli mam plik 300MB i 10MB wolnego na dysku to nie działa ;( (wiesza sie koomp).
>
hmm... u mnie to nawet bez przycinania plików pada jak mam 10MB wolnego :)--Jest jeszcze jeden błąd ... :)
Apel: Piszcie w tematach o jaki język programowania chodzi np. : [Delphi], [C++], itp.
Prośba o pomoc do Delphi po polsku. Oceniajcie i dodawajcie komentarze
http://codecentral.borland.com/codecentral/ccweb.exe/listing?id=18659
Oficjalny kanał IRC serwisu 4programers:
serwer: warszawa.ircnet.pl sieć: POLNet kanał: #4programmers.net