Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.48 MB
Время: 0.014 c
14-50505
Soft
2003-05-30 16:02
2003.06.16
В чем разница между хакером и кракером?


3-50201
Инна
2003-05-21 02:00
2003.06.16
Базы данных и инет


1-50316
Oleg__
2003-06-03 13:41
2003.06.16
Выделенные строки в TStringGrid


1-50327
Maxx
2003-06-03 14:07
2003.06.16
Случайные числа


3-50229
Master Noname
2003-05-26 13:18
2003.06.16
Доступ к удалённой БД!