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

Вниз

TFileStream   Найти похожие ветки 

 
chips   (2002-06-20 13:27) [0]

Уважаемые мастера ,может кто подскажет что не так?
Все файлы присутствуют,новый создается ,а в конце
Дельфи ругается ,когда начинает программу выполнять.

procedure TForm1.Button1Click(Sender: TObject);
var
f: TFileStream;
l: integer;
put : string; // имя и путь к файлу
begin
l:=1 ;
if OpenDialog1.Execute then
begin
put:=ExpandFileName(OpenDialog1.FileName); // присваивает полный путь+ имя файла
f:=TFileStream.Create(put, fmOpenRead);//открываем файл
f.Position:=f.Size-260;//устанавливаем позицию в файле для считывания l
f.Read(l, 260);//считываем l
f.free;//закрываем файл
f:=TFileStream.Create("temp1.tmp",fmCreate );// создаем или пишем в файл
f.Write(l,260);
f.Free;
end
else
l:=0;
end ;


 
Skier ©   (2002-06-20 13:31) [1]

> chips
В каком месте ругается ?


 
chips   (2002-06-20 13:36) [2]

после того как все выполнит, на последнем end
пишет: ассеss violation at adress 696c6165.read of adress 696c6165.
может у меня что с "железом" не так ?


 
MBo ©   (2002-06-20 13:43) [3]

f.Read(l, 260);
эта строка читает 260 БАЙТ
и пишет их по адресу, начиная с адреса l

c Write та же ошибка

SizeOf(Integer) используй


 
Skier ©   (2002-06-20 13:52) [4]

> chips
Попробуй это :

procedure TForm1.Button1Click(Sender: TObject);
var
f: TFileStream;
l: integer;
put : string;
begin
l:=1 ;
if OpenDialog1.Execute then
begin
put:=ExpandFileName(OpenDialog1.FileName);
f:=TFileStream.Create(put, fmOpenRead);
try
f.Position:=f.Size-260;
f.Read(l, SizeOf(l));
finally
f.free;
end; //try
f:=TFileStream.Create("temp1.tmp",fmCreate );
try
f.Write(l,SizeOf(l));
finally
f.Free;
end; //try
end
else
l:=0;
end ;


 
chips   (2002-06-20 13:57) [5]

огромное спасибо ,все работает ...:-))



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

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

Наверх




Память: 0.47 MB
Время: 0.014 c
14-1180
VID
2002-05-30 17:55
2002.07.01
Листок заказов на UBPFD.


1-1025
DeMoN-777
2002-06-17 16:31
2002.07.01
Надо запустить разные функции на разних виндах.


14-1168
Snake2000
2002-05-20 10:10
2002.07.01
Девушки-хакеры


4-1259
XEL
2002-04-26 23:27
2002.07.01
Как определить серийный номер ЧИСТОГО cd-r диска


1-965
Programmer1
2002-06-18 09:41
2002.07.01
TWordApplication