Разработка программы 'Телефонная база'

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    173,02 Кб
  • Опубликовано:
    2015-06-26
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Разработка программы 'Телефонная база'

Министерство образования и науки российской федерации

Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования

Российский экономический университет имени Г.В. Плеханова

Кемеровский институт (филиал)

Кафедра вычислительной техники и информационных технологий




Пояснительная записка к курсовой работе

По дисциплине «Информатика и программирование»

На тему

Разработка программы «Телефонная база»



Выполнил: Чиркин А.Н.

Студент гр. ПИ-145

Руководитель: к.т.н.,

доцент Ткаченко Н.А.




Кемерово 2015

ЗАДАНИЕ НА КУРСОВУЮ РАБОТУ

Студенту гр. ПИ-145 Чиркину Александру Николаевичу

Тема курсовой работы:

Разработка программы «Телефонная база»

Перечень вопросов, подлежащих исследованию или разработке:

1. Ввод исходных данных в файл

2.      Вычисление остатка (остаток равен разности между суммой, внесенной абонентом и суммой за МТР)

.        Вывод таблицы со столбцами: телефон, сумма за МТР, остаток

.        Вывод списка телефонов тех абонентов, которые остались должны (остаток отрицательный)

.        Выдачу справки по конкретному телефону

СОДЕРЖАНИЕ

Введение

1.  Техническое задание

1.1 Формулировка задачи

.2 Описание входной и выходной информации

.3 Требования к комплексу технических средств

.4 Требования к интерфейсу конечного пользователя

2.  Технический проект

2.1 Разработка форм представления входных данных

.2 Разработка форм представления выходных данных

.3 Проектирование программных модулей

3.  Рабочий проект

3.1 Описание программы

.2 Руководство пользователя

.3 Руководство программиста

Заключение

Список использованной литературы

Приложение А - Текст программы

ВВЕДЕНИЕ

В наше время, информационные технологии окружают человека во всех сферах его деятельности и помогают ему решать различные виды задач.

Во всех развитых странах осуществляются широкомасштабные программы информатизации.

Разрабатываемая в рамках данной курсовой работы программа является демонстрационной и показывает уровень освоения материала по курсу «N», а также практических навыков по применению методик разработки программ в объектно-ориентированной среде Lazarus.

1. ТЕХНИЧЕСКОЕ ЗАДАНИЕ

1.1    Формулировка задачи

Задачей курсового проектирования является: Разработка программы «Телефонная станция», предназначенная для использования в высших учебных заведениях.

Программа «Справочная аэропорта» должна решать следующие задачи:

·  Ввод исходных данных в файл

·        Вычисление остатка (остаток равен разности между суммой, внесенной абонентом и суммой за МТР)

·        Вывод таблицы со столбцами: телефон, сумма за МТР, остаток

·        Вывод списка телефонов тех абонентов, которые остались должны (остаток отрицательный)

·  Выдачу справки по конкретному телефону

Программа предназначена для автоматизации работы телефонной станции. Использование программы позволит повысить скорость работы телефонной станции.

Данные в программу вносятся на основании списков телефонных номеров, и заносятся в файл базы данных для дальнейшей обработки и выдачи виде таблиц. Данная программа обеспечит автоматизацию расчётов на станции, что ускорит процесс работы.

1.2 Описание входной и выходной информации

Входная информация - это те данные, которые вносятся пользователем в программу.

Входная информация формируется на основании данных об абонентах телефонной станции, а именно: номер телефона абонента, сумме на его счету, расходов на междугородние телефонные разговоры.

При этом вся введенная информация должна сохраняется и в последующем используется для получения выходной информации.

Выходная информация - это данные представляемые по запросу пользователя в электронном и при необходимости в печатном виде.

Выходная информация формируется на основании обработки входной информации, отсортированной в определенном виде, по запросу пользователя и представляется в виде таблиц.

1.3 Требования к комплексу технических средств

Для реализации поставленной задачи необходимо наличие следующих программно-технических средств, представленных в таблице 1.3.1:

Таблица 1.3.1

Программно-технические требования

Наименование

Требования

Процессор

с тактовой частотой 1200 MHz или более мощный

512 Мб или больше

Video

Не меньше 512 Мб

Операционная система

Windows 7, Windows 8


1.4 Требования к интерфейсу конечного пользователя

Пользовательский интерфейс состоит из главного окна с системным меню. Меню предлагает пользователю работу с данными. А именно, Открытие файла с данными, редактирование ранее введенной информации, удаление данных. Также пользователю предлагается вывести перечень абонентов удовлетворяющих условию запроса (Вывод списка абонентов, которые остались должны) , расчёт остатка на счёте абонента. Программа имеет контекстные меню для отдельных компонентов.

2. Технический проект

.1 Разработка форм представления входных данных

Входная информация должна содержать в себе данные об абонентах, заносящиеся в программу и хранящиеся в файле БД. Раздел программы, отвечающий за ввод входной информации выделен на рис.2.1.1.

Рис. 2.1.1 Форма для ввода информации об абоненте

После ввода данные сохраняются в файле БД и затем могут быть отображены.

.2 Разработка форм представления выходных данных

Программа реализует основные функции по выдаче выходной информации. Во-первых, это вывод списка всех абонентов, во-вторых, вывод списка абонентов, у которых остался долг, в третьих вычисление остатка на счёте, в четвёртых выдача справки по конкретному телефону.

Обратиться к таблице данных можно с помощью кнопок и меню расположенных на форме (Рис. 2.2.1)

Рис. 2.2.1 Выбор запроса

После выбора пункта запроса выполняются соответствующие действия, которые отображаются в исходной таблице.

2.3 Проектирование программных модулей

В соответствии с условиями поставленной задачи была построена схема программы, отражающая все задачи, которые должна решать программа (рис. 2.3.1).

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

В соответствии со структурной схемой программа должна решать следующие задачи:

ü ввод данных по абонентам;

ü вывод информации об абонентах в виде таблицы;

ü вывод списка абонентов, имеющих задолженность;

ü выдача справки по конкретному телефону;

ü  вычисление остатка на счёте абонента;

ü  поиск конкретного абонента по его номеру телефона;

ü  построение графика, демонстрирующего количество должников

ü  выход из программы в ОС.

Рис.2.3.1.Структурная схема программы «Телефонная станция»

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


3. Рабочий проект

.1 Описание программы

В рамках данной работы была разработана программа «Телефонная станция». Программа была разработана в объектно-ориентированной среде Lazarus и имеет модуль запуска в виде exe-файла, таким образом, для работы программы не нужно дополнительное программное обеспечение.

Данная программа составлена из модулей, листинг которых приведен в Приложении 1. Их роль, связь и выполняемые функции описаны ниже.

Для запуска программы нужно запустить файл ATS.exe

Из главного меню модуля ATSmain.pas можно запустить любую функцию программы. При нажатии пункта меню «Сохранить как» пользователь получает возможность сохранить базу в нужный ему файл. При выборе пункта меню «Открыть как» пользователь выбирает файл с нужной ему БД. Для того чтобы открыть данные об абонентах необходимо выбрать пункт «Открыть» в меню «Файл».

При нажатии пункта меню «Формат» появляется подменю, состоящее из пункта: «Шрифт». При нажатии на который, пользователь получит возможность редактировать шрифт некоторых компонентов.

При выборе пункта меню «Справка», пользователь получает краткую информацию о программе.

Пункт меню «Выход» осуществляет выход из программы в ОС.

3.2 Руководство пользователя

Для того чтобы начать работу в программе, необходимо запустить файл ATS.exe. После этого на экране появится загрузочный экран программы (рис. 3.2.1).

Рис. 3.2.1 Загрузочный экран программы «Телефонная база»

Затем на экране отобразится главное окно программы (рис. 3.2.2)

Рис. 3.2.2 Внешний вид главного окна программы

В верхней части окна отображается главное меню, состоящее из пунктов, которые в свою очередь делятся на подпункты.

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

Основные компоненты программы (обе таблицы и поле ввода информации) имеют собственное контекстное меню.

) Меню для поля ввода информации содержит в себе два пункта:

ü Очистить поле

ü  Справка

2) Меню для таблицы вывода всех абонентов содержит в себе четыре пункта:

ü Открыть

ü  Сохранить как

ü  Очистить

ü  Справка

3) Меню для таблицы вывода абонентов с задолженностью содержит в себе три пункта

ü Показать список

ü  Очистить

ü  Справка

При помощи круговой диаграммы программа демонстрирует две категории абонентов:

ü Абоненты, у которых нет задолженности

ü  Абоненты, имеющие задолженность

Работа программы основывается на нескольких основных функциях и процедурах, которые используются в основном коде.

) Функция StringisNumber - проверяет является ли символ строки, находящейся в файле цифрой.

end;

) Процедура Grafik - отвечает за постройку графика в программе

procedure Grafik (SG:TStringGrid; res: TPieSeries);[2]neg,pos1:integer;:=0;:=0;i:=1 to SG.RowCount-1 dostrtoint(SG.cells[3,i])<40 then(neg) else(pos1);pos1+neg>0 thenres do;(pos1,'Нет долгов',clYellow);

Add(neg,'Имеется долг',clBlue);;;

) Процедура spisok - формирует строку, выводящуюся в справку. [5]

spisok(SG:TStringGrid);:integer;,nomer,MTP,balance,ost,s:string;:=SG.row;:='Выделен абонент с номером: '+SG.cells[0,row]+#13#10+#13#10;:='Номер телефона: ' + SG.cells[0,row]+#13#10;

MTP:='Расходы на МТР: ' +SG.cells[1,row]+' р'+#13#10;:='Внесённая сумма: ' +SG.cells[2,row]+' р'+#13#10;:='Остаток на счёте: ' +SG.cells[3,row]+' р'+#13#10;

s:=ind+nomer+MTP+balance+ost;

ShowMessage(s);;

) Процедура AddNumber - отвечает за добавление новых строк в файл. [2]

AddNumber(FileName:String; NewLine:String);OTable1: TextFile;(OTable1, FileName);(OTable1);(OTable1, NewLine);

CloseFile(OTable1);;

) Процедура ReplaceNumber - отвечает за замену, существующей строки в файле. Замена происходит при повторном введении одинаковых телефонных номеров, если пользователь согласится на неё. [5,6]

ReplaceNumber(FileName:String; Position:Integer; :String);i: Integer;: TextFile;, OldLine: String;(OTable1, FileName);(OTable1);:= 0;:= '';not eof (OTable1) do(OTable1, OldLine);i = PositionNewText:= NewText + NewLine + #13#10NewText:= NewText + OldLine + #13#10;(i);;(OTable1);(OTable1);(OTable1, NewText);

CloseFile(OTable1);;

) Функция CheckNumber - проверяет сколько “групп” цифр находится в строке. Программа работает с четырьмя “группами” цифр (номер телефона, баланс, МТР, остаток). [2]

CheckNumber(FileName:String; Phone:String): Integer;position, i : Integer;: TextFile;: String;: TStrings;(OTable1, FileName);(OTable1);:= -1;:= -1;not eof (OTable1) do(OTable1, strTemp);:= TStringList.Create;(['|'], [], PChar(strTemp), List);(i);List.Count > 0List[0] = Phone:= i;;;;(OTable1);:= position;;

7) Процедура DeleteNumber - служит для удаления выделенной строки из файла. [6,5]

DeleteNumber(FileName:String; Position:Integer);i: Integer;: TextFile;, OldLine: String;(OTable1, FileName);(OTable1);:= 0;:= '';not eof (OTable1) do(OTable1, OldLine);i <> PositionNewText:= NewText + OldLine + #13#10;(i);;(OTable1);(OTable1);(OTable1, NewText);(OTable1);

end;

8) Функция LoadDataInGrid - данная функция загружает выбранный пользователем файл в таблицу.[6]

function LoadDataInGrid(FileName:String; SG: TStringGrid): Boolean;i, k, t: Integer;: TextFile;: String;: TStrings;: Boolean;

:=true;(OTable1, FileName);:= 1;(OTable1);

not eof (OTable1) do(OTable1, strTemp);strTemp <> '' then:= TStringList.Create;(['|'], [], PChar(strTemp), List);

List.Count < 4res:= falset:= 1 to 3 donot StringIsNumber(List[t]):= false;; // конец цикла for t:= 1 to 3 do;;res

k > SG.RowCount - 1SG.RowCount:= k + 1;

i:= 0 to 3 do.Cells[i, k]:= List[i];(k);; // конец цикла while not eof (OTable1) do;;(OTable1);:= res;;

3.3 Руководство программиста

Данная программы она работает с таблицами баз данных, роль базы данных играют текстовые файлы. По умолчанию таблица располагается в каталоге с программой и имеет имя tablica1.txt. Все данные, которые заносятся пользователями программы, сохраняются в этом файле, и последующая работа с ними возможна только при ее наличие в рабочем каталоге. Кроме этого, пользователь имеет возможность сохранять данные в файл по выбору и использовать необходимые ему базы данных, загружая их из других файлов БД. Однако, следует с особой внимательностью следить за сохранностью таблицы и не допускать ее изменений вне программы.

Программа имеет проверку на “правильность” БД, если пользователь выберет таблицу, которая содержит в себе неверную информацию, то программа предложит ему выбрать другой файл для работы. При отсутствии файла в каталоге, программа автоматически создаст необходимый файл.


ЗАКЛЮЧЕНИЕ

Результатом курсовой работы является разработанная программа «Телефонная станция». Данная программа предназначена для использования на телефонных станциях и позволяет производить необходимые работы в более короткие сроки.

Разработанная программа решает следующие (основные) задачи:

·  Ввод исходных данных в файл

·        Вычисление остатка (остаток равен разности между суммой, внесенной абонентом и суммой за МТР)

·        Вывод таблицы со столбцами: телефон, сумма за МТР, остаток

·        Вывод списка телефонов тех абонентов, которые остались должны (остаток отрицательный)

·  Выдачу справки по конкретному телефону

При выполнении курсовой работы были закреплены и углублены практические умения работы в среде объектно-ориентированного программирования Lazarus, а также получены навыки по оформлению и представлению технической документации к работе.

программный автоматизация телефонный данные

Список использованной литературы

1. Ткаченко Н.А. Разработка Windows-приложений в среде Delphi. Методические указания по выполнению лабораторных работ.

2.      http://www.williamspublishing.com/PDF/5-8459-0693-8/p.. <http://vk.com/away.php?to=http%3A%2F%2Fwww.williamspublishing.com%2FPDF%2F5-8459-0693-8%2Fpart.PDF>

.        http://www.kazedu.kz/referat/133065 <http://vk.com/away.php?to=http%3A%2F%2Fwww.kazedu.kz%2Freferat%2F133065>

.        Фаронов В. Dephi 6: учебный курс.

.        <http://www.delphi-manual.ru/lesson1.php>

.        <http://www.stringgrid-delphi.ru/index.php>

.        <http://www.intuit.ru/studies/courses/13745/1221/info>

ПРИЛОЖЕНИЕ A

Главный модуль программы

unit Unit2;

{$mode objfpc}{$H+}, SysUtils, FileUtil, TAGraph, TASeries, Forms, Controls, Graphics,, Menus, StdCtrls, Grids, ExtCtrls, ComCtrls;

{ TForm2 }= class(TForm): TButton;: TButton;: TButton;: TButton;: TChart;PieSeries1: TPieSeries;: TEdit;: TEdit;: TEdit;: TEdit;: TFontDialog;: TGroupBox;: TGroupBox;: TImageList;: TLabel;: TLabel;: TLabel;: TLabel;: TMainMenu;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TOpenDialog;: TPopupMenu;: TPopupMenu;: TPopupMenu;: TSaveDialog;: TStringGrid;: TStringGrid;: TToolBar;: TToolButton;: TToolButton;: TToolButton;: TToolButton;: TToolButton;: TToolButton;: TToolButton;Button1Click(Sender: TObject);Button2Click(Sender: TObject);Button3Click(Sender: TObject);Button4Click(Sender: TObject);DeleteBatonClick(Sender: TObject);Edit1KeyPress(Sender: TObject; var Key: char);Edit2KeyPress(Sender: TObject; var Key: char);Edit3KeyPress(Sender: TObject; var Key: char);Edit4KeyPress(Sender: TObject; var Key: char);FormCloseQuery(Sender: TObject; var CanClose: boolean);FormCreate(Sender: TObject);FormShow(Sender: TObject);GroupBox1Click(Sender: TObject);MenuItem10Click(Sender: TObject);MenuItem11Click(Sender: TObject);MenuItem12Click(Sender: TObject);MenuItem13Click(Sender: TObject);MenuItem14Click(Sender: TObject);MenuItem15Click(Sender: TObject);MenuItem16Click(Sender: TObject);MenuItem17Click(Sender: TObject);MenuItem2Click(Sender: TObject);MenuItem3Click(Sender: TObject);MenuItem4Click(Sender: TObject);MenuItem6Click(Sender: TObject);MenuItem7Click(Sender: TObject);MenuItem8Click(Sender: TObject);MenuItem9Click(Sender: TObject);PopupGridPopup(Sender: TObject);StringGrid1Click(Sender: TObject);ToolButton1Click(Sender: TObject);ToolButton3Click(Sender: TObject);ToolButton5Click(Sender: TObject);ToolButton7Click(Sender: TObject);

{ private declarations }

{ public declarations };: TForm2;,Nomer,MTP,balance,ostatok,k, i,j:integer;:TextFile;,FileLocation:string;

Unit3;

{$R *.lfm}

{ TForm2 }

StringIsNumber(Data:String): Boolean;start, i: Integer;: Boolean;:= true;Length(Data) = 0res:= false:= 1;(Data[start] = '-')start:= 2;

i:= start to Length(Data) donot (Data[i] in ['0'..'9']):= false;;;;;:= res;;

Grafik (SG:TStringGrid; res: TPieSeries);neg,pos1:integer;:=0;:=0;i:=1 to SG.RowCount-1 dostrtoint(SG.cells[3,i])<40 then(neg) else(pos1);pos1+neg>0 thenres do;(pos1,'Нет долгов',clYellow);(neg,'Имеется долг',clBlue);

end;;

spisok(SG:TStringGrid);:integer;,nomer,MTP,balance,ost,s:string;:=SG.row;:='Выделен абонент с номером: '+SG.cells[0,row]+#13#10+#13#10;:='Номер телефона: ' + SG.cells[0,row]+#13#10;:='Расходы на МТР: ' +SG.cells[1,row]+' р'+#13#10;

balance:='Внесённая сумма: ' +SG.cells[2,row]+' р'+#13#10;

ost:='Остаток на счёте: ' +SG.cells[3,row]+' р'+#13#10;

s:=ind+nomer+MTP+balance+ost;(s);;

AddNumber(FileName:String; NewLine:String);OTable1: TextFile;(OTable1, FileName);(OTable1);(OTable1, NewLine);(OTable1);;

ReplaceNumber(FileName:String; Position:Integer; :String);i: Integer;: TextFile;, OldLine: String;(OTable1, FileName);(OTable1);:= 0;:= '';not eof (OTable1) do(OTable1, OldLine);i = PositionNewText:= NewText + NewLine + #13#10NewText:= NewText + OldLine + #13#10;(i);;(OTable1);(OTable1);(OTable1, NewText);(OTable1);;

CheckNumber(FileName:String; Phone:String): Integer;position, i : Integer;: TextFile;: String;: TStrings;

(OTable1, FileName);(OTable1);:= -1;:= -1;not eof (OTable1) do(OTable1, strTemp);:= TStringList.Create;(['|'], [], PChar(strTemp), List);(i);List.Count > 0List[0] = Phone:= i;;;;(OTable1);:= position;;

LoadDataInGrid(FileName:String; SG: TStringGrid): Boolean;i, k, t: Integer;: TextFile;: String;: TStrings;: Boolean;

:=true;(OTable1, FileName);:= 1;(OTable1);not eof (OTable1) do(OTable1, strTemp);strTemp <> '' then:= TStringList.Create;(['|'], [], PChar(strTemp), List);

List.Count < 4res:= falset:= 1 to 3 donot StringIsNumber(List[t]):= false;; // конец цикла for t:= 1 to 3 do;;resk > SG.RowCount - 1SG.RowCount:= k + 1;i:= 0 to 3 do.Cells[i, k]:= List[i];(k);; // конец цикла while not eof (OTable1) do;;(OTable1);:= res;;

TForm2.Button1Click(Sender: TObject);AddInGrid: boolean;, i, pos: integer;(Edit1.Text = '') or (Edit2.Text = '') or (Edit3.Text = '')MessageDLG('Заполните все поля!', mtWarning, [mbOK], 0):= true;:= StrToInt(Edit3.text);:= StrToInt(Edit2.Text);:= balance - MTP;:= Edit1.Text + '|' + Edit2.text + '|' + Edit3.text + '|' + IntToStr(ostatok);FileExists(WideString(Utf8ToSys(FileLocation)))pos:= CheckNumber(WideString(Utf8ToSys(FileLocation)), .Text)pos:= -1;pos >= 0

begin

if MessageDlg('Такой номер уже есть в базе, заменить

его?',mtInformation,[mbYes, mbNo],0)=mrYesi:= 1 to StringGrid1.RowCount - 1 doStringGrid1.Cells[0, i] = Edit1.text:=i;;;;(WideString(Utf8ToSys(FileLocation)), pos, s);(StringGrid1,Chart1PieSeries1);:=false;:=StringGrid1.RowCount; StringGrid1.RowCount:=currentRow

+ 1;(WideString(Utf8ToSys(FileLocation)), s);;AddInGrid.Cells[0, currentRow]:=Edit1.text;.Cells[1, currentRow]:=Edit2.text;.Cells[2, currentRow]:=Edit3.text;.Cells[3, currentRow]:=IntToStr(ostatok);.Clear;.SetFocus;.Clear;.Clear;(StringGrid1,Chart1PieSeries1);;;;

TForm2.Button2Click(Sender: TObject);z:integer;

(Edit4.Text = '') then('Введите номер искомого абонента!',mtWarning,[mbOK],0)

else:=0;a:=StringGrid1.FixedRows to StringGrid1.RowCount-1 doStringGrid1.cells[0,a] = Edit4.text then:=z+1;StrToInt(StringGrid1.Cells[3,a]) < 0 then(' Абонент с номером '+ StringGrid1.cells[0,a] + ' найден '

+#13#10 +#13#10 +' Номер телефона ' + StringGrid1.Cells[0,a] + #13#10

+ ' MTP ' + StringGrid1.Cells[1,a] + #13#10 +' Баланс на счёте ' +

StringGrid1.Cells[2,a] + #13#10 +' Остаток на счёте ' +

StringGrid1.Cells[3,a] + ' - ИМЕЕТСЯ ЗАДОЛЖЕННОСТЬ! ')(' Абонент с номером '+ StringGrid1.cells[0,a] + ' найден '

+#13#10 +#13#10 +' Номер телефона ' + StringGrid1.Cells[0,a] + #13#10

+ ' MTP ' + StringGrid1.Cells[1,a] + #13#10 +' Баланс на счёте ' +

StringGrid1.Cells[2,a] + #13#10 +' Остаток на счёте ' +

StringGrid1.Cells[3,a] + ' - ЗАДОЛЖЕННОСТИ НЕТ') ;;;z=0 then('Абонент с номером ' + Edit4.text + ' не найден') ;;;

TForm2.Button3Click(Sender: TObject);da,x:integer;:=1;a:=StringGrid1.FixedRows to StringGrid1.RowCount-1 dostrtoint(stringgrid1.cells[3,a])<0 then(da);.RowCount:=da;;da=1 then('Должников нет');:=1;

a:=StringGrid1.FixedRows to StringGrid1.RowCount-1 doStringGrid1.Cells[3,a]='' thenStrToInt(StringGrid1.Cells[3,a]) < 0 then

.Cells[0, x]:=StringGrid1.Cells[0,a];.Cells[1, x]:=StringGrid1.Cells[1,a];.Cells[2, x]:=StringGrid1.Cells[2,a];.Cells[3,x]:=StringGrid1.Cells[3,a];:=x+1;;;;

TForm2.Button4Click(Sender: TObject);i,neg,pos:integer;:=0;:=0;i:=1 to StringGrid1.RowCount-1 dostrtoint(StringGrid1.cells[3,i])<0 then(neg) else(pos);Chart1PieSeries1 do;(pos,'Цех 1',clYellow);(neg,'Цех 2',clBlue);;;

TForm2.DeleteBatonClick(Sender: TObject);:integer;:boolean;MessageDLG('Вы хотите удалить выбранного абонента?',

mtConfirmation, [mbYes, mbNo], 0) = mryes thenFileExists(WideString(Utf8ToSys(FileLocation)))pos:= CheckNumber(WideString(Utf8ToSys(FileLocation)),

StringGrid1.Cells[0, StringGrid1.Row])pos:= -1;pos >= 0(WideString(Utf8ToSys(FileLocation)), pos);(StringGrid1,Chart1PieSeries1);;;.rowcount:=1;.rowcount:=1;:=true;FileExists(WideString(Utf8ToSys(FileLocation))) then:= LoadDataInGrid(WideString(Utf8ToSys(FileLocation)),

StringGrid1) ;(StringGrid1,Chart1PieSeries1);:= false; not next1 then

ShowMessage('Выбран неверный файл, пожалуйста выберите другой');

end;

TForm2.Edit1KeyPress(Sender: TObject; var Key: char);not (Key in ['0'..'9',#8]) then:=#0;;

TForm2.Edit2KeyPress(Sender: TObject; var Key: char);not (Key in ['0'..'9',#8]) then:=#0;;

TForm2.Edit3KeyPress(Sender: TObject; var Key: char);not (Key in ['0'..'9',#8]) then:=#0;;

TForm2.Edit4KeyPress(Sender: TObject; var Key: char);not (Key in ['0'..'9',#8]) then:=#0;;

TForm2.FormCloseQuery(Sender: TObject; var CanClose:

boolean);MessageDLG('Вы точно хотите выйти?', mtConfirmation, [mbYes, ], 0) = mrNo then:=false( Edit1.text<>'' )or ( Edit2.text<>'' )or (Edit3.text<>'' ) then

ShowMessage('Имеется не записанный номер');

Edit1.SetFocus;:=false;;CanClose then.Terminate; end;TForm2.FormCreate(Sender: TObject);:=1;:=1;.Title:='Телефонная база';;

TForm2.FormShow(Sender: TObject);:boolean;.visible:=true;:='';MessageDLG('Открыть файл для работы с данными?', mtConfirmation,

[mbYes, mbNo], 0) = mrYes then.RowCount:=1;OpenDialog1.Execute then:= OpenDialog1.FileName:= 'Tablica1.txt';:= 'Tablica1.txt';:= LoadDataInGrid(WideString(Utf8ToSys(FileLocation)),

StringGrid1) ;(StringGrid1,Chart1PieSeries1) ;not next1 then

ShowMessage('Выбран неверный файл, пожалуйста выберите другой');

Chart1.visible:=false;;;

TForm2.MenuItem10Click(Sender: TObject);next1:boolean;.rowcount:=1;:=true;FileExists(WideString(Utf8ToSys(FileLocation))) then:= LoadDataInGrid(WideString(Utf8ToSys(FileLocation)),

StringGrid1) ;(StringGrid1,Chart1PieSeries1);:= false; not next1 then

ShowMessage('Выбран неверный файл, пожалуйста выберите другой');

end;

TForm2.MenuItem11Click(Sender: TObject);: Integer;:string;SaveDialog1.Execute theni:=1 to StringGrid1.RowCount-1 do:= s + (StringGrid1.Cells[0, i] + '|'+ StringGrid1.Cells[1, i] + '|' +

StringGrid1.Cells[2, i] + '|' + StringGrid1.Cells[3, i] + #13#10);(WideString(Utf8ToSys(SaveDialog1.FileName)), s + #13#10);;;

TForm2.MenuItem12Click(Sender: TObject);i,j:integer;

MessageDLG('Вы точно хотите удалить содержимое файла?',

mtConfirmation, [mbYes, mbNo], 0) = mrYes then.visible:=false;.RowCount:=1;.RowCount:=1;i:=1 to StringGrid1.RowCount-1 doj:=0 to StringGrid1.ColCount-1 do.cells[j,i]:='' ;i:=1 to StringGrid2.RowCount-1 doj:=0 to StringGrid2.ColCount-1 do.cells[j,i]:='';;

TForm2.MenuItem13Click(Sender: TObject);.SetFocus;.clear;.clear;.clear;;TForm2.MenuItem14Click(Sender: TObject);

MessageDLG('Поля служат для введения информации о

пользователях',mtInformation, [mbOK], 0);

end;

TForm2.MenuItem15Click(Sender: TObject);

MessageDLG('Таблица выводит информацию о пользовательях

АТС',mtInformation, [mbOK], 0);

end;

TForm2.MenuItem16Click(Sender: TObject);i,j:integer;.rowcount:=1;i:=1 to StringGrid2.RowCount-1 doj:=0 to StringGrid2.ColCount-1 do.cells[j,i]:='';

TForm2.MenuItem17Click(Sender: TObject);

MessageDLG('Таблица показывает информацию о

должниках',mtInformation, [mbOK], 0);

end;

TForm2.MenuItem3Click(Sender: TObject);next1:boolean;.rowcount:=1;:=true;FileExists(WideString(Utf8ToSys(FileLocation))) then:= LoadDataInGrid(WideString(Utf8ToSys(FileLocation)),

StringGrid1) ;(StringGrid1,Chart1PieSeries1);:= false; not next1 then

ShowMessage('Выбран неверный файл, пожалуйста выберите другой');

end;

TForm2.MenuItem2Click(Sender: TObject);: Integer;:string;SaveDialog1.Execute theni:=1 to StringGrid1.RowCount-1 do:= s + (StringGrid1.Cells[0, i] + '|'+ StringGrid1.Cells[1, i] + '|' +

StringGrid1.Cells[2, i] + '|' + StringGrid1.Cells[3, i] + #13#10);(WideString(Utf8ToSys(SaveDialog1.FileName)), s + #13#10);;;

TForm2.MenuItem7Click(Sender: TObject);next1:boolean;.visible:=true;:='';MessageDLG('Открыть файл для работы с данными?', mtConfirmation,

[mbYes, mbNo], 0) = mrYes then.RowCount:=1;.RowCount:=1;OpenDialog1.Execute then:= OpenDialog1.FileName;.visible:=true;:= LoadDataInGrid(WideString(Utf8ToSys(FileLocation)),

StringGrid1) ;(StringGrid1,Chart1PieSeries1):= 'Tablica1.txt';:= 'Tablica1.txt';not next1 then.visible:=false;('Выбран неверный файл, пожалуйста выберите другой');

end;;

TForm2.MenuItem8Click(Sender: TObject);

MessageDLG('Программа автоматически сохраняет вносимые номера '

+ #13#10,mtInformation, [mbOK], 0);

end;

TForm2.MenuItem9Click(Sender: TObject);da,x:integer;:=1;a:=StringGrid1.FixedRows to StringGrid1.RowCount-1 dostrtoint(stringgrid1.cells[3,a])<0 then(da);.RowCount:=da;;da=1 then('Должников нет');:=1;a:=StringGrid1.FixedRows to StringGrid1.RowCount-1 doStringGrid1.Cells[3,a]='' thenStrToInt(StringGrid1.Cells[3,a]) < 0 then

.Cells[0, x]:=StringGrid1.Cells[0,a];.Cells[1, x]:=StringGrid1.Cells[1,a];.Cells[2, x]:=StringGrid1.Cells[2,a];.Cells[3,x]:=StringGrid1.Cells[3,a];:=x+1;;;;

TForm2.StringGrid1Click(Sender: TObject);(StringGrid1);;TForm2.ToolButton1Click(Sender: TObject);next1:boolean;.visible:=true;:='';MessageDLG('Открыть файл для работы с данными?', mtConfirmation,

[mbYes, mbNo], 0) = mrYes then.RowCount:=1;.RowCount:=1;OpenDialog1.Execute then:= OpenDialog1.FileName;.visible:=true;:= LoadDataInGrid(WideString(Utf8ToSys(FileLocation)),

StringGrid1) ;(StringGrid1,Chart1PieSeries1):= 'Tablica1.txt';:= 'Tablica1.txt';not next1 then.visible:=false;('Выбран неверный файл, пожалуйста выберите другой');

end;;

procedure TForm2.ToolButton3Click(Sender: TObject);: Integer;:string;SaveDialog1.Execute theni:=1 to StringGrid1.RowCount-1 do:= s + (StringGrid1.Cells[0, i] + '|'+ StringGrid1.Cells[1, i] + '|' +

StringGrid1.Cells[2, i] + '|' + StringGrid1.Cells[3, i] + #13#10);(WideString(Utf8ToSys(SaveDialog1.FileName)), s + #13#10);;;TForm2.ToolButton5Click(Sender: TObject);

MessageDLG('Программа автоматически сохраняет вносимые номера '

+ #13#10,mtInformation, [mbOK], 0);

end;

TForm2.ToolButton7Click(Sender: TObject);;;.

Модуль заставки

Unit3;

{$mode objfpc}{$H+}, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ExtCtrls,;

{ TForm3 }= class(TForm): TImage;: TProgressBar;: TTimer;FormCreate(Sender: TObject);Image1Click(Sender: TObject);Timer1Timer(Sender: TObject);

{ private declarations }

{ public declarations };

: TForm3;:integer;unit2;

{$R *.lfm}

{ TForm3 }

TForm3.Timer1Timer(Sender: TObject);(i);.Position:=ProgressBar1.Position+1;i=110 then.Hide;.Show;;;

TForm3.FormCreate(Sender: TObject);:=0;;.

Похожие работы на - Разработка программы 'Телефонная база'

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!