Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.04.08;
Скачать: CL | DM;

Вниз

Помогите срочно!!   Найти похожие ветки 

 
Stupid   (2002-03-27 09:25) [0]

Помогите мне нужна помощь, я выризаю одну часть из файла, но при этом наоборот в файл добавляется какая-то фигня. Вот текст программы:



function GetFileSize(const FileName: string): integer;
var
Stream: TFileStream;
begin
Stream := TFileStream.Create(FileName, fmShareDenyNone);
try
Result := Stream.Size;
finally
Stream.Free;
end;
end;

procedure tracert;
var f:file;
a,s:string;
i,c:integer;
begin
c:=GetFileSize("c:\tested\1.rtf");
assign(f,"c:\tested\1.rtf");
reset(f);
seek(f,c-10);
Truncate(f);
closefile(f)
end;


 
Eug201 ©   (2002-03-27 09:40) [1]

Описание процедуры Reset (См. Help)

procedure Reset(var F [: File; RecSize: Word ] );

Размер записи по умолчанию состовляет 128 байт! А тебе нужен 1! Используй Reset(File,1)

Кстати, в 6 Delphi есть функция FileSize.


 
Alx2 ©   (2002-03-27 09:41) [2]

Попробуй так: (правда, не проверял)
begin
assign(f,"c:\tested\1.rtf");
reset(f,1);
c:=FileSize(f);
seek(f,c-10);
Truncate(f);
closefile(f)
end;



 
Adder ©   (2002-03-27 09:45) [3]

Будьте проще :)

procedure tracert;
var f:file;
c:integer;
begin
assign(f,"c:\tested\1.rtf");
reset(f,1);
c:=FileSize(f);
//здесь не помешает проверить (С-10) > 0 :)
seek(f,c-10);
Truncate(f);
closefile(f)
end;



 
Adder ©   (2002-03-27 09:46) [4]

Синхронное плавание :))))))



Страницы: 1 вся ветка

Текущий архив: 2002.04.08;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.015 c
14-22826
-=CrazyFish=-
2002-02-28 15:48
2002.04.08
Linux


1-22642
SKing
2002-03-26 13:42
2002.04.08
Опять - DeсimalSeparator???


3-22550
Dok_3D
2002-03-14 15:18
2002.04.08
Этот хитрый FOR XML AUTO .......


14-22824
Evgeny
2002-02-28 06:25
2002.04.08
Чужие окна


3-22578
ghost_by
2002-03-14 21:19
2002.04.08
ACCESS и threads