![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблема с записью в файл [D5, Win95/98]
RoadRunner © (2001-12-26 17:17:00)Привет всем, кто читает это сообщение.
Возникла проблема, помогите пожалуйста.
Как можно записать в типизированный файл и считать из него запись, в которой строка переменной длины.
Например, такой тип
type
MyType = Record
Name : String;
E-Mail : String;
Count : Integer;
end;
Поле Name может быть любой длины, но не хотелось бы писать String[255], так как в файле будут лишние символы,
а это нежелательно...А разбивать запись на отдельные переменные не хотелось бы...
Спасибо Всем, кто прочел мое послание, и еще большее спасибо тем, кто ответит,пришлет пример или даст ссылку на информацию о решении проблемы
SergVlad (2001-12-26 22:18:00) [1]Если запись преимущественно будет состоять из длинных string, то можно перейти на текстовый файл с разделителем.
Любые не строковые переменные конвертить в строковые
integer в HEX- или DEC-вид
boolean в 0/1
Разумеется получишь накладные расходы, но может оказаться выгоднее.
Miwa (2001-12-26 21:43:00) [2]Советую послушать MBo, так как для того чтобы чего-то записать в типизированный файл, нужно чтобы наперед была известна длинна этого "чего-то". Тоесть если будет записано string[255], то будет все ОК.
MBo (2001-12-26 17:28:00) [3]проблема существует. Лучше, видимо, писать вместо тип.файла в Stream, перед строками записывая их длину.
DStealth (2001-12-26 17:24:00) [4]Пример из хелпа:
type
PhoneEntry = record
FirstName, LastName: string[20];
PhoneNumber: string[15];
Listed: Boolean;
end;
var List1: file of PhoneEntry;