Главная страница
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.032 c
15-1170118915
CRT
2007-01-30 04:01
2007.02.25
Только Самсунг производит ещё большие CRT мониторы?


15-1170321015
Vaitek__
2007-02-01 12:10
2007.02.25
Используете ли вы Wi-Fi?


15-1170296895
Дом
2007-02-01 05:28
2007.02.25
Нет ли какого нибудь устройства, чтоб подключать к компу и управл


2-1171017452
User_OKA
2007-02-09 13:37
2007.02.25
база Interbase


9-1144849395
Yegorchic
2006-04-12 17:43
2007.02.25
GLMaterialLibrary и FreeForm ы