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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.06.2010, 00:17   #1
rulezz_1730
Новичок
Джуниор
 
Регистрация: 18.06.2010
Сообщений: 3
Стрелка БАза данных.ТП 7.0.

Создание ( разработка) базы данных и примитивной системы управления базой данных. TP 7.0 и использование базы данных.Тема - Электронная телефонная книжка.

По идее программа должна предусматривать сбор хранение и выдачу данных по мере необходимости.

сделал блок схему...написал программу...выдает ошибку при компилировании....немогу понять что я не учел...либо уже крыша едет.

Прошу помочь разобраться. Выдаю то что сделал !!!
Недавно в паскале , поэтому прошу не ругать !!!


Program phone;
Uses CRT;
Label 1;
Type zapis=record
oper,znach,adress:string;
end;
Type Fil=file of zapis;
Var f,h:fil;
data:zapis;
i,y,z:integer;
name,oper1:string;
procedure vvod(data1:zapis;Var f1:fil);
begin
with data1 do
begin
Write('Ф.И.О '); readln(oper);
Write('НОМЕР ТЕЛЕФОНА '); Readln(znach);
write('АДРЕС:');readln(adress);
write(f1,data1);
writeln;
end;end;
procedure vivod(var data1:zapis);
begin
With data1 do
begin
Writeln('Ф.И.О ',oper);
Writeln('НОМЕР ТЕЛЕФОНА ',znach);
writeln('АДРЕС: ',adress);
writeln;
end;end;
Begin
1:Clrscr;
Writeln('Выберите действие');
Writeln('1.Создать телефонную книжку');
Writeln('2.Добавить номер в книжку');
Writeln('3.Удалить номер из книжки');
Writeln('4.Найти номер и адрес абонента');
Writeln('5.Просмотр всего содержимого');
Write('6.Выход ');
Readln(z);
If z=1 then
begin
clrscr;
Write('Введите название т.книжки: '); Readln(name);
Assign(f,name);
Rewrite(f);
Write('Введите количество записей '); Readln(y);
For i:=1 to y do vvod(data,f);
close(f);
goto 1;
end;
If z=2 then
begin
clrscr;
Write('Введите название т.книжки: ');
Readln(name);
Assign(f,name);
Reset(f);
Seek(f,filesize(f));
vvod(data,f);
Close(f);
goto 1;
end;
If z=3 then
begin
clrscr;
Write('Введите название т.книжки: ');
Readln(name);
Assign(f,name); assign(h,'1');
Reset(f);Rewrite(h);
Write('Введите Ф.И.О абонента нoмер которого нужно удалить ');
Readln(oper1);
While not eof(f) do
begin
Read(f,data);
If not (data.oper=oper1) then with data do write(h,data);
end;
Close(f); Close(h);
Erase(f); rename(h,name);
goto 1;
end;
If z=4 then
begin
clrscr;
Write('Введите название т.книжки '); Readln(name);
Assign(f,name);
Write('Введите Ф.И.О '); Readln(oper1);
reset(f);
While not eof(f) do
begin
Read(f,data);
If data.oper=oper1 then vivod(data);
end;
Close(f);
readln;
goto 1;
end;
If z=5 then
begin
clrscr;
Write('Введите название т.книжки: ');Readln(name);
Assign(f,name);
Reset(f);
While not eof(f) do
begin
Read(f,data);
Vivod(data);
End;
readln;
Close(f);
goto 1;
End;
End.
rulezz_1730 вне форума Ответить с цитированием
Старый 18.06.2010, 01:03   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

1) используйте тег [CODE] .. [/СODE] (кнопочка с решёткой

2) никаких ошибок при компиляции НЕТ!
Более того, это даже как-то работает!
В чём проблема?!

3) а вот спрашивать КАЖДЫЙ раз, при любом действии, имя файла с телефонной книжкой - это жестоко! Неужели нельзя спросить один раз и дальше использовать это имя?!


p.s. единственное, я бы рекомендовал описание
заменить на, например, такое:
Код:
Type zapis=record
   oper, znach, adress:string[100];
end;

Последний раз редактировалось Serge_Bliznykov; 18.06.2010 в 01:19.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 18.06.2010, 01:15   #3
rulezz_1730
Новичок
Джуниор
 
Регистрация: 18.06.2010
Сообщений: 3
По умолчанию

может ли неработать на PascalABC.net ???

и вопрос , можно ли внести просто скопируя все это в ТП 7.0

т.к. я попробовал скопировать напечатавшее в абцнет!и там при компиляции он выдает ошибки на 7 строке.

Результат выполнения:


Выберите действие
1.Создать телефонную книжку
2.Добавить номер в книжку
3.Удалить номер из книжки
4.Найти номер и адрес абонента
5.Просмотр всего содержимого
6.Выход 1
Введите название т.книжки: книга1
Введите количество записей 3
Ф.И.О Петров Сергей Юрьевич
НОМЕР ТЕЛЕФОНА 23-44-55
АДРЕС: г.Чебоксары

Ф.И.О Петров Алексей Юрьевич
НОМЕР ТЕЛЕФОНА 12-34-54
АДРЕС: г.Чебоксары

Ф.И.О Иванов Николай Сергеевич
НОМЕР ТЕЛЕФОНА 23-44-67
АДРЕС: г.Канаш

1.Создать телефонную книжку
2.Добавить номер в книжку
3.Удалить номер из книжки
4.Найти номер и адрес абонента
5.Просмотр всего содержимого
6.Выход 4
Введите название т.книжки: книга1
Ф.И.О Петров Сергей Юрьевич

Ф.И.О Петров Сергей Юрьевич
НОМЕР ТЕЛЕФОНА 23-44-55
АДРЕС: г.Чебоксары


по такому принципу задуман...

если есть возможность скопировать в тп 7.0 какой либо коммандой подскажите , т.к. повторюсь , в програмирование совсем недавно!
rulezz_1730 вне форума Ответить с цитированием
Старый 18.06.2010, 01:45   #4
DRAgon™
Форумчанин
 
Аватар для DRAgon™
 
Регистрация: 14.03.2010
Сообщений: 362
По умолчанию

Цитата:
Сообщение от rulezz_1730 Посмотреть сообщение

если есть возможность скопировать в тп 7.0 какой либо коммандой подскажите , т.к. повторюсь , в програмирование совсем недавно!
скопируй в PASCAL ABC текст программы, потом сохрани ее в папку турбо, ну и открой
Чем больше моя слава, тем я больше тупею; и таково, несомненно, общее правило.(А.Эйнштейн)
DRAgon™ вне форума Ответить с цитированием
Старый 18.06.2010, 02:13   #5
rulezz_1730
Новичок
Джуниор
 
Регистрация: 18.06.2010
Сообщений: 3
По умолчанию

спс... я сделал немног подругому...похоже все таки версии немного разные абс и ТП 7.0

я сохранил в .тхт , и формат на .pas поменял , терь все работает...cпасибо что хоть проверил что работает , а то б я не стал на 7 ставить ТП 7.0

думал что будет немного не совместима.
rulezz_1730 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
База данных Spaun Помощь студентам 4 23.05.2010 14:56
Небольшая база в Open Office База данных. sashaman Фриланс 3 11.04.2010 20:13
База данных + C qulis Общие вопросы C/C++ 0 08.03.2010 17:24
База данных с возможностью приема данных из файлов Excel Al_Sha БД в Delphi 6 16.10.2009 15:34
! База данных ! LordNighton Microsoft Office Excel 1 20.11.2008 22:25