Текущий архив: 2003.06.16;
Скачать: CL | DM;
ВнизКак работать с нетипизированым файлом.... Найти похожие ветки
← →
Plasticangel (2003-06-02 13:08) [0]Проблема возникла такая:
Есть данные - строки (допустип 2 переменных string)
- цифры (10 переменных real)
Как записать их и читать из файла File of byte. в таком же порядке - строки цифры
Зачем это мне надо? чтобы файл простому юзеру не льзя было поправить в текстовом режиме.
← →
Dimaxx (2003-06-03 00:02) [1]Строку лучше задавать shortstring. Пример:
var F: file of byte;
S1,S1: shortstring;
R1,R2,R3,R4,R5,R6,R7,R8,R9,R10: real;
assignfile(F,"test.dat");
rewrite(f);
blockwrite(F,S1,sizeof(S1));
blockwrite(F,S2,sizeof(S2));
blockwrite(F,R1,sizeof(R1));
blockwrite(F,R2,sizeof(R2));
blockwrite(F,R3,sizeof(R3));
blockwrite(F,R4,sizeof(R4));
blockwrite(F,R5,sizeof(R5));
blockwrite(F,R6,sizeof(R6));
blockwrite(F,R7,sizeof(R7));
blockwrite(F,R8,sizeof(R8));
blockwrite(F,R9,sizeof(R9));
blockwrite(F,R10,sizeof(R10));
closefile(F);
Читать тем же самым примером, но вместо blockwrite ставь blockread.
← →
Sandman25 (2003-06-03 15:54) [2]Только придется еще записывать размер строк.
← →
Anatoly Podgoretsky (2003-06-03 16:41) [3]Зачем? Что бы было?
← →
Sandman25 (2003-06-03 18:39) [4]Ну а как считывать строки из file of byte, не зная их длину?
Blockread(F,S1,?);
← →
Sandman25 (2003-06-03 18:54) [5]Упс, не посмотрел, что записывалось SizeOf, а не Length. Мой вопрос к Anatoly Podgoretsky снимается :)
← →
Dimaxx (2003-06-03 21:15) [6]Размеры строк в file of byte будут всегда 1+255. Первый байт -длина, остальное строка. Можно записывать PChar в виде:
var P: PChar;
...
blockwrite(F,P^,Length(P));
...
но тогда нужно самому записывать байт длины в файл. В этом случае строка из одного символа в файле будет размером 2 байта, а при shortstring - 256.
Страницы: 1 вся ветка
Текущий архив: 2003.06.16;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.006 c