📄 udy.pas
字号:
begin
toolbutton3.Enabled:=true;
toolbutton6.Enabled:=true;
toolbutton5.Enabled:=true;
toolbutton2.Enabled:=false;
toolbutton1.Enabled:=false;
end;
dsEdit:
begin
toolbutton3.Enabled:=false;
toolbutton6.Enabled:=false;
toolbutton5.Enabled:=false;
toolbutton2.Enabled:=true;
toolbutton1.Enabled:=true;
end;
dsInsert:
begin
toolbutton3.Enabled:=false;
toolbutton6.Enabled:=false;
toolbutton5.Enabled:=false;
toolbutton2.Enabled:=true;
toolbutton1.Enabled:=true;
end;
end;
end;
procedure Tfrmdy.ToolButton15Click(Sender: TObject);
begin
edit3.Clear;
edit4.Clear;
edit5.Clear;
edit14.Clear;
query2.Insert;
//edit3.SetFocus;
end;
procedure Tfrmdy.ToolButton17Click(Sender: TObject);
begin
query2.Edit;
end;
procedure Tfrmdy.ToolButton19Click(Sender: TObject);
var
teststr,str:string;
begin
if application.MessageBox('是否要删除?','::提示::',mb_yesno)=id_yes then
begin
if ((trim(edit3.text)='') or (trim(edit4.text)='')) then
begin
application.MessageBox('请指明删除的对象','::提示::',mb_ok);
exit;
end;
teststr:='';
teststr:='select * from dy where (1=1)';
str:='';
str:=' and ((dyfzid = '''+trim(edit3.text)+''' ) and (dyid = '''+trim(edit4.text)+''')) ';
teststr:=teststr+str;
runsql(qtest2,teststr);
if qtest2.RecordCount <=0 then
begin
application.MessageBox('没有找到您要删除的对象','::提示::',mb_ok);
exit;
end;
qtest2.Close;
qtest2.SQL.Clear;
qtest2.SQL.Text:='delete from dy where dyfzid = '''+trim(edit3.text)+''' and dyid = '''+trim(edit4.text)+'''';
qtest2.ExecSQL;
////在做删除操作后开始刷新数据集////
runsql(query2,'select dy.*,dyfz.dyfzname as dyfzname from dy,dyfz where dy.dyfzid=dyfz.dyfzid') ;
end
else
begin
exit;
end;
end;
procedure Tfrmdy.ToolButton23Click(Sender: TObject);
begin
query2.Cancel;
end;
procedure Tfrmdy.ToolButton25Click(Sender: TObject);
begin
close;
end;
procedure Tfrmdy.ToolButton21Click(Sender: TObject);
var
str,teststr:string;
begin
//检验输入的编号和名称是否为空//
if length(trim(edit5.text))>50 then
begin
application.MessageBox('短语信息太长!','::提示::',mb_ok);
exit;
end;
if ((trim(edit3.text)='') or (trim(edit4.Text) ='') or (trim(edit5.Text) ='')) then
begin
application.MessageBox('输入信息不完整!','::提示::',mb_ok);
exit;
end;
//结束检验//
//:首先检测在数据库中是否有相同分组编号和通讯记录编号,如有则退出程序://
if (Query2.State in [dsinsert]) then
begin
teststr:='';
teststr:='select * from dy where (1=1)';
str:='';
str:=' and ((dyfzid = '''+trim(edit3.text)+''' ) and (dyid = '''+trim(edit4.text)+''')) ';
teststr:=teststr+str;
runsql(qtest2,teststr);
if qtest2.RecordCount >0 then
begin
application.MessageBox('数据库中已存在您增加的对象!','::提示::',mb_ok);
exit;
end;
end;
//:检测结束://
try
if (Query2.Modified) or (Query2.State in [dsinsert,dsEdit]) then
begin
query2.fieldbyname('dyfzid').asstring :=trim(edit3.text);
query2.fieldbyname('dyid').asstring :=trim(edit4.text);
query2.fieldbyname('dyinfo').asstring :=trim(edit5.text);
Query2.Post;
end;
except
application.MessageBox('数据保存失败!','::提示::',mb_ok);
Query2.Cancel;
end;
//保存后的刷新数据集//
runsql(query2,'select dy.*,dyfz.dyfzname as dyfzname from dy,dyfz where dy.dyfzid=dyfz.dyfzid');
end;
procedure Tfrmdy.Query2AfterPost(DataSet: TDataSet);
begin
//query2.RequestLive:=true;
runsql(query2,'select dy.*,dyfz.dyfzname as dyfzname from dy,dyfz where dy.dyfzid=dyfz.dyfzid');
end;
procedure Tfrmdy.Query2AfterScroll(DataSet: TDataSet);
begin
edit3.text:=query2.fieldbyname('dyfzid').asstring ;
edit4.text:=query2.fieldbyname('dyid').asstring ;
edit5.text:=query2.fieldbyname('dyinfo').asstring ;
end;
procedure Tfrmdy.DataSource2StateChange(Sender: TObject);
begin
Case DataSource2.State of
dsInactive:
begin
toolbutton15.Enabled:=false;
toolbutton19.Enabled:=false;
toolbutton17.Enabled:=false;
toolbutton23.Enabled:=false;
toolbutton21.Enabled:=false;
end;
dsBrowse:
begin
toolbutton15.Enabled:=true;
toolbutton19.Enabled:=true;
toolbutton17.Enabled:=true;
toolbutton23.Enabled:=false;
toolbutton21.Enabled:=false;
end;
dsEdit:
begin
toolbutton15.Enabled:=false;
toolbutton19.Enabled:=false;
toolbutton17.Enabled:=false;
toolbutton23.Enabled:=true;
toolbutton21.Enabled:=true;
end;
dsInsert:
begin
toolbutton15.Enabled:=false;
toolbutton19.Enabled:=false;
toolbutton17.Enabled:=false;
toolbutton23.Enabled:=true;
toolbutton21.Enabled:=true;
end;
end;
end;
procedure Tfrmdy.SpeedButton1Click(Sender: TObject);
var
i,ttxlid:integer;
lastid:string;
begin
try
Browseform:=TBrowseform.Create(self);
runsql(Browseform.Query1,'select dyfzid as 分组编号,dyfzname as 分组名称 '+
' from dyfz');
for i:=0 to Browseform.Query1.FieldCount-1 do
begin
Browseform.DBGrid1.Columns.Add.FieldName:=Browseform.Query1.Fields[i].FieldName;
Browseform.DBGrid1.Columns[i].Width:=90;
end;
Browseform.ShowModal;
Edit3.Text:=trim(browseform.Query1.fieldbyname('分组编号').AsString);
////
//在这里开始通讯录的id号的计算并赋给edit4
runsql(qdyfzid,'select * from dy where dy.dyfzid='''+trim(edit3.text)+'''');
if qdyfzid.RecordCount<1 then
begin
ttxlid:=0;
end
else
begin
//开始分析allisdb
if allisdb='access' then
runsql(qdyfzid,'select max(right(trim(dyid),4)) as maxtxlid from dy where dy.dyfzid='''+trim(edit3.text)+'''');
if allisdb='sqlserver' then
runsql(qdyfzid,'select max(str(right(rtrim(dyid),4),5,0)) as maxtxlid from dy where dy.dyfzid='''+trim(edit3.text)+'''');
//结束分析allisdb
ttxlid:=qdyfzid.fieldbyname('maxtxlid').AsInteger;
end;
ttxlid:=ttxlid+1;
if ttxlid>9999 then
begin
browseform.Free;
application.MessageBox('通讯录已超过9999条记录请处理后再增加!',':提示:',mb_ok);
edit3.Clear;
exit;
end;
case length(inttostr(ttxlid)) of
1:lastid:=trim(edit3.text)+'000'+inttostr(ttxlid);
2:lastid:=trim(edit3.text)+'00'+inttostr(ttxlid);
3:lastid:=trim(edit3.text)+'0'+inttostr(ttxlid);
4:lastid:=trim(edit3.text)+inttostr(ttxlid);
end;
edit4.Text:=lastid;
edit5.SetFocus;
////
{Edit3.Text:=browseform.Query1.fieldbyname('分组编号').AsString;}
finally
Browseform.Free;
end;
end;
procedure Tfrmdy.Shape1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if button=mbleft then
begin
releasecapture;
perform(wm_syscommand,$f012,0);
end;
end;
procedure Tfrmdy.Edit3KeyPress(Sender: TObject; var Key: Char);
var
seecode:string;
begin
//将代码变为名称
if key = #13 then
begin
if edit3.text<>'' then
begin
seecode:='select dyfzname from dyfz where dyfzid = '''+trim(edit3.text)+''' ';
ExecMysql(query3,seecode);
if query3.RecordCount >0 then
begin
edit14.BringToFront;
edit14.Text:=query3.FieldByName('dyfzname').AsString;
end
else
begin
edit14.Text:='';
application.messagebox('在分组信息表中没有此记录!','提示', mb_ok+MB_iconwarning);
end;
end;
end;
//结束代码变为名称
end;
procedure Tfrmdy.Edit3Change(Sender: TObject);
var
seecode:string;
begin
if trim(edit3.text)<>'' then
begin
seecode:='select dyfzname from dyfz where dyfzid = '''+trim(edit3.text)+''' ';
ExecMysql(query3,seecode);
if query3.RecordCount >0 then
begin
edit14.BringToFront;
edit14.Text:=query3.FieldByName('dyfzname').AsString;
end
else
begin
edit14.Text:='';
application.messagebox('在分组信息表中没有此记录!','提示', mb_ok+MB_iconwarning);
end;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -