Форум программистов
 
Регистрация на форуме тут, о проблемах пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль

Купить рекламу на форуме 15-35 тыс рублей в месяц

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

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы Поиск в этой теме
Старый 30.05.2009, 09:38   #1
STEELKUZNECOV
Новичок
Джуниор
 
Регистрация: 29.05.2009
Сообщений: 1
Печаль Составить программу, которая создает и выводит на экран файл.

Помогите пожалуйста сделать задачу, которая заключается в следующем ->
Составить программу, которая создает и выводит на экран файл ZARPL.DAT, компоненты которого имеют следующую структуру
-Табельный номер
-ФИО
-Сумма зарплаты
Выход из ввода, табельный номер=999.Выведите на экран табельные номера, ФИО и зарплату только тех, у кого зарплата превышает 100000.00 руб. Используйте оператор with

Вот код этой программы ->
Код Delphi

procedure TForm1.Button3Click(Sender: TObject);
begin
AssignFile(dat,DATNAME);
{$I-}
Append(dat);
{$I+}
if IOResult<>0 then
begin
buttonSelected := MessageDlg('Файл не был найден.'+#13+'Создать новый?',mtError, mbOKCancel, 0);
if buttonSelected = mrOK then
begin
AssignFile(dat,DATNAME);
{$I-}
Rewrite(dat);
{$I+}
if IOResult<>0 then
begin
ShowMessage('Ошибка! Вот ее код: '+IntToStr(GetLastError));
button4.Enabled:=false;
button5.Enabled:=false;
exit;
end;
end;
end;
if StrToInt(edit3.text)<999 then
if IOResult=0 then
begin
button4.Enabled:=True;
button5.Enabled:=True;
writeln(dat,edit3.text);
writeln(dat,edit4.text);
writeln(dat,edit5.text);
end;
if StrToInt(edit3.text)>=999 then
begin
ShowMessage('Такого табельного номера нет!');
end;
CloseFile(dat);
end;

procedure TForm1.Edit3KeyPress(Sender: TObject; var Key: Char);
begin
if not (Key in ['0'..'9',#46,#8]) then Key := #0;
end;

procedure TForm1.Edit4KeyPress(Sender: TObject; var Key: Char);
begin
if not (Key in ['а'..'я','А'..'Я',#46,#8,#32]) then Key := #0;
end;

procedure TForm1.Edit5KeyPress(Sender: TObject; var Key: Char);
begin
if not (Key in ['0'..'9',#46,#8]) then Key := #0;
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
AssignFile(dat,DATNAME);
{$I-}
Reset(dat);
{$I+}
if IOResult<>0 then
begin
MessageDlg('Ошибка доступа к файлу',mtError,[mbOk],0);
end;
if IOResult=0 then
begin
while not EOF(dat) do
begin
for q:=0 to 999 do
begin
readln(dat,ch1[q]);
end;
end;
end;
if IOResult=0 then
begin
for m:=0 to 999 do
begin
f:=f+1;
if f=3 then
begin
f:=0;
if (StrToInt(ch1[m])>100000) and (ch1[m]<>'') then
begin
Memo1.Lines.Add(ch1[m-2]);
Memo1.Lines.Add(ch1[m-1]);
Memo1.Lines.Add(ch1[m]);
end;
end;
end;
end;
CLoseFile(dat);
end;

procedure TForm1.Button5Click(Sender: TObject);
begin
if DeleteFile(DATNAME) then
begin
ShowMessage('Файл успешно удален!');
button4.Enabled:=false;
button5.Enabled:=false;
end;
end;

end.


вроде как все считает и выводит в Memo1, но пишет ошибку
is not valid integer value
Заранее спасибо!!
STEELKUZNECOV вне форума Ответить с цитированием
Старый 30.05.2009, 09:50   #2
Neeter
Форумчанин
 
Аватар для Neeter
 
Регистрация: 22.02.2009
Сообщений: 875
По умолчанию

Скажите на какой строчке показывается ошибка, покажите список переменных.
И оформите код нормально(воспользуйтесь правкой). При создании сообщения есть тег CODE(самая правая кнопочка - "решетка")
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство.

Последний раз редактировалось Neeter; 30.05.2009 в 10:14.
Neeter вне форума Ответить с цитированием
Ответ
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Составить программу, которая запрашивает пароль Olesya2406 Помощь студентам 5 28.04.2015 17:20
Составить программу которая будет сортировать все положительные элементы Wast Паскаль, Turbo Pascal, PascalABC.NET 1 22.12.2008 15:56
Написать программу которая выводит таблицу значений функйии akimbaev Паскаль, Turbo Pascal, PascalABC.NET 1 01.10.2008 00:21
программа, которая выводит на экран одно из данных слов vados Паскаль, Turbo Pascal, PascalABC.NET 11 26.10.2007 23:47