Вниз
Скачать: CL | DM;

Проблема с записью в файл   Найти похожие ветки 

← →
RoadRunner   (2001-12-26 17:17) [0]

Привет всем, кто читает это сообщение.
Возникла проблема, помогите пожалуйста.
Как можно записать в типизированный файл и считать из него запись, в которой строка переменной длины.
Например, такой тип

type
MyType = Record
Name : String;
E-Mail : String;
Count : Integer;
end;

Поле Name может быть любой длины, но не хотелось бы писать String[255], так как в файле будут лишние символы,
а это нежелательно...А разбивать запись на отдельные переменные не хотелось бы...

Спасибо Всем, кто прочел мое послание, и еще большее спасибо тем, кто ответит,пришлет пример или даст ссылку на информацию о решении проблемы


← →
DStealth   (2001-12-26 17:24) [1]

Пример из хелпа:

type
PhoneEntry = record
FirstName, LastName: string[20];
PhoneNumber: string[15];
Listed: Boolean;
end;

var List1: file of PhoneEntry;



← →
MBo ©   (2001-12-26 17:28) [2]

проблема существует. Лучше, видимо, писать вместо тип.файла в Stream, перед строками записывая их длину.


← →
Miwa ©   (2001-12-26 21:43) [3]

Советую послушать MBo, так как для того чтобы чего-то записать в типизированный файл, нужно чтобы наперед была известна длинна этого "чего-то". Тоесть если будет записано string[255], то будет все ОК.


← →
SergVlad ©   (2001-12-26 22:18) [4]

Если запись преимущественно будет состоять из длинных string, то можно перейти на текстовый файл с разделителем.
Любые не строковые переменные конвертить в строковые
integer в HEX- или DEC-вид
boolean в 0/1
Разумеется получишь накладные расходы, но может оказаться выгоднее.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.007 c
4-42626
shiva1
2001-11-15 18:10
2002.01.14
и опять хук....


3-42380
bk
2001-12-10 14:25
2002.01.14
Ms Outlook


7-42576
РУС
2001-09-25 22:14
2002.01.14
Информация


1-42517
grishaK
2001-12-26 12:54
2002.01.14
Явная загрузка dll


1-42412
RoadRunner
2001-12-26 17:17
2002.01.14
Проблема с записью в файл




   Наверх