📄 tour.pas
字号:
unit TOUR;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, Grids, DBGrids,PublicFunction, DBCtrls,
ExtCtrls, ComCtrls,ADODB,DB,DataM,extdlgs ,ToolWin,mask,comobj;
type
TCustomDBGridCracker=class(TCustomDBGrid);
Tdlxxfrm = class(TForm)
Panel1: TPanel;
DBGrid1: TDBGrid;
Panel2: TPanel;
Panel3: TPanel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label7: TLabel;
Label6: TLabel;
Label5: TLabel;
Label8: TLabel;
Label9: TLabel;
Label23: TLabel;
Label25: TLabel;
lable2: TLabel;
Label1: TLabel;
Label13: TLabel;
Label14: TLabel;
Label15: TLabel;
Label18: TLabel;
Label17: TLabel;
Label24: TLabel;
Label26: TLabel;
ZYPTBH: TEdit;
BZMC: TEdit;
BM: TEdit;
LMZMPX: TEdit;
CSGM: TEdit;
BW: TEdit;
zdj: TEdit;
DJ: TEdit;
ZBW: TEdit;
zfzd: TEdit;
zfwz: TEdit;
rk: TEdit;
mj: TEdit;
sjdm: TEdit;
JLNX: TEdit;
xzls: TEdit;
yzbm: TEdit;
xzhqdm: TEdit;
Panel4: TPanel;
Label22: TLabel;
Label21: TLabel;
Label20: TLabel;
Label12: TLabel;
Label11: TLabel;
Label10: TLabel;
xjzq: TMemo;
qtxx: TMemo;
qhlx: TMemo;
lsyg: TMemo;
dmlx: TMemo;
dmhy: TMemo;
DBNavigator1: TDBNavigator;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
BitBtn5: TBitBtn;
BitBtn6: TBitBtn;
btnok: TBitBtn;
Panel5: TPanel;
zybm: TComboBox;
BitBtn8: TBitBtn;
BitBtn7: TBitBtn;
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure BitBtn6Click(Sender: TObject);
procedure BitBtn5Click(Sender: TObject);
procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
procedure automaticno;
procedure DBGrid1DblClick(Sender: TObject);
procedure DBNavigator1Click(Sender: TObject; Button: TNavigateBtn);
procedure FormShow(Sender: TObject);
procedure zybmExit(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure BZMCKeyPress(Sender: TObject; var Key: Char);
procedure LMZMPXKeyPress(Sender: TObject; var Key: Char);
procedure JLNXKeyPress(Sender: TObject; var Key: Char);
procedure BMKeyPress(Sender: TObject; var Key: Char);
procedure CSGMKeyPress(Sender: TObject; var Key: Char);
procedure sjdmKeyPress(Sender: TObject; var Key: Char);
procedure BWKeyPress(Sender: TObject; var Key: Char);
procedure ZBWKeyPress(Sender: TObject; var Key: Char);
procedure DJKeyPress(Sender: TObject; var Key: Char);
procedure zdjKeyPress(Sender: TObject; var Key: Char);
procedure xzlsKeyPress(Sender: TObject; var Key: Char);
procedure xzhqdmKeyPress(Sender: TObject; var Key: Char);
procedure zfzdKeyPress(Sender: TObject; var Key: Char);
procedure zfwzKeyPress(Sender: TObject; var Key: Char);
procedure rkKeyPress(Sender: TObject; var Key: Char);
procedure yzbmKeyPress(Sender: TObject; var Key: Char);
procedure mjKeyPress(Sender: TObject; var Key: Char);
procedure btnokClick(Sender: TObject);
procedure ENA; // 新增记录的时候使所有的控件可用
procedure DIS; // 保存记录后使所有的控件不可用
procedure CLS; // 清除控件中的所有的内容的变量
procedure GetAll;
procedure BitBtn8Click(Sender: TObject);
procedure BitBtn7Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
ActionCD, hebpth :string;
dlxxfrm: Tdlxxfrm;
implementation
uses dlwz_Unit,main;
{$R *.dfm}
procedure Tdlxxfrm.automaticno;
var m:String;
i:integer;
queryc:TADOQuery;
begin
i:=0;
hebpth:='';
queryc:=TADOQuery.Create(self);
queryc.Connection:=DataM.dm.conn;
queryc.SQL.Text := 'select max(Z_PTZYBH) as p from T_Geo_Gnis' ;
queryc.open;
queryc.Close;
queryc:=TADOQuery.Create(self);
queryc.Connection:=DataM.dm.conn;
queryc.SQL.Text := 'select * from T_Geo_Gnis' ;
queryc.open;
if queryc.Eof then
hebpth:='4101C00073'+'00000001'
else
begin
DataM.DM.dlxxzy.Last;
m:=DataM.DM.dlxxzy.FieldValues['Z_PTZYBH'];
i:=StrToInt(Trim(copy(m,11,8)));
if i< 9 then
hebpth:='4101C00073'+'0000000'+IntToStr(i+1)
else if i<99 then
hebpth:='4101C00073'+'000000'+IntToStr(i+1)
else if i<999 then
hebpth:='4101C00073'+'00000'+IntToStr(i+1)
else if i<9999 then
hebpth:='4101C00073'+'0000'+IntToStr(i+1)
else if i<99999 then
hebpth:='4101C00073'+'000'+IntToStr(i+1)
else if i<999999 then
hebpth:='4101C00073'+'00'+IntToStr(i+1)
else if i<9999999 then
hebpth:='4101C00073'+'0'+IntToStr(i+1)
else
hebpth:='4101C00073'+IntToStr(i+1);
end;
queryc.Close;
end;
// 新增记录的时候使所有的控件可用
procedure Tdlxxfrm.ENA;
var
i: Integer;
begin
for i := ComponentCount - 1 downto 0 do
begin
if (components[i] is TEdit) then
begin // 使所有的TEdit控件可用
TEdit(components[i]).Color := clwindow;
TEdit(components[i]).ReadOnly := false;
end; // 使所有的Tcombobox控件可用
if (components[i] is Tcombobox) then
Tcombobox(components[i]).Color := clwindow;
if (components[i] is TMemo) then
Tcombobox(components[i]).Color := clwindow;
end;
zyptbh.Enabled := False;
BitBtn2.Enabled := False; // '编辑'不可用
BitBtn3.Enabled := True; // '储存'可用
BitBtn4.Enabled := True; // '取消'可用
BitBtn6.Enabled := False; // '关闭'不可用
end;
// 新增记录的时候使所有的控件不可用
procedure Tdlxxfrm.DIS;
var
i: Integer;
begin
for i := ComponentCount - 1 downto 0 do
begin // 使所有的TEdit控件不可用
if (components[i] is TEdit) then
begin // 改变TEdit控件的颜色
TEdit(components[i]).Color := $00D8D8D8;
TEdit(components[i]).ReadOnly := true;
end; // 使所有的Tcombobox控件不可用
if (components[i] is Tcombobox) then
// 改变Tcombobox控件的颜色
Tcombobox(components[i]).Color := $00D8D8D8;
if (components[i] is TMemo ) then
tcombobox(components[i]).color := $00D8D8D8;
end;
zyptbh.Enabled := True;
bitbtn2.Enabled := True; // '编辑'可用
bitbtn3.Enabled := False; // '储存'不可用
bitbtn4.Enabled := False; // '取消'不可用
BitBtn6.Enabled := True; // '关闭'可用
zyptbh.Color := clwindow;
zyptbh.ReadOnly := true;
end;
// 添加操作前清空所有控件的内容的函数
procedure Tdlxxfrm.CLS;
var
i: Integer;
begin
for i := ComponentCount - 1 downto 0 do
begin // 清除所有的TEdit控件的内容
if (Components[i] is TEDIT) then
TEDIT(components[i]).Clear;
end;
FOR i :=componentcount -1 downto 0 do
begin
if (components[i] is TMemo )then
tmemo(components[i]).clear;
end;
end;
procedure Tdlxxfrm.GetAll;
begin
ZYPTBH.Text:=DM.dlxxzy.Fieldbyname('Z_PTZYBH').AsString;
ZYBM.Text:=DM.dlxxzy.Fieldbyname('Z_ZYBM').AsString;
BZMC.Text:=DM.dlxxzy.Fieldbyname('Z_BZMC').AsString;
LMZMPX.Text:=DM.dlxxzy.Fieldbyname('Z_LMZMPX').AsString;
BM.Text:=DM.dlxxzy.Fieldbyname('Z_BM').AsString;
JLNX.Text:=DM.dlxxzy.Fieldbyname('Z_JLNX').AsString;
CSGM.Text:=DM.dlxxzy.Fieldbyname('Z_CSGM').AsString;
SJDM.Text:=DM.dlxxzy.Fieldbyname('Z_SJDM').AsString;
BW.Text:=DM.dlxxzy.Fieldbyname('Z_BW').AsString;
ZBW.Text:=DM.dlxxzy.Fieldbyname('Z_ZBW').AsString;
DJ.Text:=DM.dlxxzy.Fieldbyname('Z_DJ').AsString;
ZDJ.Text:=DM.dlxxzy.Fieldbyname('Z_ZDJ').AsString;
XZLS.Text:=DM.dlxxzy.Fieldbyname('Z_XZLS').AsString;
xzhqdm.Text:=DM.dlxxzy.Fieldbyname('Z_XZQHDM').AsString;
ZFZD.Text:=DM.dlxxzy.Fieldbyname('Z_ZFZD').AsString;
ZFWZ.Text:=DM.dlxxzy.Fieldbyname('Z_ZFWZ').AsString;
XJZQ.Text:=DM.dlxxzy.Fieldbyname('Z_XJZQ').AsString;
YZBM.Text:=DM.dlxxzy.Fieldbyname('Z_YZBM').AsString;
RK.Text:=DM.dlxxzy.Fieldbyname('Z_RK').AsString;
MJ.Text:=DM.dlxxzy.Fieldbyname('Z_MJ').AsString;
QHLX.Text:=DM.dlxxzy.Fieldbyname('Z_QHLX').AsString;
DMLX.Text:=DM.dlxxzy.Fieldbyname('Z_DMLX').AsString;
DMHY.Text:=DM.dlxxzy.Fieldbyname('Z_DMHY').AsString;
LSYG.Text:=DM.dlxxzy.Fieldbyname('Z_LSYG').AsString;
QTXX.Text:=DM.dlxxzy.Fieldbyname('Z_QTXX').AsString;
end;
//添加按钮程序
procedure Tdlxxfrm.BitBtn1Click(Sender: TObject);
begin
dm.dlxxzy.Close;
dm.dlxxzy.SQL.Clear;
dm.dlxxzy.SQL.Add('select * from T_geo_gnis where 1>0 order by z_ptzybh');
dm.dlxxzy.Active :=true;
CLS; //清除所有的控件内容
zybm.Text :='';
zfwz.Text :='http://';
ENA; //使所有的控件可用
automaticno;
zyptbh.Text:=hebpth;
zyptbh.ReadOnly := true;
zyptbh.Enabled := True;
zyptbh.Color := clSkyBlue;
ActionCD := 'N'; //新增记录标记
zybm.SetFocus;
end;
//编辑按钮程序
procedure Tdlxxfrm.BitBtn2Click(Sender: TObject);
begin
if not DM.dlxxzy.Locate('Z_PTZYbh', zyptbh.text, []) then
begin
Myerror('没有检测到相应的数据编号在用户数据库中' + #13#10 + '请查证后继续');
DIS;
end
else
ENA; //使所有的控件可用
zyptbh.ReadOnly := true;
ACtionCD := 'M'; //修改记录标记
end;
//存储按钮的程序,用户添加或修改内容操作后提交添加的内容
procedure Tdlxxfrm.BitBtn3Click(Sender: TObject);
var i :integer;
begin
if ActionCD = 'N' then //添加数据库内容
begin
if (bzmc.Text ='') or (zybm.Text='') then
begin
showmessage('必添项不能为空!');
exit;
end;
with DM.dlxxzy do
begin
Close; //如果是插入操作,执行Insert操作
Sql.Clear;
SQL.Add('Insert into T_Geo_Gnis(Z_PTZYBH,Z_ZYBM,Z_BZMC,');
SQL.Add('Z_LMZMPX,Z_BM,Z_JLNX,Z_CSGM,Z_SJDM,Z_BW,Z_ZBW,');
SQL.Add('Z_DJ,Z_ZDJ,Z_XZLS,Z_XZQHDM,Z_ZFZD,Z_ZFWZ,');
SQL.Add('Z_XJZQ,Z_YZBM,Z_RK,Z_MJ,Z_QHLX,Z_DMLX,');
SQL.Add('Z_DMHY,Z_LSYG,Z_QTXX)');
SQL.Add('Values(:Z_PTZYBH,:Z_ZYBM,:Z_BZMC,');
SQL.Add(':Z_LMZMPX,:Z_BM,:Z_JLNX,:Z_CSGM,:Z_SJDM,:Z_BW,:Z_ZBW,');
SQL.Add(':Z_DJ,:Z_ZDJ,:Z_XZLS,:Z_XZQHDM,:Z_ZFZD,:Z_ZFWZ,');
SQL.Add(':Z_XJZQ,:Z_YZBM,:Z_RK,:Z_MJ,:Z_QHLX,:Z_DMLX,');
SQL.Add(':Z_DMHY,:Z_LSYG,:Z_QTXX)');
try
Parameters.Items[0].Value := ZYPTBH.Text;
Parameters.Items[1].Value := ZYBM.Text;
Parameters.Items[2].Value := BZMC.Text;
Parameters.Items[3].Value := LMZMPX.Text;
Parameters.Items[4].Value := BM.Text;
Parameters.Items[5].Value := JLNX.Text;
Parameters.Items[6].Value := CSGM.Text;
Parameters.Items[7].Value := SJDM.Text;
Parameters.Items[8].Value := BW.Text;
Parameters.Items[9].Value := ZBW.Text;
Parameters.Items[10].Value := DJ.Text;
Parameters.Items[11].Value := ZDJ.Text;
Parameters.Items[12].Value := XZLS.Text;
Parameters.Items[13].Value := xzhqdm.Text;
Parameters.Items[14].Value := ZFZD.Text;
Parameters.Items[15].Value := ZFWZ.Text;
Parameters.Items[16].Value := XJZQ.Text;
Parameters.Items[17].Value := YZBM.Text;
Parameters.Items[18].Value := RK.Text;
Parameters.Items[19].Value := MJ.Text;
Parameters.Items[20].Value := QHLX.Text;
Parameters.Items[21].Value := DMLX.Text;
Parameters.Items[22].Value := DMHY.Text;
Parameters.Items[23].Value := LSYG.Text;
Parameters.Items[24].Value := QTXX.Text;
Prepared:=true;
ExecSQL;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -