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

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

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

СОДЕРЖАНИЕ

Введение

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

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

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

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

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

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

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

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

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

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

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

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

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

Заключение

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

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

ВВЕДЕНИЕ

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

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

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

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

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

информация модуль форма программный

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Требования

Процессор

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

RAM

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

Video

Не меньше 512 Мб

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

Windows 7, Windows 8


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

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

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

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

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

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

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

2.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. Внешний вид главного окна программы

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

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

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

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

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

ü  Справка

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

ü  Открыть

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

ü  Очистить

ü  Справка

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

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

ü  Очистить

ü  Справка

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

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

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

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

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

function 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;

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]

procedure 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]

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

CloseFile(OTable1);;

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

procedure ReplaceNumber(FileName:String; Position:Integer; NewLine: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]

function 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;;

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

procedure 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;

)Функция 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;;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;;

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

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

ЗАКЛЮЧЕНИЕ

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

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

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

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

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

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

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

При выполнении курсовой работы были закреплены и углублены практические умения работы в среде объектно-ориентированного программирования 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; NewLine: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;;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);;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)), Edit1.Text)pos:= -1;pos >= 0MessageDlg('Такой номер уже есть в базе, заменить его?',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, mbNo], 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.MenuItem6Click(Sender: TObject);FontDialog1.Execute then.Font.Assign(FontDialog1.Font);.Font.Assign(FontDialog1.Font);;;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;;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;;.

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

 

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