Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
отчет3.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.71 Mб
Скачать

2.9 Навигационный способ доступа к данным

1 Постановка задачи

1.1 Программа вычисляет общую сумму, подготовленную к выдаче сотрудникам

1.2 Компоненты программы

Имя компонента

Тип компонента

Свойства компонента

Значение компонента

Событие

Table1

TTable

таблица

DBGrid1

TDBGrid

DataSource1

TDataSource

DBNavigator1

ТDBNavigator

DataSet

Button1

TButton

Caption

Первая запись

OnClick

Button2

TButton

Caption

Следующая запись

OnClick

Button3

TButton

Caption

Последняя запись

OnClick

Button4

TButton

Caption

Предыдущая запись

OnClick

Button5

TButton

Caption

Переход на…записей

OnClick

Edit1

TEdit

Text

вывод

OnClick

1.3 Листинг программы

procedureTForm1.Button1Click(Sender: TObject);

begin

table1.First;

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

table1.Last;

end;

procedure TForm1.Button3Click(Sender: TObject);

begin

table1.next;

end;

procedure TForm1.Button4Click(Sender: TObject);

begin

table1.prior;

end;

end.

    1. Контрольныйпример

2 Постановка задачи

2.1Составить программу которая вычисляет общую сумму, подготовленную к выдаче сотрудникам.

2.2 Компоненты программы

Имя компонента

Тип компонента

Свойства компонента

Значение компонента

Событие

Table1

TTable

таблица

DBGrid1

TDBGrid

DataSource1

TDataSource

DataSet

DBNavigator1

ТDBNavigator

Edit1

TEdit

Text

вывод

OnClick

2.3 Листингпрограммы

var

Form1: TForm1;

workbreak:boolean;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);

begin

BitBtn1.Enabled:=true;

BitBtn2.Enabled:=false;

WorkBreak:=false;

end;

procedure TForm1.BitBtn1Click(Sender: TObject);

label 10;

var s:real;

i:integer;

begin

BitBtn1.Enabled:=false;

BitBtn2.Enabled:=true;

s:=0;

progressbar1.Max:=table1.RecordCount;

table1.DisableControls;

table1.First;

while not table1.Eof do begin

s:=s+table1.fieldbyname('Salary').asfloat;

application.ProcessMessages;

progressbar1.Position:=table1.RecNo;

label1.Caption:=inttostr(round(progressbar1.position/progressbar1.max*100))+'%';

ifworkbreak then goto 10;

for i:=1 to 99999999 do;

table1.Next;label2.Caption:='Итого '+floattostrf(s,ffFixed,8,2);

end;

showmessage('Итого '+floattostrf(s,ffFixed,8,2));

10:

table1.EnableControls;

progressbar1.Position:=0;

label1.Caption:='';

label2.Caption:='';

BitBtn1.Enabled:=true;

BitBtn2.Enabled:=false;

workbreak:=false;

end;

procedure TForm1.BitBtn2Click(Sender: TObject);

begin

workbreak:=true;

end;

end.

2.4 Контрольный пример

2.10Фильтрация по выражению.

1 Постановка задачи

1.1Организуем фильтрацию по выражению, которое задает пользователь.

1.2 Компоненты программы

Имя компонента

Тип компонента

Свойства компонента

Значение компонента

Событие

Table1

TTable

таблица

DBGrid1

TDBGrid

DataSource1

TDataSource

DataSet

Button1

TButton

Caption

Все записи

OnClick

Button1

TButton

Caption

Фильтрировать

OnClick

Label1

TLabel

Caption

Выражение фильтра

Edit1

TEdit

Text

вывод