Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Делфи _ Record

Автор: bigglewood 14.06.2006 20:32

вот пишу такой код

type

person = record
lastname:string;
name:string;
phone:integer;
bd:array [1..8] of integer;
end;

Pfile = file of person;

var
men:person;
f:pfile;
i:byte;
st:string;
begin
men.lastname := edit1.text;
men.name :=edit2.text;
men.phone := strtoint(edit3.text);
for i:=1 to length(edit4.Text) do begin
men.bd[i]:=strtoint(edit4.text[i]);
end;

Assignfile(F,'Spis.txt');
Rewrite(F);
write(F,men);
closefile(f);
end;
по идее все что находится в списке men должно сохранятся в файл...но вместо значений которые я вводил с клавиатуры в файле какието посторонние символы.

Автор: volvo 14.06.2006 20:52

bigglewood, ты бы во-первых, сделал хотя бы так:

person = record
lastname: string[100]; // Ограничить длину строки
name: string[100];
phone: integer;
bd: array [1..8] of integer;
end;
, а уж потом сохранял в файл...

Автор: bigglewood 14.06.2006 21:00

а вот дальше что бы открыть этот же файл и вывести на экран я пишу:

var F:file of string;
st:string;
begin
Assignfile(F,'Spis.txt');
read(F,st);
label1.Caption:=st;
end;
он чевото не открывает (

Автор: volvo 14.06.2006 21:05

bigglewood, а ты открывай не как File of String, а как и создавал:
File of Person...

И потом: ОТКРЫВАТЬ файл кто будет? Reset где?

Автор: bigglewood 14.06.2006 21:19

ухты. спосибо. заработало!:))