Уважаемый, gen.
Проверил вашу программу — работает.
Правда, есть пара замечаний:
1. вместо assign и close лучше использовать AssignFile и CloseFile (как говорится, "во избежание");
2. заметно более важный момент (сам в своё время от него пострадал), видите ли, ObjectPascal по умолчанию под типом string подразумевает AnsiString (ну а FreePascal сейчас, видимо, WideString), т.е. при сохранении Вашей переменной будет сохранен не сам текст строки, а указатель на него. (в итоге размер записи в Вашем случае будет всегда 12 байт), чтобы этого избежать Вы должны или явно указать, что строка имеет тип ShortString, или, не менее явно:), её максимальную длину, т.е. переменная вот такого типа:
- Код: Выделить всё
type
users=record
nom:integer;
fio:string[50];
email:shortstring;
end;
запишется корректно, правда, длина записи будет 312 байт.
Надеюсь, сказанное Вам помогло.
С уважением, Алексей.