Главная Случайная страница


Полезное:

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


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






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





 

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

 

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

 

 

 

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

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

 

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

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

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

 

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

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

ü Справка

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

ü Открыть

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

ü Очистить

ü Справка

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

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

ü Очистить

ü Справка

 

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

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

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

 

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

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

function StringIsNumber(Data:String): Boolean;

var start, i: Integer;

res: Boolean;

begin

res:= true;

if Length(Data) = 0

then res:= false

else

begin

start:= 1;

if (Data[start] = '-')

then start:= 2;

for i:= start to Length(Data) do

begin

if not (Data[i] in ['0'..'9'])

then

begin

res:= false;

break;

end;

end;

end;

Result:= res;

end;

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

 

procedure Grafik (SG:TStringGrid; res: TPieSeries);[2]

var neg,pos1:integer;

begin

neg:=0;

pos1:=0;

for i:=1 to SG.RowCount-1 do

if strtoint(SG.cells[3,i])<40 then

inc(neg) else

inc(pos1);

if pos1+neg>0 then

With res do

begin

Clear;

Add(pos1,'Нет долгов',clYellow);

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

end;

end;

 

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

 

procedure spisok(SG:TStringGrid);

var

row:integer;

ind,nomer,MTP,balance,ost,s:string;

begin

row:=SG.row;

ind:='Выделен абонент с номером: '+SG.cells[0,row]+#13#10+#13#10;

nomer:='Номер телефона: ' + SG.cells[0,row]+#13#10;

MTP:='Расходы на МТР: ' +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;

ShowMessage(s);

end;

 

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

 

procedure AddNumber(FileName:String; NewLine:String);

var OTable1: TextFile;

begin

AssignFile(OTable1, FileName);

Append(OTable1);

Writeln(OTable1, NewLine);

CloseFile(OTable1);

end;

 

 

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

 

procedure ReplaceNumber(FileName:String; Position:Integer; NewLine:String);

var i: Integer;

OTable1: TextFile;

NewText, OldLine: String;

begin

AssignFile(OTable1, FileName);

Reset(OTable1);

i:= 0;

NewText:= '';

while not eof (OTable1) do

begin

Readln(OTable1, OldLine);

if i = Position

then NewText:= NewText + NewLine + #13#10

else NewText:= NewText + OldLine + #13#10;

inc(i);

end;

CloseFile(OTable1);

Rewrite(OTable1);

Write(OTable1, NewText);

CloseFile(OTable1);

end;

 

 

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

function CheckNumber(FileName:String; Phone:String): Integer;

var position, i: Integer;

OTable1: TextFile;

strTemp: String;

List: TStrings;

begin

AssignFile(OTable1, FileName);

Reset(OTable1);

i:= -1;

position:= -1;

while not eof (OTable1) do

begin

Readln(OTable1, strTemp);

List:= TStringList.Create;

ExtractStrings(['|'], [], PChar(strTemp), List);

inc(i);

if List.Count > 0

then

if List[0] = Phone

then

begin

position:= i;

break;

end;

end;

CloseFile(OTable1);

Result:= position;

end;

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

procedure DeleteNumber(FileName:String; Position:Integer);

var i: Integer;

OTable1: TextFile;

NewText, OldLine: String;

begin

AssignFile(OTable1, FileName);

Reset(OTable1);

i:= 0;

NewText:= '';

while not eof (OTable1) do

begin

Readln(OTable1, OldLine);

if i <> Position

then NewText:= NewText + OldLine + #13#10;

inc(i);

end;

CloseFile(OTable1);

Rewrite(OTable1);

Write(OTable1, NewText);

CloseFile(OTable1);

end;

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

function LoadDataInGrid(FileName:String; SG: TStringGrid): Boolean;

var i, k, t: Integer;

OTable1: TextFile;

strTemp: String;

List: TStrings;

res: Boolean;

 

begin

res:=true;

AssignFile(OTable1, FileName);

k:= 1;

Reset(OTable1);

 

while not eof (OTable1) do

begin

Readln(OTable1, strTemp);

if strTemp <> '' then

begin

List:= TStringList.Create;

ExtractStrings(['|'], [], PChar(strTemp), List);

 

if List.Count < 4

then res:= false

else

begin

for t:= 1 to 3 do

if not StringIsNumber(List[t])

then

begin

res:= false;

break; // конец цикла for t:= 1 to 3 do

end;

end;

if res

then

begin

 

if k > SG.RowCount - 1

then SG.RowCount:= k + 1;

 

for i:= 0 to 3 do

SG.Cells[i, k]:= List[i];

inc(k);

end

else

break; // конец цикла while not eof (OTable1) do

end;

end;

CloseFile(OTable1);

Result:= res;

end;

Date: 2015-07-24; view: 522; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.007 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию