?? zy110unit.pas
字號:
{******************************************************************************}
{ 原始文件名:ZY110Unit.pas }
{ 注釋:貨運總單窗體 }
{ 單元作者:cm991 (cm@ytht.net) }
{ 電子郵件:cm@ytht.net }
{ 備注:貨運總單和明細資料窗體,基本功能開發完成 }
{ 最后更新:2003.03.16 V1.0 }
{ }
{******************************************************************************}
unit ZY110Unit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, PublicUnit, jpeg, ExtCtrls, ComCtrls, StdCtrls, Grids, DBGrids,
DBCtrls, Mask, db;
type
TZY110Form = class(TPublicUnit)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
Panel1: TPanel;
DBGrid1: TDBGrid;
Label1: TLabel;
Label2: TLabel;
ComboBox1: TComboBox;
ComboBox2: TComboBox;
Button7: TButton;
Button8: TButton;
Button9: TButton;
CheckBox1: TCheckBox;
DateTimePicker1: TDateTimePicker;
DateTimePicker2: TDateTimePicker;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
Label15: TLabel;
Label16: TLabel;
Label17: TLabel;
Label18: TLabel;
Label19: TLabel;
Label20: TLabel;
Label21: TLabel;
Label22: TLabel;
Label23: TLabel;
Label24: TLabel;
Label25: TLabel;
Label26: TLabel;
Label27: TLabel;
Label28: TLabel;
Label29: TLabel;
Label30: TLabel;
DBComboBox1: TDBComboBox;
DBComboBox2: TDBComboBox;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
DBEdit4: TDBEdit;
DBEdit5: TDBEdit;
DBEdit6: TDBEdit;
DBEdit8: TDBEdit;
DBComboBox3: TDBComboBox;
DBComboBox4: TDBComboBox;
DBEdit9: TDBEdit;
DBEdit10: TDBEdit;
DBEdit11: TDBEdit;
DBEdit12: TDBEdit;
DBEdit13: TDBEdit;
DBEdit15: TDBEdit;
DBEdit16: TDBEdit;
DBEdit17: TDBEdit;
DBEdit18: TDBEdit;
DBEdit19: TDBEdit;
DBEdit20: TDBEdit;
DBEdit21: TDBEdit;
DBEdit22: TDBEdit;
DBEdit23: TDBEdit;
DBComboBox5: TDBComboBox;
DBMemo1: TDBMemo;
Label31: TLabel;
DBCheckBox1: TDBCheckBox;
DBCheckBox2: TDBCheckBox;
DBCheckBox3: TDBCheckBox;
DBCheckBox4: TDBCheckBox;
DBComboBox6: TDBComboBox;
TabSheet3: TTabSheet;
TabSheet4: TTabSheet;
Panel3: TPanel;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
Label32: TLabel;
Label33: TLabel;
Label34: TLabel;
Label35: TLabel;
Label36: TLabel;
Label37: TLabel;
Label38: TLabel;
Label39: TLabel;
Label40: TLabel;
Label41: TLabel;
Label42: TLabel;
Label43: TLabel;
Label44: TLabel;
Label45: TLabel;
Label46: TLabel;
DBNavigator1: TDBNavigator;
DBNavigator2: TDBNavigator;
DBGrid2: TDBGrid;
Panel2: TPanel;
DBNavigator3: TDBNavigator;
Label47: TLabel;
Label48: TLabel;
ComboBox3: TComboBox;
ComboBox4: TComboBox;
Label49: TLabel;
CheckBox2: TCheckBox;
DateTimePicker3: TDateTimePicker;
DateTimePicker4: TDateTimePicker;
Button10: TButton;
Button11: TButton;
Button12: TButton;
DBEdit7: TDBEdit;
DBEdit14: TDBEdit;
DBEdit24: TDBEdit;
DBEdit25: TDBEdit;
DBEdit26: TDBEdit;
DBEdit27: TDBEdit;
DBEdit29: TDBEdit;
DBEdit30: TDBEdit;
DBEdit31: TDBEdit;
DBEdit32: TDBEdit;
DBEdit33: TDBEdit;
DBComboBox7: TDBComboBox;
DBComboBox8: TDBComboBox;
DBCheckBox5: TDBCheckBox;
DBMemo2: TDBMemo;
Label50: TLabel;
DBComboBox9: TDBComboBox;
Label51: TLabel;
DBEdit28: TDBEdit;
procedure Button9Click(Sender: TObject);
procedure ComboBox1DropDown(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure DBComboBox1DropDown(Sender: TObject);
procedure DBComboBox2DropDown(Sender: TObject);
procedure DBComboBox3DropDown(Sender: TObject);
procedure DBComboBox4DropDown(Sender: TObject);
procedure DBComboBox5DropDown(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure DBEdit3Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure DBEdit15Click(Sender: TObject);
procedure DBEdit9Click(Sender: TObject);
procedure DBEdit12Click(Sender: TObject);
procedure DBEdit13Click(Sender: TObject);
procedure DBEdit23Click(Sender: TObject);
procedure DBEdit21Exit(Sender: TObject);
procedure DBComboBox6DropDown(Sender: TObject);
procedure PageControl1Change(Sender: TObject);
procedure ComboBox3DropDown(Sender: TObject);
procedure ComboBox3Change(Sender: TObject);
procedure CheckBox2Click(Sender: TObject);
procedure Button10Click(Sender: TObject);
procedure Button12Click(Sender: TObject);
procedure DBEdit7Click(Sender: TObject);
procedure DBComboBox7DropDown(Sender: TObject);
procedure DBComboBox8DropDown(Sender: TObject);
procedure DBComboBox9DropDown(Sender: TObject);
procedure DBComboBox9Change(Sender: TObject);
procedure DBEdit28Click(Sender: TObject);
procedure DBEdit1Exit(Sender: TObject);
private
procedure CLS; // 清除控件內容
procedure ENA; // 所有控件可用
procedure DIS; // 所有控件不可用
{ Private declarations }
public
{ Public declarations }
end;
var
ZY110Form: TZY110Form;
implementation
uses DMUnit, DateUnit, main;
{$R *.dfm}
procedure TZY110Form.CLS;
var
i: Integer;
begin
for i := ComponentCount - 1 downto 0 do
begin
{--- 清除所有的TDBEdit控件的內容 ---}
if (Components[i] is TDBEDIT) then
TDBEDIT(components[i]).Clear;
{--- 清除所有的TDBComboBox控件的內容 ---}
if (Components[i] is TDBComboBox) then
TDBComboBox(components[i]).Clear;
if (Components[i] is TDBCheckBox) then
TDBCheckBox(components[i]).Checked := False;
{--- 清除所有的TDBMemo控件的內容 ---}
if (Components[i] is TDBMemo) then
TDBMemo(components[i]).Clear;
end;
end;
procedure TZY110Form.ENA; // 新增記錄的時候使所有的控件可用
var
i: Integer;
begin
for i := ComponentCount - 1 downto 0 do
begin
if (components[i] is TDBEdit) then
begin {--- 使所有的TDBEdit控件可用 ---}
TDBEdit(components[i]).Color := clwindow;
TDBEdit(components[i]).ReadOnly := false;
end;
if (components[i] is TDBComboBox) then
begin {--- 使所有的TDBComboBox控件可用 ---}
TDBComboBox(components[i]).Color := clWindow;
end;
if (Components[i] is TDBCheckBox) then
TDBCheckBox(components[i]).Enabled := True;
if (components[i] is TDBMemo) then
begin {--- 使所有的TDBMemo控件可用 ---}
TDBMemo(components[i]).Color := clwindow;
TDBMemo(components[i]).ReadOnly := false;
end;
end;
Button1.Enabled := False; // '新增'不可用
Button2.Enabled := False; // '編輯'不可用
Button3.Enabled := True; // '儲存'可用
Button4.Enabled := True; // '取消'可用
end;
procedure TZY110Form.DIS;
var
i: Integer;
begin
for i := ComponentCount - 1 downto 0 do
begin // 使所有的TDBEdit控件不可用
if (components[i] is TDBEdit) then
begin // 改變TDBEdit控件的顏色
TDBEdit(components[i]).Color := $00D8D8D8;
TDBEdit(components[i]).ReadOnly := true;
end;
if (components[i] is TDBComboBox) then
begin // 改變TDBEdit控件的顏色
TDBComboBox(components[i]).Color := $00D8D8D8;
end;
if (Components[i] is TDBCheckBox) then
TDBCheckBox(components[i]).Enabled := False;
if (components[i] is TDBMemo) then
begin // 改變TDBEdit控件的顏色
TDBMemo(components[i]).Color := $00D8D8D8;
TDBMemo(components[i]).ReadOnly := true;
end;
end;
Button1.Enabled := True; // '新增'可用
Button2.Enabled := True; // '編輯'可用
Button3.Enabled := False; // '儲存'不可用
Button4.Enabled := False; // '取消'不可用
end;
procedure TZY110Form.Button9Click(Sender: TObject);
begin
inherited;
Close;
end;
procedure TZY110Form.ComboBox1DropDown(Sender: TObject);
var
i: Integer;
begin
inherited;
ComBobox1.Clear;
for i := 0 to DM.HYZY.FieldList.Count - 1 do
begin //取得所有的列名作為搜索條件
ComBobox1.Items.Add(DM.HYZY.Fields[i].FieldName);
end;
end;
procedure TZY110Form.CheckBox1Click(Sender: TObject);
begin
inherited; // 判斷是否可用
DateTimePicker1.Enabled := CheckBox1.Checked;
DateTimePicker2.Enabled := CheckBox1.Checked;
end;
procedure TZY110Form.ComboBox1Change(Sender: TObject);
var
I: Integer;
begin
inherited;
combobox2.Clear;
with DM.Querytemp do
begin
SQL.clear;
SQl.Text := 'select ' + trim(combobox1.Text) + ' from 貨運作業總表 ';
Close;
Active := False;
prepared := False;
prepared := True;
Active := True;
if (recordcount > 0) then
first;
for i := 0 to recordcount - 1 do
begin //取得該列所有的數據到combobox2控件中
combobox2.Items.add(FieldByName(ComboBox1.Text).asstring);
next;
end;
end;
end;
procedure TZY110Form.Button7Click(Sender: TObject);
begin
inherited;
{--- 判斷搜索的條件是否為空 ---}
if (Combobox1.Text <> '') and (Combobox2.Text <> '') then
begin
with DM.Querytemp do
begin
SQL.clear;
if CheckBox1.Checked then
SQl.Text := 'select * from 貨運作業總表 where ' + trim(combobox1.Text) + ' like '
+ #39 + '%' + trim(combobox2.Text) + '%' + #39 + 'and 輸單日期 > #'
+ FormatDateTime('yyyy/mm/dd', DateTimePicker1.DateTime) + '# and 輸單日期 < #' + FormatDateTime('yyyy/mm/dd', DateTimePicker2.DateTime) + '#'
else
SQl.Text := 'select * from 貨運作業總表 where ' + trim(combobox1.Text) + ' like '
+ #39 + '%' + trim(combobox2.Text) + '%' + #39;
Close;
Active := False;
prepared := False;
prepared := True;
Active := True;
open;
DBGrid1.DataSource := DM.dsQuerytemp;
DBNavigator1.DataSource := DM.dsQuerytemp;
end;
end
else
MessageBox(0, '搜尋條件錯誤', '錯誤', MB_OK + MB_ICONSTOP);
end;
procedure TZY110Form.DBComboBox1DropDown(Sender: TObject);
var
I: Integer;
begin
inherited;
DBComboBox1.Clear;
with DM.Querytemp do
begin
SQL.clear;
SQl.Text := 'select 單位全稱 from 委托單位 ';
Close;
Active := False;
prepared := False;
prepared := True;
Active := True;
if (recordcount > 0) then
first;
for i := 0 to recordcount - 1 do
begin {--- 取得該列所有的數據到combobox1控件中 ---}
DBComboBox1.Items.add(FieldByName('單位全稱').asstring);
next;
end;
end;
end;
procedure TZY110Form.DBComboBox2DropDown(Sender: TObject);
var
I: Integer;
begin
inherited;
DBComboBox2.Clear;
with DM.Querytemp do
begin
SQL.clear;
SQl.Text := 'select 名稱 from 經營單位 ';
Close;
Active := False;
prepared := False;
prepared := True;
Active := True;
if (recordcount > 0) then
first;
for i := 0 to recordcount - 1 do
begin //取得該列所有的數據到combobox2控件中
DBComboBox2.Items.add(FieldByName('名稱').asstring);
next;
end;
end;
end;
procedure TZY110Form.DBComboBox3DropDown(Sender: TObject);
var
I: Integer;
begin
inherited;
DBComboBox3.Clear;
with DM.Querytemp do
begin
SQL.clear;
SQl.Text := 'select 名稱 from 到港名稱 ';
Close;
Active := False;
prepared := False;
prepared := True;
Active := True;
if (recordcount > 0) then
first;
for i := 0 to recordcount - 1 do
begin //取得該列所有的數據到combobox3控件中
DBComboBox3.Items.add(FieldByName('名稱').asstring);
next;
end;
end;
end;
procedure TZY110Form.DBComboBox4DropDown(Sender: TObject);
var
I: Integer;
begin
inherited;
DBComboBox4.Clear;
with DM.Querytemp do
begin
SQL.clear;
SQl.Text := 'select 還箱地點 from 貨運作業總表 ';
Close;
Active := False;
prepared := False;
prepared := True;
Active := True;
if (recordcount > 0) then
first;
for i := 0 to recordcount - 1 do
begin //取得該列所有的數據到combobox4控件中
DBComboBox4.Items.add(FieldByName('還箱地點').asstring);
next;
end;
end;
end;
procedure TZY110Form.DBComboBox5DropDown(Sender: TObject);
var
I: Integer;
begin
inherited;
DBComboBox5.Clear;
with DM.Querytemp do
begin
SQL.clear;
SQl.Text := 'select 名稱 from 物流方式 ';
Close;
Active := False;
prepared := False;
prepared := True;
Active := True;
if (recordcount > 0) then
first;
for i := 0 to recordcount - 1 do
begin //取得該列所有的數據到combobox5控件中
DBComboBox5.Items.add(FieldByName('名稱').asstring);
next;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -