Форум: "Основная";
Текущий архив: 2003.01.06;
Скачать: [xml.tar.bz2];
ВнизМАСТЕРА! Как записывать и считывать из файла длинные строки? Найти похожие ветки
← →
WinSetup (2002-12-23 18:14) [0]МАСТЕРА! Как записывать и считывать из файла длинные строки (более 255 символов)?
← →
MBo (2002-12-23 18:24) [1]объявить их просто как string без указания длины (по умолчанию это AnsiString - длина практически не ограничена)
← →
WinSetup (2002-12-23 18:36) [2]Спасибо за ответ!
Этот способ будет работать для текстовых файлов. А как работать с нетипиризированными файлами (block/write/read)?
← →
MBo (2002-12-23 18:46) [3]в blockwrite указываешь s[1] и length(s), а при чтении сначала setlength делаешь (длину строки перед ней, конечно, придется писать)
← →
WinSetup (2002-12-23 18:52) [4]Спасибо! Попробую
← →
gsu (2002-12-23 18:53) [5]Можешь вначале сохранить заголовок с размерностью
← →
WinSetup (2002-12-23 19:04) [6]var
f:file;
s:string;
begin
s:="qwerty";
assignfile(f,"c:\1.txt");
rewrite(f);
blockwrite(f,s[1],length(s[1]));
closefile(f);
end;
При выполнении в файл записывается 128 байт (а если - length(s), то 768), можно ли записать столько байт, сколько символов содержится в строке?
← →
Skier (2002-12-23 19:18) [7]blockwrite(f,s[1], length(s));
И смотри внимательней...тебе уже MBo всё сказал...
← →
WinSetup (2002-12-23 19:22) [8]>>Skier
Я же указал, что если использовать length(s), то в файл записывается 768 байт
← →
gsu (2002-12-23 19:24) [9]А причем здесь s[1] ?
← →
ZrenBy (2002-12-23 19:27) [10]Rewrite(f, 1); { Record size = 1 }
The entire block transferred occupies at most Count * RecSize bytes. RecSize is the record size specified when the file was opened (or 128 if the record size was unspecified).
← →
WinSetup (2002-12-23 19:30) [11]>>ZrenBy
Спасибо!!!
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.01.06;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.009 c