Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.06.2010, 21:46   #1
dante92
Пользователь
 
Регистрация: 07.12.2009
Сообщений: 28
По умолчанию Паскаль файлы

Помогите пожалуйста найти ошибку в программе!!Прога формирует файл содержащий список студентов в виде:№ имя фамилия отчество курс факультет условия приема экз.оценки.Ошибка именно в программе а не в юните..
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,SurN ame,' ',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.

Последний раз редактировалось dante92; 03.06.2010 в 21:55.
dante92 вне форума Ответить с цитированием
Старый 03.06.2010, 21:53   #2
dante92
Пользователь
 
Регистрация: 07.12.2009
Сообщений: 28
По умолчанию

Во фрагменте Write(F,number,Name,Secondname,SurN ame,' ',Kurs,Phac,' ',Usl);
слово surname написано верно,просто почему то на форуме так отображается(
dante92 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Файлы паскаль p4serhiy Помощь студентам 1 17.05.2010 20:10
Файлы. Паскаль. hewlett Помощь студентам 1 12.05.2010 13:31
Паскаль.Файлы olya3 Помощь студентам 4 19.12.2009 12:30
Файлы!Паскаль ТРОЯН=) Помощь студентам 1 23.03.2009 10:08