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

Вниз

Помогите плиз!!!   Найти похожие ветки 

 
Part   (2003-01-20 13:39) [0]

Простите за назойливость и непонятливость :)
Хочу еще раз спросить, не могу прочитать файл не в текстовом режиме. Как не пробовал, а все время получаю текст. Что делать ?


 
Digitman ©   (2003-01-20 14:06) [1]


> Как не пробовал, а все время получаю текст


А как, собственно, пробовал-то ? Где код ?


 
Part   (2003-01-20 14:15) [2]

var

FromF, ToF: file;
NumRead, NumWritten: Integer;
Buf: array[1..2048] of Char;
buf1 :string[2] ;
i : integer;
j:integer;
begin
if OpenDialog1.Execute then { Display Open dialog box }
begin
AssignFile(FromF, OpenDialog1.FileName);
Reset(FromF, 1); { Record size = 1 }
i :=2;

repeat
begin
BlockRead(FromF, buf1, i, NumRead);
memo1.lines.add(buf1);
//j:=strtoint("buf1");
end;
until (NumRead = 0) ;
CloseFile(FromF);

end;
end;
вот так не получается


 
Smithson ©   (2003-01-20 14:18) [3]

и чт не получается? Где ошибка выскакивает?


 
Part   (2003-01-20 14:22) [4]

нигде не выскакивает, просто я получаю сиволы ,а их в hex формат не иогу перевести :( а файл вроде бы шестандцатиричный :(


 
Digitman ©   (2003-01-20 14:27) [5]

var

FromF, ToF: file;
NumRead, NumWritten: Integer;
Buf: array[1..2048] of Byte;
buf1 :string[2] ;
i : integer;
j:integer;
begin
if OpenDialog1.Execute then { Display Open dialog box }
begin
AssignFile(FromF, OpenDialog1.FileName);
Reset(FromF, 1); { Record size = 1 }

while not eof(FromF) do
begin
BlockRead(FromF, buf1, SizeOf(buf1), NumRead);
for i:= 0 to NumRead - 1 do
memo1.lines.add(IntToHex(buf1[i], 2));
end;
end ;
CloseFile(FromF);
end;
end;


 
Digitman ©   (2003-01-20 14:28) [6]

точнее - так :

while not eof(FromF) do
begin
BlockRead(FromF, buf, SizeOf(buf), NumRead);
for i:= 0 to NumRead - 1 do
memo1.lines.add(IntToHex(buf[i], 2));
end;
end ;


 
Part   (2003-01-20 14:39) [7]

Большое спасибо, Digitman, все работает. Но я все равно не понял почему inttohex , у меня вроде там стринги были ?


 
Digitman ©   (2003-01-20 14:46) [8]

какие такие "стринги" ?
у тебя файл - не текстовый, так ?
вот ты его и читаешь блоками по SizeOf(buf) байт
затем каждый байт массива buf[] интерпретируешь просто как некое целое число и преобразуешь его в hex-представление



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

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

Наверх




Память: 0.48 MB
Время: 0.013 c
14-96976
Ixion
2003-01-12 01:04
2003.01.30
Есть ли Lazarus для Win32 ?


1-96647
bvn123
2003-01-21 12:32
2003.01.30
Будут проблемы? GetMem(Buffer, FileSize); FileSize>1M;


14-97003
Шутник
2003-01-13 16:08
2003.01.30
Про лес


1-96714
SaperXL
2003-01-22 10:01
2003.01.30
TStringGrid - как отображать строки по центру ячейки


14-96996
R4D][
2003-01-12 19:17
2003.01.30
Сетевые библиотеки