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

Вниз

Чтение файла   Найти похожие ветки 

 
Legolas ©   (2007-02-05 16:41) [0]

Начал изучать работу с файлами, возникли проблеммы при чтении. Подскажите пожалуйста, что не так в этом коде (Memo остается пустой)
procedure TForm1.Button1Click(Sender: TObject);
var
 f: TFileStream;
 temp: Char;
 i,j:integer;
begin
 f:=TFileStream.Create("1.exe",fmOpenRead);
 i:=f.Seek(0, soFromEnd);
 for j:=0 to ((i div 10)+1)do
   begin
     f.Read(temp, 10);
     f.Seek(10, soCurrent);
     Memo1.Lines.Add(PChar(temp));
   end;
end;


 
Elen ©   (2007-02-05 16:44) [1]


> Подскажите пожалуйста, что не так в этом коде (Memo остается
> пустой)

Ну во-первых тип temp не соответствует нужному для этой операции, а во-вторых Memo не любит управляющих символов, наличие коих в екзешках весьма множественное.
Зачем тебе читать экзешки?


 
Loginov Dmitry ©   (2007-02-05 16:45) [2]

> Подскажите пожалуйста, что не так в этом коде


Да все не так.


 
Kolan ©   (2007-02-05 16:48) [3]

> Memo не любит управляющих символов

Как это не любит? :)


 
iXT ©   (2007-02-05 16:55) [4]


> Начал изучать работу с файлами

Уважаемый, это где же так учат?

> i:=f.Seek(0, soFromEnd);
>  for j:=0 to ((i div 10)+1)do
>    begin
>      f.Read(temp, 10);
>      f.Seek(10, soCurrent);

А что по вашему должно тут происходить?


> Kolan ©   (05.02.07 16:48) [3]

Ну вот никак. Говорит Exeption: "I don"t like it. Memo."
:)


 
Elen ©   (2007-02-05 16:59) [5]


> Ну вот никак. Говорит Exeption: "I don"t like it. Memo."
> :)

Не оно героически молчит, проглатывая всякую бяку, которую ему подсовывает неразумный программер, а потом программер удивляется мол чего это у мемо не дает все содержимое, а у мемо в это время Microsoft migraine и в стрингах бяка.


 
TRUNK ©   (2007-02-06 10:29) [6]

procedure TForm1.Button1Click(Sender: TObject);
var
f: TFileStream;
temp: array[0..9] of Char;
i,j:integer;
begin
f:=TFileStream.Create("1.exe",fmOpenRead);
i:=f.Seek(0, soFromEnd);
for j:=0 to ((i div 10)+1)do
  begin
    f.Read(temp, 10);
    f.Seek(10, soCurrent);
    Memo1.Lines.Add(temp);
  end;
end;


 
icWasya ©   (2007-02-06 10:44) [7]

после
i:=f.Seek(0, soFromEnd);
нужно
а.Seek(0, soFromBegin);



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

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

Наверх




Память: 0.48 MB
Время: 0.038 c
15-1170252972
Ломброзо
2007-01-31 17:16
2007.02.25
Помогите с бухучётом :)


6-1158300229
dwar
2006-09-15 10:03
2007.02.25
TCP сервер на INDY. 18000 одновременных подлючений


3-1165066951
Express
2006-12-02 16:42
2007.02.25
Получить свойство столбцов


15-1170324550
ocean
2007-02-01 13:09
2007.02.25
Витая пара на 200 м


15-1168949697
Vlad Oshin
2007-01-16 15:14
2007.02.25
Рационализаторская идея про стир.машины