Главная страница
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.011 c
1-50325
super_alex
2003-06-03 14:22
2003.06.16
Максимальный размер TImage


14-50449
Dimedrol
2003-05-26 13:00
2003.06.16
А Views (в IB) - это круто ?


14-50479
Начинающий шароварщик
2003-05-28 17:24
2003.06.16
Феномен софтверной Индии


8-50406
Jel
2003-03-04 10:04
2003.06.16
Воспроизведение Smacker анимации


3-50225
Ann
2003-05-26 12:48
2003.06.16
Like