
Приложение а (обязательное) Текст программы
// Процедура удаления записи из таблицы
procedure Tbaza.N1Click(Sender: TObject);
begin
If MessageDlg('УДАЛИТЬ ТЕКУЩУЮ ЗАПИСЬ?',
mtConfirmation,[mbOk,mbCancel],0)=1 then
baza.sDBNavigator1.BtnClick(nbdelete) ;
end;
// Открытие формы для добавления новой записи
procedure Tbaza.N2Click(Sender: TObject);
begin
baza.sDBNavigator1.BtnClick(nbInsert);
baza.Hide;
dobavlenie.show;
end;
// Открытие формы подключения с возможностью редактирования записи
procedure Tbaza.N3Click(Sender: TObject);
begin
baza.Hide;
edaktor.sDateEdit1.Text:=adoquery1.Fields.Fields[7].DisplayText;
redaktor.sDateEdit2.Text:=adoquery1.Fields.Fields[11].DisplayText;
baza.sDBNavigator1.BtnClick(nbEdit);
redaktor.show;
end;
// Расчет вычисляемых полей таблицы
procedure Tbaza.ADOTableCalcFields(DataSet: TDataSet);
begin
Adotable1.Fields.Fields[12].Value:=(Adotable1.Fields.Fields[11].Value-Adotable1.Fields.Fields[7].value);
Adotable1.Fields.Fields[8].Value:=(date-Adotable1.Fields.Fields[7].value);
end;
// Открытие формы-справочника тарифных планов
procedure Tbaza.N4Click(Sender: TObject);
begin
tarifplan.show;
end;
// Загрузка из файла действующих тарифных планов
procedure Tbaza.FormActivate(Sender: TObject);
begin
baza.sComboBox1.Items.LoadFromFile(ExtractFilePath(Application.ExeName) + 'Справочник тарифов.Txt');
end;
// Отображение всех записей БД
procedure Tbaza.sBitBtn2Click(Sender: TObject);
begin
sComboBox1.Text:='';
sEdit1.Text:='';
sEdit2.Text:='';
sEdit3.Text:='';
sEdit4.Text:='';
sRadioGroup2.ItemIndex:=-1;
sRadioGroup1.ItemIndex:=-1;
baza.ADOQuery1.Active:=True;
baza.ADOtable1.First;
baza.ADOQuery1.SQL.Clear;
baza.ADOQuery1.SQL.Add('select * from 1');
baza.ADOQuery1.Active:=True;
end;
// Формирование запроса
procedure Tbaza.sBitBtn1Click(Sender: TObject);
var s:string;
begin
s:='';
baza.ADOQuery1.First;
baza.ADOQuery1.SQL.Clear;
baza.ADOQuery1.SQL.Add('select * from 1');
if sEdit1.Text<>'' then begin
s:=s+'(Улица="'+sEdit1.Text+'")';
end;
if sEdit2.Text<>'' then begin
if sEdit1.Text<>'' then s:=s+' and (Дом="'+sEdit2.Text+'")'
else s:=s+'(Дом="'+sEdit2.Text+'")';
end;
if sEdit3.Text<>'' then begin
if (sEdit1.Text<>'') or (sEdit2.Text<>'') then s:=s+' and (Бригада="'+sEdit3.Text+'")'
else s:=s+'(Бригада="'+sEdit3.Text+'")';
end;
if scombobox1.Text<>'' then begin
if (sEdit1.Text<>'') or (sEdit2.Text<>'')or (sEdit3.Text<>'') then s:=s+' and (Тариф="'+scombobox1.Text+'")'
else s:='(Тариф="'+scombobox1.Text+'")';
end;
if sRadioGroup2.ItemIndex>-1 then
begin
if (sEdit1.Text<>'') or (sEdit2.Text<>'')or (sEdit3.Text<>'') or (scombobox1.Text<>'') then
begin
if sRadioGroup2.ItemIndex=0 then s:=s+'and (Статус = "подключен")';
if sRadioGroup2.ItemIndex=1 then s:=s+'and (Статус = "не подключен")';
end
else begin
if sRadioGroup2.ItemIndex=0 then s:=s+'(Статус = "подключен")';
if sRadioGroup2.ItemIndex=1 then s:=s+'(Статус = "не подключен")';
end ; end;
if sEdit4.Text<>'' then begin
if (sEdit1.Text<>'') or (sEdit2.Text<>'')or (sEdit3.Text<>'') or (scombobox1.Text<>'')
or (sRadioGroup2.ItemIndex>-1) then
s:=s+' and (Подключение="'+sEdit4.Text+'")'
else s:=s+'(Подключение="'+sEdit4.Text+'")';
end;
if sRadioGroup1.ItemIndex>-1 then begin
if (sEdit1.Text<>'') or (sEdit2.Text<>'')or (sEdit3.Text<>'') or (scombobox1.Text<>'')
or (sRadioGroup2.ItemIndex>-1) or (sEdit4.Text<>'') then
begin
if sRadioGroup1.ItemIndex=0 then s:=s+'and (Способ = "подключение (490 руб)")';
if sRadioGroup1.ItemIndex=1 then s:=s+'and (Способ = "внесение аванса (1500 руб)")';
if sRadioGroup1.ItemIndex=2 then s:=s+'and (Способ = "с др.провайдера (0 руб)")';
end
else begin
if sRadioGroup1.ItemIndex=0 then s:=s+'(Способ = "подключение (490 руб)")';
if sRadioGroup1.ItemIndex=1 then s:=s+'(Способ = "внесение аванса (1500 руб)")';
if sRadioGroup1.ItemIndex=2 then s:=s+'(Способ = "с др.провайдера (0 руб)")';
end ; end;
if s<>'' then baza.ADOQuery1.SQL.Add('where '+s);
baza.ADOQuery1.Active:=True;
end;
// Активация формы подтверждения выхода из программы
procedure Tbaza.N6Click(Sender: TObject);
begin
baza.Close;
vixod.show;
vixod.label1.Font.Color:=clyellow;
end;
// Добавление нового тарифа в список
procedure Ttarifplan.sSpeedButton1Click(Sender: TObject);
begin
schecklistbox1.Items.Add(sedit1.Text);
sedit1.Clear;
end;
// Удаление выбранных тарифов
procedure Ttarifplan.sSpeedButton2Click(Sender: TObject);
var i:integer;
begin
with schecklistbox1 do
for i:=items.Count-1 downto 0 do
if state[i]=cbChecked then Items.Delete(i);
end;
// Загрузка списка тарифов из файла
procedure Ttarifplan.FormActivate(Sender: TObject);
begin
sCheckListBox1.Items.LoadFromFile(ExtractFilePath(Application.ExeName)+'Справочник тарифов.Txt');
end;
// Сохранение изменений в файл
procedure Ttarifplan.sSpeedButton3Click(Sender: TObject);
begin
sCheckListBox1.Items.SaveToFile(ExtractFilePath(Application.ExeName) + 'Справочник тарифов.Txt');
end;
// Закрытие справочника
procedure Ttarifplan.sButton1Click(Sender: TObject);
begin
tarifplan.Close;
baza.show;
end;
// Проверка целостности данных
procedure Tredaktor.sButton1Click(Sender: TObject);
begin
if (sdbedit1.Text='') or (sdbedit2.Text='')or (sdbedit3.Text='')or (sdbedit4.Text='')
or (sdbedit5.Text='')or (sdbedit6.Text='')or (sdbedit7.Text='')
or (sdateedit1.Text='')or (sdbcombobox1.Text='')or (sdbcombobox2.Text='')then
showmessage('НЕ ВСЕ ГЛАВНЫЕ ПОЛЯ ЗАПОЛНЕНЫ!') ELSE begin
baza.ADOquery1.Fields.Fields[7].Text:=redaktor.sDateEdit1.Text;
baza.ADOquery1.Fields.Fields[11].Text:=redaktor.sDateEdit2.Text;
baza.sDBNavigator1.BtnClick(nbPost);
redaktor.Close;
baza.Show;
end;
end;
// Передача фокуса
procedure Tredaktor.sDBEdit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (Key=13) then sdbedit2.SetFocus;
end;
procedure Tredaktor.sDBEdit2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (Key=13) then sdbedit3.SetFocus;
end;
procedure Tredaktor.sDBEdit3KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (Key=13) then sdbedit4.SetFocus;
end;
procedure Tredaktor.sDBEdit4KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (Key=13) then sdbedit5.SetFocus;
end;
procedure Tredaktor.sDBEdit5KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (Key=13) then sdbedit6.SetFocus;
end;
procedure Tredaktor.sDBEdit6KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (Key=13) then sdbedit7.SetFocus;
end;
procedure Tredaktor.sDBMemo1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (Key=13) then sdbcombobox1.SetFocus;
end;
procedure Tredaktor.sDBDateEdit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (Key=13) then sdbmemo1.SetFocus;
end;
procedure Tredaktor.sDBComboBox1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (Key=13) then sdbcombobox2.SetFocus;
end;
procedure Tredaktor.sDBComboBox2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (Key=13) then sdbedit8.SetFocus;
end;
// Передача данных в БД
procedure Tredaktor.sSpeedButton1Click(Sender: TObject);
begin
baza.sDBNavigator1.BtnClick(nbPost);
redaktor.Close;
baza.Show;
end;
// Проверка правильности ввода
procedure Tredaktor.sDateEdit2Change(Sender: TObject);
begin
if (sDateEdit2.Text<>' . . ') or (sDateEdit1.Text<>' . . ') then begin
if strtodate(sDateEdit2.Text)<strtodate(sDateEdit1.Text) then begin
showmessage ('НЕВЕРНЫЙ ВВОД!');
sDateEdit2.Text:= sDateEdit1.Text; end
else
if strtodate(sDateEdit2.Text)>date then sDBEdit13.Text:='не подключен' else sDBEdit13.Text:='подключен';
end;
end;
procedure Tredaktor.sDateEdit1Change(Sender: TObject);
begin
if (sDateEdit1.Text<>' . . ') then
if strtodate(sDateEdit1.Text)>date then begin
showmessage ('НЕВЕРНЫЙ ВВОД!');
sDateEdit1.Text:=datetostr(date);
end ;
end;