p align="left">begin MainForm.bbDelCountryClick(Sender); end; procedure TDM.mmSeekClick(Sender: TObject); begin MainForm.bbSeekClick(Sender); end; end.Приложение в Файл реализации модуля “Edit.pas” unit Edit; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Buttons, StdCtrls, ExtCtrls, DB, ComCtrls, DBCtrls; type TfrmEditCountry = class(TForm) Panel1: TPanel; Panel2: TPanel; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Label7: TLabel; eCountry: TEdit; eCapital: TEdit; cbLanguage1: TComboBox; cbLanguage2: TComboBox; cbLanguage3: TComboBox; bbOpenDialog: TButton; bbCreate: TBitBtn; cbKontinent: TComboBox; DBImage1: TDBImage; DBRichEdit1: TDBRichEdit; procedure FormShow(Sender: TObject); procedure cbLanguage1Change(Sender: TObject); procedure cbLanguage2Change(Sender: TObject); procedure cbLanguage3Change(Sender: TObject); procedure bbOpenDialogClick(Sender: TObject); procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); procedure bbCreateClick(Sender: TObject); private { Private declarations } public { Public declarations } end; var frmEditCountry: TfrmEditCountry; implementation uses Module; var Strana: String; {$R *.DFM} procedure TfrmEditCountry.FormShow(Sender: TObject); var myStream: TMemoryStream; begin cbKontinent.Clear; cbLanguage1.Clear; cbLanguage2.Clear; cbLanguage3.Clear; eCapital.Clear; eCountry.Clear; DM.qWork.SQL.Clear; DM.qWork.SQL.Add('Select Language from Language order by Language'); DM.qWork.Open; cbLanguage2.Items.Add('--- iao ---'); cbLanguage3.Items.Add('--- iao ---'); DM.qWork.First; while DM.qWork.Eof = False do begin cbLanguage1.Items.Add(DM.qWork.FieldByName('Language').Text); cbLanguage2.Items.Add(DM.qWork.FieldByName('Language').Text); cbLanguage3.Items.Add(DM.qWork.FieldByName('Language').Text); DM.qWork.Next; end; DM.qWork.Close; DM.qWork.SQL.Clear; DM.qWork.SQL.Add('Select Kontinent from Kontinent order by Kontinent'); DM.qWork.Open; DM.qWork.First; while DM.qWork.Eof = False do begin cbKontinent.Items.Add(DM.qWork.FieldByName('Kontinent').Text); DM.qWork.Next; end; DM.qWork.Close; cbKontinent.ItemIndex := cbKontinent.Items.IndexOf(DM.tbKontinentKontinent.Value); cbLanguage1.ItemIndex := 0; cbLanguage2.ItemIndex := 0; cbLanguage3.ItemIndex := 0; //iaoiaei ana ainoaa?noaaiiua ycuee DM.qWork.SQL.Clear; DM.qWork.SQL.Add('Select Language from Language where ID in (Select ID_Language from Main where ID_Country in (Select ID from Country where Country = '''+DM.tbCountryCountry.Value+'''))'); DM.qWork.Open; cbLanguage1.ItemIndex := cbLanguage1.Items.IndexOf(DM.qWork.FieldByName('Language').Text); if DM.qWork.RecordCount >= 2 then begin DM.qWork.Next; cbLanguage2.ItemIndex := cbLanguage2.Items.IndexOf(DM.qWork.FieldByName('Language').Text); end; if DM.qWork.RecordCount = 3 then begin DM.qWork.Next; cbLanguage3.ItemIndex := cbLanguage3.Items.IndexOf(DM.qWork.FieldByName('Language').Text); end; DM.qWork.Close; Strana := DM.tbCountryCountry.Text; eCountry.Text := DM.tbCountryCountry.Text; eCapital.Text := DM.tbCountryCapital.Text; end; procedure TfrmEditCountry.cbLanguage1Change(Sender: TObject); begin if (cbLanguage1.Text = cbLanguage2.Text) then begin cbLanguage2.ItemIndex := cbLanguage3.ItemIndex; cbLanguage3.ItemIndex := 0; end; if (cbLanguage1.Text = cbLanguage3.Text) then begin cbLanguage3.ItemIndex := 0; end; end; procedure TfrmEditCountry.cbLanguage2Change(Sender: TObject); begin if (cbLanguage2.Text = cbLanguage1.Text) or (cbLanguage2.Text = cbLanguage3.Text) and (cbLanguage2.Text <> '--- iao ---') then begin cbLanguage2.ItemIndex := cbLanguage3.ItemIndex; cbLanguage3.ItemIndex := 0; end; end; procedure TfrmEditCountry.cbLanguage3Change(Sender: TObject); begin if (cbLanguage2.Text = '--- iao ---') then begin cbLanguage2.ItemIndex := cbLanguage3.ItemIndex; cbLanguage3.ItemIndex := 0; end; if (cbLanguage3.Text = cbLanguage1.Text) or (cbLanguage2.Text = cbLanguage3.Text) and (cbLanguage3.Text <> '--- iao ---') then begin cbLanguage3.ItemIndex := 0; end; end; procedure TfrmEditCountry.bbOpenDialogClick(Sender: TObject); begin DM.odFlag.Execute; if DM.odFlag.FileName <> '' then try DM.tbCountryFlag.LoadFromFile(DM.odFlag.FileName); except MessageDlg('Ioeaea caa?ocee oaeea n ?enoieii oeaaa', mtError, [mbOk],0) end; end; procedure TfrmEditCountry.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if key = vk_Escape then frmEditCountry.Close; end; procedure TfrmEditCountry.bbCreateClick(Sender: TObject); var Temp: LongInt; var myStream: TMemoryStream; begin if eCountry.Text = '' then begin MessageDlg('Au ia aaaee iacaaiea no?aiu!', mtWarning, [mbOK], 0); eCountry.SetFocus; Exit; end; if eCapital.Text = '' then begin MessageDlg('Au ia aaaee iacaaiea noieeou!', mtWarning, [mbOK], 0); eCapital.SetFocus; Exit; end; DM.tbCountry.Filtered := False; if eCountry.Text <> Strana then if DM.tbCountry.Locate('Country',eCountry.Text,[loCaseInsensitive]) = True then begin MessageDlg('Co?aia '''+eCountry.Text+''' o?a nouanoaoao a Aaca aaiiuo!', mtWarning, [mbOK], 0); eCountry.Clear; eCountry.SetFocus; Exit; end; //iiene eiioeiaioa DM.tbKontinent.Locate('Kontinent', cbKontinent.Text, []); DM.tbCountry.Locate('Country',Strana,[]); //aianaiea caienae a oaaeeoo no?ai DM.tbCountry.Edit; DM.tbCountryID_Kontinent.Value := DM.tbKontinentID.Value; DM.tbCountryCountry.Value := eCountry.Text; DM.tbCountryCapital.Value := eCapital.Text; DM.tbCountry.Post; //iiene ia?aiai ycuea e caienu a aeaaio? oaaeeoo DM.tbLanguage.Locate('Language', cbLanguage1.Text, []); DM.tbMain.Filter := 'ID_Country = '+DM.tbCountryID.Text; DM.tbMain.Filtered := True; DM.tbMain.First; while DM.tbMain.RecordCount > 0 do DM.tbMain.Delete; DM.tbMain.Filtered := False; DM.tbMain.IndexFieldNames := 'ID'; DM.tbMain.Last; Temp := DM.tbMainID.Value; DM.tbMain.Insert; DM.tbMainID.Value := Temp + 1; DM.tbMainID_Country.Value := DM.tbCountryID.Value; DM.tbMainID_Language.Value := DM.tbLanguageID.Value; DM.tbMain.Post; //iiene aoi?iai ycuea e caienu a aeaaio? oaaeeoo if cbLanguage2.Text <> '--- iao ---' then begin DM.tbLanguage.Locate('Language', cbLanguage2.Text, []); DM.tbMain.Insert; DM.tbMainID.Value := Temp + 2; DM.tbMainID_Country.Value := DM.tbCountryID.Value; DM.tbMainID_Language.Value := DM.tbLanguageID.Value; DM.tbMain.Post; end; //iiene o?aouaiai ycuea e caienu a aeaaio? oaaeeoo if cbLanguage3.Text <> '--- iao ---' then begin DM.tbLanguage.Locate('Language', cbLanguage3.Text, []); DM.tbMain.Insert; DM.tbMainID.Value := Temp + 3; DM.tbMainID_Country.Value := DM.tbCountryID.Value; DM.tbMainID_Language.Value := DM.tbLanguageID.Value; DM.tbMain.Post; end; //aee??aiea i?eaycee DM.tbCountry.Filtered := True; DM.tbCountry.Locate('Country',eCountry.Text,[]); frmEditCountry.Close; end; end.Приложение Г Файл реализации модуля “NewCountry.pas” unit NewCountry; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, Buttons, DBCtrls, DB; type TfrmNewCountry = class(TForm) Panel1: TPanel; Panel2: TPanel; imFlag: TImage; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; eCapital: TEdit; memoInformation: TMemo; cbLanguage1: TComboBox; cbLanguage2: TComboBox; cbLanguage3: TComboBox; Label6: TLabel; Label7: TLabel; bbOpenDialog: TButton; bbCreate: TBitBtn; cbKontinent: TComboBox; eCountry: TEdit; procedure bbOpenDialogClick(Sender: TObject);
Страницы: 1, 2, 3, 4, 5
|