![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
чтение файла [D7, XP]
frezz © (2006-01-06 21:59:00)Приветствую всех.
как мне производить чтение из файла строками по 2048 символов?
или массивом байтов.
Германн (2006-01-07 01:45:00) [1]
> Однако если открываю не текстовый файл то вместо того что
> хотелось бы увидеть (ожидаю увидеть тоже самое что было
> бы в блокноте при открытии допустим ЕХЕ файла)
А какой смысл увидеть то, что показывает блокнот в этом случае?
Может быть лучше напишешь, что именно тебенужно? Мало ли что там делает блокнот при открытии не свойственных ему файлов.
ferr (2006-01-06 22:51:00) [2]string на него не реагирует.
а у мемо в Text PChar, этот тип читает до тех пор пока не встретит 0.
мне не понятна ваша затея, т.к. текстовые файлы это подкласс бинарных, -> просмотрщик текста не должен открывать бинарные файлы.
ferr (2006-01-06 22:48:00) [3]там 0 - символ
Frezz (2006-01-06 22:40:00) [4]вот смотрите
нашел тут код
procedure TForm1.Button1Click(Sender: TObject);
const Size=1024;
var myFile:File;
Buf: array[1..Size] of Char;
NumRead:dword;
s:string;
i:integer;
begin
s:='';
OpenDialog1.Execute;
AssignFile(myFile,OpenDialog1.FileName);
Reset(myfile,1);
repeat
BlockRead(MyFile, Buf,SizeOf(Buf), NumRead);
if NumRead=Size then for i:=1 to size do s:=s+(buf[i]) else
for i:=1 to Numread do s:=s+(buf[i]);
until NumRead=0 ;
CloseFile(myFile);
Memo1.Text:=s;
end;
Однако если открываю не текстовый файл то вместо того что хотелось бы увидеть (ожидаю увидеть тоже самое что было бы в блокноте при открытии допустим ЕХЕ файла) а всего лишь несколько символов и все
ferr (2006-01-06 22:20:00) [5]TMemoryStream может поможет
Johnmen (2006-01-06 22:14:00) [6]BlockRead+F1