【delphi开源代码栏目提醒】:以下是网学会员为您推荐的delphi开源代码-cszl.pas,希望本篇文章对您学习有所帮助。
unit cszl;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, fram, ImgList, ExtCtrls, ComCtrls, ToolWin, StdCtrls, Buttons,
DB, ADODB;
type
Tf_cszl = class(Tf_fram)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
n: TTabSheet;
Panel2: TPanel;
Panel3: TPanel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
csdm: TEdit;
csmc: TEdit;
fzr: TEdit;
csjc: TEdit;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Label5: TLabel;
ksb: TComboBox;
Label7: TLabel;
fktj: TComboBox;
Label6: TLabel;
jkcs: TEdit;
Label8: TLabel;
qzts: TEdit;
chb: TListBox;
BCopy: TToolButton;
BPaste: TToolButton;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
procedure csdmKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure B4Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure B5Click(Sender: TObject);
procedure B1Click(Sender: TObject);
procedure B3Click(Sender: TObject);
procedure B2Click(Sender: TObject);
procedure B9Click(Sender: TObject);
procedure B10Click(Sender: TObject);
procedure B11Click(Sender: TObject);
procedure B12Click(Sender: TObject);
procedure csmcKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Edit2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Edit3KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure chbDblClick(Sender: TObject);
procedure chbKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Edit5KeyPress(Sender: TObject; var Key: Char);
procedure qztsKeyPress(Sender: TObject; var Key: Char);
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);override;
procedure BCopyClick(Sender: TObject);
procedure BPasteClick(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure chbExit(Sender: TObject);
private
{ Private declarations }
public
Procedure SelectTable(TableName: String);
Procedure FindNext;
Procedure CopyToRecord;//复制信息,将当前内容复制到记录中
Procedure CopyToForm;//复制信息,将记录中的内容复制到窗体中
Procedure ClearEdit;
Procedure SetListPos(WinControl: TWinControl);
Procedure EditValue;
Function EditIsNull: Boolean;
{ Public declarations }
end;
TempZL = Record
Rcsmc: String;
Rcsjc: String;
Rfzr: String;
Rgj: String;
Rsf: String;
Rsx: String;
Rdhhm: String;
Rwz: String;
Rfktj: String;
Rksb: String;
Rqzts: String;
Rjkcs: String;
end;
var
f_cszl: Tf_cszl;
Temp: Tempzl;//记录厂商基本资料信息,用于复制,不记录厂商代码
implementation
uses DataModal;
{$R *.dfm}
{ Tf_cszl }
procedure Tf_cszl.FindNext;
begin
if FindNextControl(ActiveControl,True,True,False)is TEdit then
TEdit(FindNextControl(ActiveControl,True,True,False)).SetFocus
else if FindNextControl(ActiveControl,True,True,False)is TComboBox then
TComboBox(FindNextControl(ActiveControl,True,True,False)).SetFocus;
end;
procedure Tf_cszl.csdmKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
inherited;
if Key = vk_Return then
FindNext;
end;
procedure Tf_cszl.ClearEdit;
var
Num: Integer;
begin
For Num := 0 to Panel2.ControlCount-1 do
if Panel2.Controls[Num]is TEdit then
TEdit(Panel2.Controls[Num]).Clear;
For Num := 0 to Panel3.ControlCount-1 do
if Panel3.Controls[Num]is TEdit then
TEdit(Panel3.Controls[Num]).Clear;
fktj.ItemIndex := 0;
ksb.ItemIndex := 0;
end;
procedure Tf_cszl.SelectTable(TableName: String);
begin
with Data.Query1 do
begin
Close;
SQL.Clear;
SQL.Add('select * from '+ TableName);
Open;
if RecordCount>0 then
begin
chb.Clear;
while Not Eof do
begin
chb.Items.Add(Fields[0].AsString);
Next;
end;
end;
end;
end;
procedure Tf_cszl.SetListPos(WinControl: TWinControl);
begin
chb.Top := WinControl.Top;
chb.Left := WinControl.Left+(WinControl.Width-chb.Width);
chb.Visible := True;
chb.SetFocus;
end;
procedure Tf_cszl.EditValue;
begin
with Data.Query2 do
begin
csdm.Text:= FieldByName('csdm').AsString;
csmc.Text:= FieldByName('csmc').AsString;
csjc.Text:= FieldByName('csjc').AsString;
fzr.Text:= FieldByName('fzr').AsString;
Edit1.Text:= FieldByName('gj').AsString;
Edit2.Text:= FieldByName('sf').AsString;
Edit3.Text:= FieldByName('sx').AsString;
Edit5.Text:= FieldByName('dhhm').AsString;
Edit4.Text:= FieldByName('wz').AsString;
fktj.ItemIndex := fktj.Items.IndexOf(Trim(FieldByName('fktj').AsString));
ksb.ItemIndex := ksb.Items.IndexOf(Trim(FieldByName('ksb').AsString));
qzts.Text:= FieldByName('qzts').AsString;
jkcs.Text:= FieldByName('yjcs').AsString;
end;
end;
function Tf_cszl.EditIsNull: Boolean;
var
i: Integer;
begin
Result := False;
For i :=0 to Panel2.ControlCount-1 do
if Panel2.Controls[i]is TEdit then
//在保存数据时网址可以为空
if (TEdit(Panel2.Controls[i]).TabOrder<>8)and(Trim(TEdit(Panel2.Controls[i]).Text)='') then
begin
Result := True;
Exit;
end;
For i := 0 to Panel3.ControlCount-1 do
if Panel3.Controls[i]is TEdit then
begin
if Trim(TEdit(Panel3.Controls[i]).Text)='' then
begin
Result := True;
Exit;
end;
end
else if Panel3.Controls[i]is TCombobox then
if Trim(TComboBox(Panel3.Controls[i]).Text)='' then
begin
Result := True;
Exit;
end;
end;
procedure Tf_cszl.B4Click(Sender: TObject);
begin
inherited;
B3.Enabled := False;//保存按钮不可用
Data.Query2.RequestLive := True;
With Data.Query2 do
begin
Close;
SQL.Clear;
SQL.Add('select * from t_cszl');
Open;
if RecordCount>0 then
begin
B2.Enabled := True;
B5.Enabled := True;
B9.Enabled := True;
B10.Enabled := True;
B11.Enabled := True;
B12.Enabled := True;
EditValue;
end
else
begin
B2.Enabled := False;//修改按钮不可用
B5.Enabled := False;
B9.Enabled := False;
B10.Enabled := False;
B11.Enabled := False;
B12.Enabled := False;
end;
end;
end;
procedure Tf_cszl.FormShow(Sender: TObject);
begin
fktj.Clear;
With Data.Query1 do
begin
Close;
SQL.Clear;
SQL.Add('select fktj from t_fkdm');
Open;
end;
if Data.Query1.RecordCount>0 then
while Not Data.Query1.Eof do
begin
fktj.Items.Add(Data.Query1.Fields[0].AsString);
Data.Query1.Next;
end;
fktj.ItemIndex := 0;
ksb.ItemIndex := 0;
B4.OnClick(Sender);
end;
procedure Tf_cszl.B5Click(Sender: TObject);
begin
inherited;
if Application.MessageBox('确实要删除当前记录吗?','提示',mb_YesNo)=ID_Yes t
上一篇:
csyskdysz.pas
下一篇:
谈初中数学“一元二次方程”的几种常见题型