selectprovfrm.pas
来自「医药连锁经营管理系统源码」· PAS 代码 · 共 185 行
PAS
185 行
unit SelectProvFrm;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, TFlatSpeedButtonUnit, ExtCtrls, RzStatus, TFlatPanelUnit,
ActnList, ModuleAction, DB, DBClient, ckDBClient, MConnect, Grids,
DBGridEh, DbUtilsEh, EhLibCDS, xEhLibCtl, StdCtrls, RzCmboBx, Mask, RzEdit, RzButton, ImgList,
iMainFrm, DBCtrls, RzDBNav, RzPanel;
type
TFrmSelectProv = class(TForm)
dbgSelectProvNo: TxDBGridEh;
Panel1: TPanel;
Panel2: TPanel;
DComm: TDCOMConnection;
CdsSelectProv: TckClientDataSet;
DsSelectProv: TDataSource;
Label1: TLabel;
edValue: TRzEdit;
RzPanel3: TRzPanel;
RzDBNavigator1: TRzDBNavigator;
RzBitBtn2: TRzBitBtn;
ImageList1: TImageList;
RzBitBtn1: TRzBitBtn;
CdsSelectProvProvNo: TStringField;
CdsSelectProvProvName: TStringField;
CdsSelectProvFullName: TStringField;
CdsSelectProvTrade: TStringField;
CdsSelectProvSubjectDept: TStringField;
CdsSelectProvWorkingMode: TStringField;
CdsSelectProvAddress: TStringField;
CdsSelectProvLinkMan: TStringField;
CdsSelectProvMobile: TStringField;
CdsSelectProvRemark: TStringField;
CdsSelectProvEmpNo: TStringField;
CdsSelectProvPayModeNo: TStringField;
CdsSelectProvProvPyCode: TStringField;
procedure FormCreate(Sender: TObject);
procedure RzBitBtn1Click(Sender: TObject);
procedure dbgSelectProvNoDblClick(Sender: TObject);
procedure RzBitBtn2Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormShow(Sender: TObject);
procedure edValueChange(Sender: TObject);
procedure edValueKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure dbgSelectProvNoKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
IFmMain:iMainForm;
SvrProviders:TDispatchConnection;
CdsFieldProperty :TckClientDataSet;
{ Private declarations }
public
{ Public declarations }
end;
var
FrmSelectProv: TFrmSelectProv;
Function SelectProv(Var sProvNo:String) : Boolean; overload;
Function SelectProv(Var sProvNo,sProvName:String) : Boolean; overload;
function SelectProv(Var sProvNo,sProvName,sEmpNo,sPayModeNo:String): Boolean; overload;
implementation
uses DBFuncs;
Const
sFieldProPerty='Select * From SysFieldProperty Where TableName=''Providers''';
{$R *.dfm}
Function SelectProv(Var sProvNo:String) : Boolean;
var s:String;
Begin
Result := SelectProv(sProvNo, s);
End;
Function SelectProv(Var sProvNo,sProvName:String) : Boolean; overload;
var s: String;
begin
Result := SelectProv(sProvNo, sProvName, s, s);
end;
function SelectProv(Var sProvNo,sProvName,sEmpNo,sPayModeNo:String): Boolean; overload;
Begin
Result := false;
with TFrmSelectProv.Create(NIl) do begin
If Not(CdsSelectProv.Active) Then CdsSelectProv.Open;
edValue.Text := sProvNo;
if ShowModal=mrOk then begin
sProvNo := CdsSelectProv.FieldByName('ProvNo').AsString;
sProvName := CdsSelectProv.FieldByName('ProvName').AsString;
sEmpNo := cdsSelectProv.FieldByName('EmpNo').AsString;
sPayModeNo := cdsSelectProv.FieldByName('PayModeNo').AsString;
Result := true;
End;
End;
End;
procedure TFrmSelectProv.FormCreate(Sender: TObject);
begin
IFmMain := (Application.MainForm as IMainForm);
SvrProviders := IFmMain.GetConnection(Handle,'','CommonSvr.CommonRDM');
CdsSelectProv.RemoteServer := SvrProviders;
CdsFieldProperty := TckClientDataSet.Create(Self);
CdsFieldProPerty.ProviderName:='DspTemp';
CdsFieldProPerty.RemoteServer:=SvrProviders;
end;
procedure TFrmSelectProv.FormShow(Sender: TObject);
var
sTableNames: string;
begin
SysFieldXml(CdsFieldProPerty,sFieldProPerty,'TFrmSelectProv.Xml');
sTableNames := 'Providers';
if cdsFieldProperty.Active then
SetFieldProperty(CdsFieldProPerty,cdsSelectProv,sTableNames);
end;
procedure TFrmSelectProv.RzBitBtn1Click(Sender: TObject);
begin
Close;
end;
procedure TFrmSelectProv.dbgSelectProvNoDblClick(Sender: TObject);
begin
if not CdsSelectProv.IsEmpty then
RzBitBtn2Click(Nil);
end;
procedure TFrmSelectProv.RzBitBtn2Click(Sender: TObject);
begin
If dbgSelectProvNo.SelectedRows.Count<0 Then Begin
Application.MessageBox('请先选择厂商编号!', '警告', MB_ICONINFORMATION);
Exit;
end;
ModalResult := mrOK;
end;
procedure TFrmSelectProv.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TFrmSelectProv.edValueChange(Sender: TObject);
const
MatchFields: array[0..6] of string=('ProvNo','ProvName','FullName','ProvPyCode','LinkMan','Mobile','Address');
var
i: integer;
begin
i := 0;
try
if edValue.Text = '' then exit;
while (i<7)and(not CdsSelectProv.Locate(MatchFields[i],edValue.Text,[loPartialKey,loCaseInsensitive])) do
inc(i);
except
end;
end;
procedure TFrmSelectProv.edValueKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (Key=VK_UP)or(Key=VK_DOWN) then begin
PostMessage(dbgSelectProvNo.Handle,WM_KEYDOWN,Key,0);
key :=0;
end;
end;
procedure TFrmSelectProv.dbgSelectProvNoKeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
if key=13 then begin
edValue.SetFocus ;
key :=0;
end;
end;
End.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?