Форум: "Начинающим";
Текущий архив: 2006.01.22;
Скачать: [xml.tar.bz2];
Внизчтение файла Найти похожие ветки
← →
Acul (2006-01-04 11:52) [0]Приветсвую вас мастера.
есть у меня файл, я хочу читать из него данные блоками по 1024 символа.
как мне это организовать? ибо строка вроде как не держит 1024 символа, а
for i:=1 to 1024
read(f, array[i])
выдает ошибку.
← →
umbra © (2006-01-04 11:57) [1]строка держит до 2 млрд. с лишним символов
← →
tesseract © (2006-01-04 12:04) [2]var myFile:File;
buf:TByteArray;
Size:dword;
NumRead:dword;
begin
AssignFile(Filename);
Size:=1024; // размер!
Reset(myfile,size);
repeat
BlockRead(MyFile, Buf,Size, NumRead);
if numread<>Size then break; // обрыв файла
until EOF<>0
end;
← →
begin...end © (2006-01-04 12:24) [3]> tesseract © (04.01.06 12:04) [2]
> Size:=1024; // размер!
> Reset(myfile,size);
> ...
> BlockRead(MyFile, Buf,Size, NumRead)
Ну, и сколько же байт прочитается?
> AssignFile(Filename)
> EOF<>0
А можно хотя бы в справку заглядывать? Для начинающих же конференция, всё-таки.
← →
tesseract © (2006-01-04 12:44) [4]
> Ну, и сколько же байт прочитается?
Дикое сорри. 1024*1024.
Из справки на глазок и тырил.
← →
BlockRead (2006-01-04 17:02) [5]
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;
← →
Кефир87 © (2006-01-04 17:15) [6]Вот все замарочились 8)
BlockRead + F1 8)
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.01.22;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.047 c