1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
| Program Creat;
Uses Open;
Const
Dim=30;
Type
TStud=Record
Number:byte ;
Name,SecondName,SurName,Usl:String[10];
Kurs:byte;
Phac:String[4];
Ocenki:array[1..4] of byte
End;
Var
F: Text;
Comment:String;
Stud:Array[1..Dim] of TStud;
KolStud,I,j:byte;
begin
KolStud:=0;
Comment:=(' для сохранения данных');
If OpenWrite(F,Comment)
then
begin
Writeln('конец ввода по двум Enter');
Writeln('N Имя Фамилия Отчество Курс Факультет Условия приема 1 2 3 4');
While not eoln do begin
inc(kolStud);
with Stud[KolStud] do begin
read(number,Name,Secondname,Surname ,Kurs,Phac,Usl);
for i:=1 to 4 do read(F,Ocenki[i]);
readln(f);
end;
end;
For j:=1 to Kolstud do
with Stud[j] do begin
Write(F,number,Name,Secondname,SurName,' ',Kurs,Phac,' ',Usl);
for i:=1 to 4 do write(F,Ocenki[i],' ');
Writeln(F)
end;
Close(F)
end
else
Writeln('Внешнее устройство для записи не определенно. Конец работы');
readln
end.
А вот юнит.
Unit Open;
Interface
Function OpenWrite(VAR F:Text; Comment:String): boolean;
Function OpenRead(VAR F:Text; Comment:String): boolean;
Implementation
Function OpenWrite(VAR F:Text; Comment:String): boolean;
var url:string;
n:char;
flag,flagExit:boolean;
begin
repeat
Writeln('Укажите устройство ', Comment);
writeln('1. Файл на диске.');
writeln('2. Экран.');
writeln('3. Принтер.');
writeln('4. Не сохранять.');
writeln('5. Отменить.');
flag:=false;
flagExit:=false;
readln(N);
case N of
'1': begin
writeln('Введите путь к файлу');
readln(url);
end;
'2': url:='con';
'3': url:='prn';
'4': url:='nul';
'5': flagExit:=true
end;
If not flagExit then
begin
assign(F,url);
{$I-}
reset(f);
{$I+}
if Ioresult=0
then
begin
rewrite(f);
flag:=true;
end
else writeln('файл не доступен')
end
Until flagExit or flag;
OpenWrite:=flag
end;
Function OpenRead(Var F:Text; Comment:String): boolean;
var
url:string;
Fl:boolean;
n:char;
flag,flagExit:boolean;
begin
repeat
Writeln('Укажите устройство ', Comment);
writeln('1. Файл на диске');
writeln('2. Клавиатура');
writeln('3. Отменить');
readln(N);
flag:=false;
FlagExit:=false;
case N of
'1': begin
writeln('Введите путь к файлу');
readln(url);
assign(F,url);
{$I-}
reset(f);
{$I+}
flag:=Ioresult=0;
flagExit:=url='3';
end;
'2': begin
assign(F,'con');
reset(f);
flag:=true;
end;
'3': flagExit:=True
end;
Until flagExit or flag;
Fl:=url='2';
OpenRead:=flag
end;
End. |