Автор: amir 17.04.2004 16:52
Может я чего то непонимаю я только начал заниматься програмированием. Вопрос такой: Нужно создать запись и занести её в файл. Запись создал, но при записи в файл у меня за место цифр пишется неизвестно что. Вот исходник.
Код
program zap1;
type
Fio=record {Вложенная запись}
fm,im,ot:string[20];
end;
type
Address=record {Вложенная запись}
PostCode:string[20];{pochtov kod}
City,Street: string[20];
House:string[20];
Apartament:string[20];
end;
type
dat=record {Вложенная запись}
day:1..31;
mongt:1..12;
year:1900..2050;
end;
type {Запись с анкетными данными}
anket=record
id: string[20];
vozr: integer;
obroz: string[30];
iniz: fio;
pol: string[20];
BirthDate: dat;
PostDate: dat;
MestoZhit:address;
kurs:1..6;
Special: string[30];
end;
var
f: file of anket;
dan:anket;
a,b,c,d:string;
i,j:word;
begin
with dan do
begin
writeln ('Lichn_cod',' '); readln (id);
write ('vozrast na moment postuplenia',' '); readln (vozr);
write ('obrozovanie',' '); readln (obroz);
write ('famil',' '); readln (iniz.fm);
write ('imia',' '); readln (iniz.im);
write ('otchestvo',' '); readln (iniz.ot);
write ('pol',' '); readln (pol);
writeln ('data pozhdenia');
with BirthDate do
begin
write('den',' '); readln (day);
write('mesiac',' '); readln (mongt);
write('god',' '); readln (year);
end;
writeln('data postupl');
with PostDate do
begin
write('den',' '); readln (day);
write('mesiac',' '); readln (mongt);
write('god',' '); readln (year);
end;
with MestoZhit do
begin
write ('pochtov kod',' '); readln(PostCode);
write ('ulica',' ');readln (Street);
write ('gorod',' ');readln (City);
write ('dom',' ');readln(House);
write ('kvartira',' ');readln(Apartament);
end;
write ('kurs',' ' ); readln(kurs);
write ('Specialnost',' '); readln(Special);
end;
assign (f,'c:\anketa.txt');
rewrite (f);
Write(f,dan);
close(f);
end.
P.S.
А кто будет исходник в тег code заключать????
см. ПРАВИЛА СТАТЬЯ 2 ПУНКТ 2.
В следующий раз исправлять не буду!
Автор: APAL 17.04.2004 17:45
Пишется в файле anketa.txt ?
Расширение TXT в данном случае не очень корректно.
Файл получается в итоге не текстовый, а типизированный. Т.е. он не предназначен для просмотра в текстовом виде.
Нужно создать дополнительный файл типа "TEXT" и в него вывести данные в нужном виде.
Автор: Altair 18.04.2004 15:57
А вот как:
берем учебник, и читаем про файлы!
Есть файлы текстовые а есть двоичные.
Вы записываете данные в ДВОИЧНЫЙ, ТИПИЗИРОВАННЫЙ файл.
При открытии его через БЛОКНОТ, вместо желаемого результата, там может быть что угодно!
----
Прочесть типизированный файл нельзя с помошью ТЕКСТОВОГО редактора!
При чтении такого файла, программа пытается выводить ASCII коды на экран, а т.к в файле НЕ ASCII коды, а все, что угодно, то и выводится не то!
----
Если вы хотите, что бы данные хранились в текстовом виде, то пишите не в файл типа anketa а в файл типа text!