Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

ПРИЛОЖЕНИЕ К. Листинг программного кода 3 страница

Используемые классификаторы и системы кодирования | Характеристика нормативно-справочной, входной и оперативной информации | Характеристика результатной информации | Программное обеспечение задачи | Описание программных модулей и структурная схема пакета | Алгоритмы обработки данных | Контрольный пример реализации проекта и его описание | ЗАКЛЮЧЕНИЕ | ПРИЛОЖЕНИЕ Г | ПРИЛОЖЕНИЕ К. Листинг программного кода 1 страница |


Читайте также:
  1. 1 страница
  2. 1 страница
  3. 1 страница
  4. 1 страница
  5. 1 страница
  6. 1 страница
  7. 1 страница

ShowMessage('Введите колличество камней и цену одного камня, а затем сохраните добавленную позицию! (Кнопка "СОХРАНИТЬ.позиция")');

DBEditKamKolPoz.ReadOnly:=False;

DBEditKamCenaPoz.ReadOnly:=False;

DBEditKamKolPoz.SetFocus;

SpButSavePoz.Visible:=True;

SpButDeletPozKam.Visible:=False;

DBNavigatorPost.Enabled:=False;

end;

 

//Сохранение добавленной позиции к поставке камней

procedure TFormKamni.SpButSavePozClick(Sender: TObject);

begin

If DBEditKamKolPoz.Text='' Then

begin

ShowMessage('Введите колличество камней!');

DBEditKamKolPoz.SetFocus;

exit;

end;

If DBEditKamCenaPoz.Text='' Then

begin

ShowMessage('Введите цену одного камня!');

DBEditKamCenaPoz.SetFocus;

exit;

end;

try

k:=StrToInt(DBEditKamKolPoz.Text); //Считываем введенное колличество камней

except

on EConvertError do

begin

ShowMessage('В поле для колличества камней введено неверное значение! Колличество камней должно быть целым положительным числом!');

DBEditKamKolPoz.Text:= '';

exit;

end;

end;

try

c:=StrToFloat(DBEditKamCenaPoz.Text); //Считываем введенную цену камня

except

on EConvertError do

begin

ShowMessage('В поле для цены одного камня введено не числовое значение!');

DBEditKamCenaPoz.Text:= '';

exit;

end;

end;

DBNavigatorPostKamPoz.BtnClick(nbPost);

DBEditKamKolPoz.ReadOnly:=True;

DBEditKamCenaPoz.ReadOnly:=True;

SpButSavePoz.Visible:=False;

DM.DataModuleUvelir.ADOQueryPostKamPoz.Close;

DM.DataModuleUvelir.ADOQueryPostKamPoz.Parameters.ParamByName('KOD').Value:=DBEditKodPost.Text;

DM.DataModuleUvelir.ADOQueryPostKamPoz.Open;

DM.DataModuleUvelir.ADOQueryPostavkaKam.Close; DM.DataModuleUvelir.ADOQueryPostavkaKam.Parameters.ParamByName('POST').Value:=DBEditPost.Text;

DM.DataModuleUvelir.ADOQueryPostavkaKam.Open;

SpButDeletPozKam.Visible:=True;

DBNavigatorPost.Enabled:=True;

end;

 

//Удалить позицию из поставки камней

procedure TFormKamni.SpButDeletPozKamClick(Sender: TObject);

begin

DBNavigatorPostKamPoz.BtnClick(nbDelete);

DM.DataModuleUvelir.ADOQueryPostavkaKam.Close; DM.DataModuleUvelir.ADOQueryPostavkaKam.Parameters.ParamByName('POST').Value:=DBEditPost.Text;

DM.DataModuleUvelir.ADOQueryPostavkaKam.Open;

end;

 

//Переход к форме поставщики камней

procedure TFormKamni.SpButPostClick(Sender: TObject);

begin

FormPOSTAVSHIK.Show;

end;

 

//Обновление данных о поставках текущего поставщика

procedure TFormKamni.DBEditPostChange(Sender: TObject);

begin

DM.DataModuleUvelir.ADOQueryPostavkaKam.Close; DM.DataModuleUvelir.ADOQueryPostavkaKam.Parameters.ParamByName('POST').Value:=DBEditPost.Text;

DM.DataModuleUvelir.ADOQueryPostavkaKam.Open;

end;

 

//Активация формы

procedure TFormKamni.FormActivate(Sender: TObject);

begin

DM.DataModuleUvelir.ADOQueryPostKam.Close; DM.DataModuleUvelir.ADOQueryPostKam.Parameters.ParamByName('POST').Value:=DBEditPost.Text;

DM.DataModuleUvelir.ADOQueryPostKam.Open;

DM.DataModuleUvelir.ADOQueryPostKamPoz.Close; DM.DataModuleUvelir.ADOQueryPostKamPoz.Parameters.ParamByName('KOD').Value:=DBEditKodPost.Text;

DM.DataModuleUvelir.ADOQueryPostKamPoz.Open;

end;

 

//Переход к форме остптки драгоценных камней

procedure TFormKamni.SpButDragKamniClick(Sender: TObject);

begin

FormDragKamni.Show;

end;

 

end.

 

Модуль формы ПОСТАВЩИКИ (UnitPOSTAVSHIK)

unit UnitPOSTAVSHIK;

 

implementation

 

uses DM, UnitKamni;

 

{$R *.dfm}

 

//Поиск поставщиков

procedure TFormPOSTAVSHIK.SpButPoiskPostClick(Sender: TObject);

begin

DM.DataModuleUvelir.ADOQueryPOSTAVSHIK.Close; DM.DataModuleUvelir.ADOQueryPOSTAVSHIK.Parameters.ParamByName('POST').Value:=EditPoiskPost.Text;

DM.DataModuleUvelir.ADOQueryPOSTAVSHIK.Open;

DBEditPost.DataSource.DataSet:=DM.DataModuleUvelir.ADOQueryPOSTAVSHIK;

SpButSbros.Visible:=True;

end;

 

//Сброс параметров поиска

procedure TFormPOSTAVSHIK.SpButSbrosClick(Sender: TObject);

begin

DBEditPost.DataSource.DataSet:=DM.DataModuleUvelir.ADOTablePOSTAVSHIK;

SpButSbros.Visible:=False;

EditPoiskPost.Text:='';

end;

 

//Закрытие формы

procedure TFormPOSTAVSHIK.FormClose(Sender: TObject;

var Action: TCloseAction);

begin

DM.DataModuleUvelir.ADOQueryPostKamList.Close;

DM.DataModuleUvelir.ADOQueryPostKamList.Open;

FormKamni.DBLookupComBoxPostKam.ListSource.DataSet.Close;

FormKamni.DBLookupComBoxPostKam.ListSource.DataSet.Open;

DM.DataModuleUvelir.ADOQueryPostKam.Close; DM.DataModuleUvelir.ADOQueryPostKam.Parameters.ParamByName('POST').Value:=DBEditPost.Text;

DM.DataModuleUvelir.ADOQueryPostKam.Open;

end;

 

end.

Модуль формы СКУПКА МЕТАЛЛОВ (UnitSkupkaMetall)

unit UnitSkupkaMetall;

 

implementation

 

uses Uvelir, UnitMetall, DM, UnitAddPoz, UnitKVITANCE;

 

{$R *.dfm}

 

//Процедура отображения позиций квитанции и итоговой суммы

procedure TFormSkupkaMet.DBEditKvitSkupChange(Sender: TObject);

begin

DM.DataModuleUvelir.ADOQuerySkupkaMet.Close; DM.DataModuleUvelir.ADOQuerySkupkaMet.Parameters.ParamByName('KOD').Value:=DBEditKvitSkup.Text;

DM.DataModuleUvelir.ADOQuerySkupkaMet.Open;

DM.DataModuleUvelir.ADOQuerySumKvit.Close; DM.DataModuleUvelir.ADOQuerySumKvit.Parameters.ParamByName('KODITOG').Value:=DBEditKvitSkup.Text;

DM.DataModuleUvelir.ADOQuerySumKvit.Open;

end;

 

 

//Поиск квитанции по дате

procedure TFormSkupkaMet.SpButPoiskKvitDateClick(Sender: TObject);

begin

DM.DataModuleUvelir.ADOQuerySkupDate.Close;

DM.DataModuleUvelir.ADOQuerySkupDate.Parameters.ParamByName('DATE').Value:=DateToStr(DTPickPoiskDATE.Date);

DM.DataModuleUvelir.ADOQuerySkupDate.Open;

DBEditKvitSkup.DataSource.DataSet:=DM.DataModuleUvelir.ADOQuerySkupDate;

end;

 

//Поиск квитанции по коду

procedure TFormSkupkaMet.SpButPoiskKviyKodClick(Sender: TObject);

begin

DM.DataModuleUvelir.ADOQuerySkupKvit.Close;

DM.DataModuleUvelir.ADOQuerySkupKvit.Parameters.ParamByName('KVITANCIY').Value:=EditPoiskKOD.Text;

DM.DataModuleUvelir.ADOQuerySkupKvit.Open;

DBEditKvitSkup.DataSource.DataSet:=DM.DataModuleUvelir.ADOQuerySkupKvit;

end;

 

//Процедура открытия отчета

procedure TFormSkupkaMet.SpButReportClick(Sender: TObject);

begin

DM.DataModuleUvelir.ADOQuerySkupkaMet.Close;

DM.DataModuleUvelir.ADOQuerySkupkaMet.Parameters.ParamByName('KOD').Value:=DBEditKvitSkup.Text;

DM.DataModuleUvelir.ADOQuerySkupkaMet.Open;

DM.DataModuleUvelir.ADOQuerySumKvit.Close; DM.DataModuleUvelir.ADOQuerySumKvit.Parameters.ParamByName('KODITOG').Value:=DBEditKvitSkup.Text;

DM.DataModuleUvelir.ADOQuerySumKvit.Open;

UnitKVITANCE.FormKVITANCE.QuickRepKVITANCE.Preview;

end;

 

//Процедура добавления новой квитанции

procedure TFormSkupkaMet.SpButAddKvitClick(Sender: TObject);

begin

DBNavigatorSkupKvit.BtnClick(nbInsert);

DBEditSkDate.Text:=DateToStr(Date);

end;

 

//Процедура сохраняет позицию в квитанцию

procedure TFormSkupkaMet.SpButSavePozClick(Sender: TObject);

begin

DBNavigatorSkupKvit.Enabled:=True;

DBNavigatorPosKvit.Enabled:=True;

DBNavigatorPosKvit.BtnClick(nbPost);

SpButDelPoz.Visible:=True;

SpButAddKvit.Visible:=True;

SpButReport.Visible:=True;

SpButMET.Visible:=True;

SpButSavePoz.Visible:=False;

SpButAddPoz.Visible:=True;

DM.DataModuleUvelir.ADOQuerySumKvit.Close; DM.DataModuleUvelir.ADOQuerySumKvit.Parameters.ParamByName('KODITOG').Value:=DBEditKvitSkup.Text;

DM.DataModuleUvelir.ADOQuerySumKvit.Open;

DM.DataModuleUvelir.ADOQuerySkupkaMet.Close; DM.DataModuleUvelir.ADOQuerySkupkaMet.Parameters.ParamByName('KOD').Value:=DBEditKvitSkup.Text;

DM.DataModuleUvelir.ADOQuerySkupkaMet.Open;

end;

 

//Процедура добавляет новую позицию в квитанцию

procedure TFormSkupkaMet.SpButAddPozClick(Sender: TObject);

begin

DBNavigatorPosKvit.BtnClick(nbInsert);

SpButDelPoz.Visible:=False;

SpButAddKvit.Visible:=False;

SpButReport.Visible:=False;

SpButMET.Visible:=False;

SpButAddPoz.Visible:=False;

FormAddPos.Show;

end;

 

//Сброс параметров поиска

procedure TFormSkupkaMet.SpButSbrosClick(Sender: TObject);

begin

DBEditKvitSkup.DataSource.DataSet:=DM.DataModuleUvelir.ADOTableSkupkaMet;

EditPoiskKOD.Text:='';

end;

 

 

//Открываем остатки металлов

procedure TFormSkupkaMet.SpButMETClick(Sender: TObject);

begin

FormMetall.Show;

end;

procedure TFormSkupkaMet.SpButDelPozClick(Sender: TObject);

begin

DBNavigatorPosKvit.BtnClick(nbDelete);

DM.DataModuleUvelir.ADOQuerySkupkaMet.Close;

DM.DataModuleUvelir.ADOQuerySkupkaMet.Parameters.ParamByName('KOD').Value:=DBEditKvitSkup.Text;

DM.DataModuleUvelir.ADOQuerySkupkaMet.Open;

DM.DataModuleUvelir.ADOQuerySumKvit.Close; DM.DataModuleUvelir.ADOQuerySumKvit.Parameters.ParamByName('KODITOG').Value:=DBEditKvitSkup.Text;

DM.DataModuleUvelir.ADOQuerySumKvit.Open;

end;

end.

 

Модуль формы ДОБАВИТЬ ПОЗИЦИЮ (UnitAddPoz)

unit UnitAddPoz;

 

implementation

 

uses Uvelir, UnitSkupkaMetall, DM;

 

{$R *.dfm}

 

//Отображаем список проб текущего металла

procedure TFormAddPos.DBLookupComBoxMetPozClick(Sender: TObject);

begin

DM.DataModuleUvelir.ADOQueryProba.Close; DM.DataModuleUvelir.ADOQueryProba.Parameters.ParamByName('METAL').Value:=DBLookupComBoxMetPoz.Text;

DM.DataModuleUvelir.ADOQueryProba.Open;

end;

 

//Записывает введенные данные в новую позицию квитанции

procedure TFormAddPos.BitBtnOKPozClick(Sender: TObject);

begin

If (EditVesPoz.Text='') Then

begin

ShowMessage('Введите вeс изделий!');

EditVesPoz.SetFocus;

exit;

end;

If (EditKolPoz.Text='') Then

begin

ShowMessage('Введите колличество изделий!');

EditKolPoz.SetFocus;

exit;

end;

If (EditCenaPoz.Text='') Then

begin

ShowMessage('Введите цену за грамм добаляемого металла!');

EditCenaPoz.SetFocus;

exit;

end;

If (DBLookupComBoxMetPoz.Text='') Then

begin

ShowMessage('Выберите металл!');

exit;

end;

If (ComBoxVidPoz.Text='') Then

begin

ShowMessage('Выберите вид добаляемой позиции!');

exit;

end;

If (DBLookupComBoxProbaPoz.Text='') Then

begin

ShowMessage('Выберите пробу металла добаляемой позиции!');

exit;

end;

If (EditKomment.Text='') Then

begin

ShowMessage('Введите описание добаляемой позиции!');

exit;

end;

try

Kol:=StrToInt(EditKolPoz.Text); //Считываем введенное колличество

except

on EConvertError do

begin

ShowMessage('В поле для колличества изделий введено неверное значение! Колличество изделий должно быть целым положительным числом!');

EditKolPoz.Text:= '';

exit;

end;

end;

try

Cena:=StrToFloat(EditCenaPoz.Text); //Считываем цену за грамма

except

on EConvertError do

begin

ShowMessage('В поле для цены одного грамма добавляемого металла введено не числовое значение!');

EditCenaPoz.Text:= '';

exit;

end;

end;

try

Ves:=StrToFloat(EditVesPoz.Text); //Считываем вес металла

except

on EConvertError do

begin

ShowMessage('В поле для веса добавляемого металла введено не числовое значение!');

EditVesPoz.Text:= '';

exit;

end;

end; UnitSkupkaMetall.FormSkupkaMet.DBEditSkMet.Text:=DBLookupComBoxMetPoz.Text;

UnitSkupkaMetall.FormSkupkaMet.DBEditSkVid.Text:=ComBoxVidPoz.Text; UnitSkupkaMetall.FormSkupkaMet.DBEditSkProba.Text:=DBLookupComBoxProbaPoz.Text;

UnitSkupkaMetall.FormSkupkaMet.DBEditSKVes.Text:=EditVesPoz.Text;

UnitSkupkaMetall.FormSkupkaMet.DBEditSkKol.Text:=EditKolPoz.Text;

UnitSkupkaMetall.FormSkupkaMet.DBEditSkCena.Text:=EditCenaPoz.Text;

UnitSkupkaMetall.FormSkupkaMet.DBEditKommentPoz.Text:=EditKomment.Text; UnitSkupkaMetall.FormSkupkaMet.DBEditKodKvit.Text:=UnitSkupkaMetall.FormSkupkaMet.DBEditKvitSkup.Text;

FormAddPos.Close;

UnitSkupkaMetall.FormSkupkaMet.SpButSavePoz.Visible:=True;

FormAddPos.Close;

ShowMessage('Сохраните добавленную позицию!');

end;

 

//Закрытие формы

procedure TFormAddPos.FormClose(Sender: TObject; var Action: TCloseAction);

begin

UnitSkupkaMetall.FormSkupkaMet.DBNavigatorSkupKvit.Visible:=True;

UnitSkupkaMetall.FormSkupkaMet.DBNavigatorPosKvit.Visible:=True;

UnitSkupkaMetall.FormSkupkaMet.SpButDelPoz.Visible:=True;

UnitSkupkaMetall.FormSkupkaMet.SpButAddKvit.Visible:=True;

UnitSkupkaMetall.FormSkupkaMet.SpButReport.Visible:=True;

UnitSkupkaMetall.FormSkupkaMet.SpButMET.Visible:=True;

UnitSkupkaMetall.FormSkupkaMet.SpButAddPoz.Visible:=True;

// FormAddPos.Close;

end;

 

end.

 

Модуль формы ЗАРЕЗЕРВИРОВАТЬ МЕТАЛЛ (UnitRezervMetall)

unit UnitRezervMetall;

 

implementation

 

uses Uvelir, DM, UnitLIGATURA, UnitPRIPOI;

 

{$R *.dfm}

 

//Активация формы

procedure TFormRezervMet.FormActivate(Sender: TObject);

var

k: integer;

v1, v2: single;

begin

EditM.Text:=Uvelir.Form1.DBEditModel.Text;

EditR.Text:=Uvelir.Form1.DBEditRazmer.Text;

EditV.Text:=Uvelir.Form1.DBEditVes.Text;

EditK.Text:=Uvelir.Form1.DBEditKol.Text;

EditMet.Text:=Uvelir.Form1.DBEditMet.Text;

EditPr.Text:=Uvelir.Form1.DBEditProba.Text;

EditZ.Text:=Uvelir.Form1.DBEditZakzzIzd.Text;

EditUgarIZD.Text:=Uvelir.Form1.DBEditUGAR.Text;

DM.DataModuleUvelir.ADOQueryRezervMetMASTER.Close; DM.DataModuleUvelir.ADOQueryRezervMetMASTER.Parameters.ParamByName('N').Value:= EditZ.Text; DM.DataModuleUvelir.ADOQueryRezervMetMASTER.Parameters.ParamByName('ART').Value:=EditM.Text; DM.DataModuleUvelir.ADOQueryRezervMetMASTER.Parameters.ParamByName('R').Value:=EditR.Text;

DM.DataModuleUvelir.ADOQueryRezervMetMASTER.Open;

DM.DataModuleUvelir.ADOQueryRezervMetKLIENT.Close; DM.DataModuleUvelir.ADOQueryRezervMetKLIENT.Parameters.ParamByName('N').Value:=EditZ.Text; DM.DataModuleUvelir.ADOQueryRezervMetKLIENT.Parameters.ParamByName('ART').Value:=EditM.Text; DM.DataModuleUvelir.ADOQueryRezervMetKLIENT.Parameters.ParamByName('R').Value:=EditR.Text;

DM.DataModuleUvelir.ADOQueryRezervMetKLIENT.Open;

DM.DataModuleUvelir.ADOQueryNeobhVES.Close; DM.DataModuleUvelir.ADOQueryNeobhVES.Parameters.ParamByName('N').Value:=EditZ.Text; DM.DataModuleUvelir.ADOQueryNeobhVES.Parameters.ParamByName('ART').Value:=EditM.Text; DM.DataModuleUvelir.ADOQueryNeobhVES.Parameters.ParamByName('R').Value:=EditR.Text;

DM.DataModuleUvelir.ADOQueryNeobhVES.Open;

DM.DataModuleUvelir.ADOQueryItogoVesMetKLIENT.Close; DM.DataModuleUvelir.ADOQueryItogoVesMetKLIENT.Parameters.ParamByName('N').Value:=EditZ.Text; DM.DataModuleUvelir.ADOQueryItogoVesMetKLIENT.Parameters.ParamByName('ART').Value:=EditM.Text; DM.DataModuleUvelir.ADOQueryItogoVesMetKLIENT.Parameters.ParamByName('R').Value:=EditR.Text;

DM.DataModuleUvelir.ADOQueryItogoVesMetKLIENT.Open;

GroupBox4.Caption:='ИТОГО ВЕС '+EditPr.Text+' ПРОБЫ';

DM.DataModuleUvelir.ADOQueryVesMetMASTER.Close; DM.DataModuleUvelir.ADOQueryVesMetMASTER.Parameters.ParamByName('N').Value:=EditZ.Text; DM.DataModuleUvelir.ADOQueryVesMetMASTER.Parameters.ParamByName('ART').Value:=EditM.Text; DM.DataModuleUvelir.ADOQueryVesMetMASTER.Parameters.ParamByName('R').Value:=EditR.Text;

DM.DataModuleUvelir.ADOQueryVesMetMASTER.Open;

GroupBox5.Caption:='ИТОГО ВЕС '+EditPr.Text+' ПРОБЫ';

If DBTextmetKlient.Caption<>'' Then

begin

v1:=StrToFloat(DBTextmetKlient.Caption)-StrToFloat(DBTextmetKlient.Caption)*StrToFloat(EditUgarIZD.Text)/100;

LabelSUgarom.Caption:=Format('%f',[v1]);

end

Else

LabelSUgarom.Caption:='0';

 

If DBTextmetKlient.Caption='' Then

DBTextMetSklient.Caption:=DBTextITOGOmet.Caption

Else

begin

v1:=StrToFloat(DBTextITOGOmet.Caption)-StrToFloat(LabelSUgarom.Caption);

DBTextMetSklient.Caption:=Format('%f',[v1]);

end;

If DBTextITOGOmetMaster.Caption='' Then

DBTextMetMaster.Caption:=DBTextMetSklient.Caption

Else

begin

v1:=StrToFloat(DBTextMetSklient.Caption)-StrToFloat(DBTextITOGOmetMaster.Caption);

DBTextMetMaster.Caption:=Format('%f',[v1]);

end;

 

end;

 

//Добавление металла клиента

procedure TFormRezervMet.SpButAddPozClick(Sender: TObject);

begin

DBNavigatorMetKLIENT.BtnClick(nbInsert);

DBGrid2.DataSource.DataSet.FieldValues['НомерЗаказа']:=EditZ.Text;

DBGrid2.DataSource.DataSet.FieldValues['АрттикулМодели']:=EditM.Text;

DBGrid2.DataSource.DataSet.FieldValues['РазмерДлина']:=EditR.Text;

SpButSavePoz.Visible:=True;

SpButAddPoz.Visible:=False;

ShowMessage('Выберите вид, металл, пробу вес!');

ComBoxVid.SetFocus;

end;

 

//Удаление металла клиента

procedure TFormRezervMet.SpButDelPozClick(Sender: TObject);

begin

DBNavigatorMetKLIENT.BtnClick(nbDelete);

end;

 

//Список проб текущего металла

procedure TFormRezervMet.DBLComboBoxMetKlientClick(Sender: TObject);

begin

DM.DataModuleUvelir.ADOQueryProba.Close; DM.DataModuleUvelir.ADOQueryProba.Parameters.ParamByName('METAL').Value:=DBLComboBoxMetKlient.Text;

DM.DataModuleUvelir.ADOQueryProba.Open;

end;

 

//Сохранить металл клиента

procedure TFormRezervMet.SpButSavePozClick(Sender: TObject);

var

k: single;

begin

If ComBoxVid.Text='' Then

begin

ShowMessage('Выберите вид сдаваемого металла!');

ComBoxVid.SetFocus;

exit;

end;

If DBLComboBoxMetKlient.Text='' Then

begin

ShowMessage('Выберите сдаваемый металл!');

exit;

end;

If DBLComBoxProba.Text='' Then

begin

ShowMessage('Выберите пробу сдаваемого металла!');

exit;

end;

try

k:=StrToFloat(EditVes.Text); //Считываем вес металла

except

on EConvertError do

begin

ShowMessage('В поле для веса металла введено не числовое значение!');

EditVes.Text:= '';

EditVes.SetFocus;

exit;

end;

end;

DBGrid2.DataSource.DataSet.FieldValues['Вид']:=ComBoxVid.Text; DBGrid2.DataSource.DataSet.FieldValues['Металл']:=DBLComboBoxMetKlient.Text; DBGrid2.DataSource.DataSet.FieldValues['ЗаказМеталлКлиента.Проба']:=DBLComBoxProba.Text;

DBGrid2.DataSource.DataSet.FieldValues['Вес']:=EditVes.Text;

DBNavigatorMetKLIENT.BtnClick(nbPost);

DM.DataModuleUvelir.ADOQueryRezervMetKLIENT.Close; DM.DataModuleUvelir.ADOQueryRezervMetKLIENT.Parameters.ParamByName('N').Value:=EditZ.Text; DM.DataModuleUvelir.ADOQueryRezervMetKLIENT.Parameters.ParamByName('ART').Value:=EditM.Text; DM.DataModuleUvelir.ADOQueryRezervMetKLIENT.Parameters.ParamByName('R').Value:=EditR.Text;

DM.DataModuleUvelir.ADOQueryRezervMetKLIENT.Open;

DM.DataModuleUvelir.ADOQueryItogoVesMetKLIENT.Close; DM.DataModuleUvelir.ADOQueryItogoVesMetKLIENT.Parameters.ParamByName('N').Value:=EditZ.Text; DM.DataModuleUvelir.ADOQueryItogoVesMetKLIENT.Parameters.ParamByName('ART').Value:=EditM.Text; DM.DataModuleUvelir.ADOQueryItogoVesMetKLIENT.Parameters.ParamByName('R').Value:=EditR.Text;

DM.DataModuleUvelir.ADOQueryItogoVesMetKLIENT.Open;

 

If DBTextmetKlient.Caption<>'' Then

begin

k:=StrToFloat(DBTextmetKlient.Caption)-StrToFloat(DBTextmetKlient.Caption)*StrToFloat(EditUgarIZD.Text)/100;

LabelSUgarom.Caption:=Format('%f',[k]);

end

Else

LabelSUgarom.Caption:='0';

 

If DBTextmetKlient.Caption='' Then

DBTextMetSklient.Caption:=DBTextITOGOmet.Caption

Else

begin

k:=StrToFloat(DBTextITOGOmet.Caption)-StrToFloat(LabelSUgarom.Caption);

DBTextMetSklient.Caption:=Format('%f',[k]);

end;

end;

 

//Добавление металла мастерской

procedure TFormRezervMet.SpButMetMasterAddClick(Sender: TObject);

begin

DBNavigatorMetMASTER.BtnClick(nbInsert);

DBGrid1.DataSource.DataSet.FieldValues['НомерЗаказа']:=EditZ.Text;

DBGrid1.DataSource.DataSet.FieldValues['АртикулМодели']:=EditM.Text;

DBGrid1.DataSource.DataSet.FieldValues['РазмерДлина']:=EditR.Text;

SpButMetMasterSave.Visible:=True;

SpButMetMasterAdd.Visible:=False;

ShowMessage('Выберите металл и пробу, и введите вес добавляемого металла!');

EditMetMasterVES.SetFocus;

end;

 

//Удаление металла мастерской

procedure TFormRezervMet.SpButMetMasterDeleteClick(Sender: TObject);

begin

DBNavigatorMetMASTER.BtnClick(nbDelete);

end;

 

//Сохранить металл мастерской

procedure TFormRezervMet.SpButMetMasterSaveClick(Sender: TObject);

var

k: single;

begin

If DBLComBoxMetMaster.Text='' Then

begin

ShowMessage('Выберите добавляемый металл!');

exit;

end;

If DBLComBoxMetMasterPROBA.Text='' Then

begin

ShowMessage('Выберите пробу добавляемого металла!');

exit;

end;

try

k:=StrToFloat(EditMetMasterVES.Text); //Считываем вес металла

except

on EConvertError do

begin

ShowMessage('В поле для веса металла введено не числовое значение!');

EditMetMasterVES.Text:= '';

EditMetMasterVES.SetFocus;

exit;

end;

end; DBGrid1.DataSource.DataSet.FieldValues['Металл']:=DBLComBoxMetMaster.Text; DBGrid1.DataSource.DataSet.FieldValues['ЗаказМеталлМастерской.Проба']:=DBLComBoxMetMasterPROBA.Text;

DBGrid1.DataSource.DataSet.FieldValues['Вес']:=EditMetMasterVES.Text;

DBNavigatorMetMASTER.BtnClick(nbPost);

DM.DataModuleUvelir.ADOQueryRezervMetMASTER.Close; DM.DataModuleUvelir.ADOQueryRezervMetMASTER.Parameters.ParamByName('N').Value:=EditZ.Text; DM.DataModuleUvelir.ADOQueryRezervMetMASTER.Parameters.ParamByName('ART').Value:=EditM.Text; DM.DataModuleUvelir.ADOQueryRezervMetMASTER.Parameters.ParamByName('R').Value:=EditR.Text;

DM.DataModuleUvelir.ADOQueryRezervMetMASTER.Open;

DM.DataModuleUvelir.ADOQueryVesMetMASTER.Close; DM.DataModuleUvelir.ADOQueryVesMetMASTER.Parameters.ParamByName('N').Value:=EditZ.Text; DM.DataModuleUvelir.ADOQueryVesMetMASTER.Parameters.ParamByName('ART').Value:=EditM.Text; DM.DataModuleUvelir.ADOQueryVesMetMASTER.Parameters.ParamByName('R').Value:=EditR.Text;

DM.DataModuleUvelir.ADOQueryVesMetMASTER.Open;

SpButMetMasterSave.Visible:=False;

SpButMetMasterAdd.Visible:=True;

If DBTextITOGOmetMaster.Caption='' Then

DBTextMetMaster.Caption:=DBTextMetSklient.Caption

Else

begin

k:=StrToFloat(DBTextMetSklient.Caption)-StrToFloat(DBTextITOGOmetMaster.Caption);

DBTextMetMaster.Caption:=Format('%f',[k]);

end;

end;

 

//Отображаем остаток металла

procedure TFormRezervMet.DBLComBoxMetMasterPROBAClick(Sender: TObject);

begin

DM.DataModuleUvelir.ADOQueryOSTATOK.Close; DM.DataModuleUvelir.ADOQueryOSTATOK.Parameters.ParamByName('M').Value:=DBLComBoxMetMaster.Text; DM.DataModuleUvelir.ADOQueryOSTATOK.Parameters.ParamByName('P').Value:=DBLComBoxMetMasterPROBA.Text;

DM.DataModuleUvelir.ADOQueryOSTATOK.Open;

If DBEditOST.Text='' Then

EditOST.Text:='0'

Else

EditOST.Text:=DBEditOST.Text;

end;

procedure TFormRezervMet.DBLComBoxMetMasterClick(Sender: TObject);

begin

DM.DataModuleUvelir.ADOQueryProba.Close; DM.DataModuleUvelir.ADOQueryProba.Parameters.ParamByName('METAL').Value:=DBLComBoxMetMaster.Text;

DM.DataModuleUvelir.ADOQueryProba.Open;

end;

 

//Калькулятор ЛИГАТУРА

procedure TFormRezervMet.SpButLigaturaClick(Sender: TObject);

begin

FormLIGATURA.Show

end;

 

//Калькулятор ПРИПОЙ

procedure TFormRezervMet.SpButPRIPOIClick(Sender: TObject);

begin

FormPRIPOI.Show;

end;

 

end.

 

Модуль формы МОДЕЛИ (UnitModel)

unit UnitModel;

 

implementation

 

uses Uvelir, UnitRazmerModel, UnitKamniModel, UnitIzdel,

UnitMetall, DM;

 

{$R *.dfm}

 

 

//Отображаем данные о текущей модели при активации формы

procedure TFormModel.FormActivate(Sender: TObject);

begin

//Отображаем камни текущей модели

DM.DataModuleUvelir.ADOQueryModKamni.Close; DM.DataModuleUvelir.ADOQueryModKamni.Parameters.ParamByName('ART').Value:=DBEditArtikul.Text;

DM.DataModuleUvelir.ADOQueryModKamni.Open;

//Отображаем размеры текущей модели

DM.DataModuleUvelir.ADOQueryModRazmer.Close; DM.DataModuleUvelir.ADOQueryModRazmer.Parameters.ParamByName('ART').Value:=DBEditArtikul.Text;

DM.DataModuleUvelir.ADOQueryModRazmer.Open;

//Загружаем эскиз модели

Try ImageModelEskiz.Picture.LoadFromFile('model\'+DBEditArtikul.Text+'.jpg');

Except

begin

ShowMessage('Для текущей модели нет изображения!');

ImageModelEskiz.Picture.LoadFromFile('model\model.jpg');

exit;

end;

End;

end;

 

//Процедура отображает данные о текущей модели

procedure TFormModel.DBEditArtikulChange(Sender: TObject);

begin

//Отображаем камни текущей модели

DM.DataModuleUvelir.ADOQueryModKamni.Close; DM.DataModuleUvelir.ADOQueryModKamni.Parameters.ParamByName('ART').Value:=DBEditArtikul.Text;

DM.DataModuleUvelir.ADOQueryModKamni.Open;

//Отображаем размеры текущей модели

DM.DataModuleUvelir.ADOQueryModRazmer.Close; DM.DataModuleUvelir.ADOQueryModRazmer.Parameters.ParamByName('ART').Value:=DBEditArtikul.Text;

DM.DataModuleUvelir.ADOQueryModRazmer.Open;

If DBEditArtikul.Text<>'' Then

begin

DM.DataModuleUvelir.ADOQueryUGAR.Close;

DM.DataModuleUvelir.ADOQueryUGAR.Parameters.ParamByName('ART').Value:=DBEditArtikul.Text;

DM.DataModuleUvelir.ADOQueryUGAR.Open;

end;

//Отображаем эскиз текущей модели

If DBEditArtikul.Text<>'' Then

//Загружаем эскиз модели

Try ImageModelEskiz.Picture.LoadFromFile('model\'+DBEditArtikul.Text+'.jpg');

Except

begin

ShowMessage('Для текущей модели нет изображения!');

ImageModelEskiz.Picture.LoadFromFile('model\model.jpg');

exit;

end;

End;

IF DBCheckBox1.Checked=True Then

SpButKamenModel.Visible:=True;

IF DBCheckBox1.Checked=False Then

SpButKamenModel.Visible:=False;

end;

 

//Процедура поиска модели по артикулу


Дата добавления: 2015-09-04; просмотров: 37 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
ПРИЛОЖЕНИЕ К. Листинг программного кода 2 страница| ПРИЛОЖЕНИЕ К. Листинг программного кода 4 страница

mybiblioteka.su - 2015-2024 год. (0.092 сек.)