【delphi开源代码栏目提醒】:以下是网学会员为您推荐的delphi开源代码-khyfk.pas,希望本篇文章对您学习有所帮助。
unit khyfk;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, ComCtrls, Buttons;
type
Tf_khyfk = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label5: TLabel;
Label6: TLabel;
Label3: TLabel;
Label4: TLabel;
fkph: TEdit;
sj: TDateTimePicker;
khmc: TEdit;
fkr: TEdit;
Panel1: TPanel;
fkxt: TComboBox;
fkje: TEdit;
lb: TListBox;
tj: TBitBtn;
bc: TBitBtn;
qx: TBitBtn;
tc: TBitBtn;
procedure fkphKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure khmcKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure khmcExit(Sender: TObject);
procedure fkrKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure fkrExit(Sender: TObject);
procedure fkrKeyPress(Sender: TObject; var Key: Char);
procedure lbDblClick(Sender: TObject);
procedure lbExit(Sender: TObject);
procedure lbKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure tjClick(Sender: TObject);
procedure bcClick(Sender: TObject);
procedure qxClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
Procedure FindNext;
Function IsNull: Boolean;
Procedure SetListPos(WinControl: TWinControl);
{ Public declarations }
end;
var
f_khyfk: Tf_khyfk;
implementation
uses datamodal;
{$R *.dfm}
{ Tf_khyfk }
procedure Tf_khyfk.FindNext;
begin
if FindNextControl(ActiveControl,True,True,True)is TEdit then
TEdit(FindNextControl(ActiveControl,True,True,True)).SetFocus
else if FindNextControl(ActiveControl,True,True,True)is TDateTimePicker then
TDateTimePicker(FindNextControl(ActiveControl,True,True,True)).SetFocus
else if FindNextControl(ActiveControl,True,True,True)is TComboBox then
TComboBox(FindNextControl(ActiveControl,True,True,True)).SetFocus;
end;
procedure Tf_khyfk.fkphKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key = vk_Return then
FindNext;
end;
procedure Tf_khyfk.khmcKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key = vk_Next then
begin
lb.Clear;
with Data.Query1 do
begin
Close;
SQL.Clear;
SQL.Add('select khmc from t_khzl');
Open;
end;
if Data.Query1.RecordCount>0 then
begin
while Not Data.Query1.Eof do
begin
lb.Items.Add(Trim(Data.Query1.FieldByName('khmc').AsString));
Data.Query1.Next;
end;
SetListPos(khmc);
lb.Visible := True;
lb.SetFocus;
lb.Tag := 1;
lb.ItemIndex := 0;
end;
end
else if Key = vk_ReTurn then
fkph.OnKeyDown(sender,key,shift);
end;
procedure Tf_khyfk.khmcExit(Sender: TObject);
begin
if Trim(khmc.Text)<>'' then
begin
with Data.Query2 do
begin
Close;
SQL.Clear;
SQL.Add('select * from t_khzl where khmc = :a');
ParamByName('a').AsString := Trim(khmc.Text);
Open;
if RecordCount<1 then
begin
Application.MessageBox('该客户信息不存在.','提示',64);
khmc.Clear;
end;
end;
end;
end;
procedure Tf_khyfk.fkrKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key = vk_Next then
begin
lb.Clear;
with Data.Query1 do
begin
Close;
SQL.Clear;
SQL.Add('select ygmc from t_employee where bmmc =:a');
ParamByName('a').AsString := '财会部';
Open;
end;
if Data.Query1.RecordCount>0 then
begin
while Not Data.Query1.Eof do
begin
lb.Items.Add(Trim(Data.Query1.FieldByName('ygmc').AsString));
Data.Query1.Next;
end;
SetListPos(fkr);
lb.Visible := True;
lb.SetFocus;
lb.Tag := 2;
lb.ItemIndex := 0;
end;
end
else if Key = vk_ReTurn then
fkph.OnKeyDown(sender,key,shift);
end;
procedure Tf_khyfk.fkrExit(Sender: TObject);
begin
if Trim(fkr.Text)<>'' then
begin
with Data.Query2 do
begin
Close;
SQL.Clear;
SQL.Add('select * from t_employee where ygmc = :a and bmmc = :b ');
ParamByName('a').AsString := Trim(fkr.Text);
ParamByName('b').AsString := '财会部';
Open;
if RecordCount<1 then
begin
Application.MessageBox('该员工不存在或没有该职权.','提示',64);
fkr.Clear;
end;
end;
end;
end;
procedure Tf_khyfk.fkrKeyPress(Sender: TObject; var Key: Char);
var
i: Boolean;
begin
i := (Key<#8)or(Key>#8)and(Key<#46)or(Key>#46)and(Key<#48)or(Key>#57);
if i then
Key := #0;
end;
procedure Tf_khyfk.lbDblClick(Sender: TObject);
begin
Case lb.Tag of
1: begin
khmc.Text := lb.Items[lb.ItemIndex];
khmc.SetFocus;
end;
2: begin
fkr.Text := lb.Items[lb.ItemIndex];
fkr.SetFocus;
end;
end;
lb.Visible := False;
end;
procedure Tf_khyfk.lbE