Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Текста в записях [D6, WinXP]


Hellman ©   (2002-08-06 08:08:00) 

Например, еcть запись:

type
rec = record

subj : string[16];

//сюда надо вставить текстовые данные
end;

FRec : file of rec;
Что можно использовать в записях, чтобы сохранить многостроковый текст
в файл????


Leran2002   (2002-08-06 09:12:00) [1]

Могу предложить такую структуру (сразу скажу что не тестировал, это только теоретические соображения):

type
rec = record
subj:string[16];
l:integer; // содержит длину строки mystr
mystr:string; // строка
end;

var
f:file;
r:rec;

AssignFile(f,…);
Reset(f,1); // для чтения из существующего файла
Rewrite(f,1); // для создания нового файла

Пример чтения из файла одного элемента

BlockRead(f,r.subj,SizeOf(r.subj));
BlockRead(f,r.l,SizeOf(r.l));
BlockRead(f,r.mystr,r.l);

Для записи

BlockWrite(f,r.subj,SizeOf(r.subj));
r.l:=Length(r.mystr);
BlockWrite(f, r.l,SizeOf(r.l));
BlockWrite(f, r.mystr,r.l);


Leran2002   (2002-08-06 09:09:00) [2]

Могу предложить такую структуру (сразу скажу что не тестировал, это только теоретические соображения):

type
rec = record
subj:string[16];
l:integer; // содержит длину строки mystr
mystr:string; // строка
end;

var
f:file;
r:rec;

AssignFile(f,…);
Reset(f,1); // для чтения из существующего файла
Rewrite(f,1); // для создания нового файла


Пример чтения из файла одного элемента

BlockRead(f,r.subj,SizeOf(r.subj));
BlockRead(f,r.l,SizeOf(r.l));
BlockRead(f,r.mystr,r.l);


Для записи элемента

BlockWrite(f,r.subj,SizeOf(r.subj));
r.l:=Length(r.mystr);
BlockWrite(f, r.l,SizeOf(r.l));
BlockWrite(f, r.mystr,r.l);


ЮЮ   (2002-08-06 09:01:00) [3]

Можно и больше, сделав предположение что, что если начинается с заглавной,то - с новой строки. :-)


Anatoly Podgoretsky   (2002-08-06 08:54:00) [4]

Можно записхать от одной до 8 строк


ЮЮ   (2002-08-06 08:38:00) [5]

И как мног0 строк можно запихать в 16 байт? Если это и вся структура, то лучше использовать TextFile вместо file of rec.


Song   (2002-08-06 08:34:00) [6]

Ну например массив строк


Наверх

Титульная страница Поиск, карта сайта Написать письмо