📄 addzt1.pas
字号:
unit addzt1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Buttons, StdCtrls, ExtCtrls, Db, ADODB, Grids, DBGrids, Mask, DBCtrls;
type
TFormaddzt1 = class(TForm)
Panel1: TPanel;
Label1: TLabel;
Label2: TLabel;
Edit1: TEdit;
GroupBox2: TGroupBox;
GroupBox1: TGroupBox;
ListBox1: TListBox;
ADODataSet1: TADODataSet;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
SpeedButton5: TSpeedButton;
SpeedButton7: TSpeedButton;
SpeedButton3: TSpeedButton;
SpeedButton9: TSpeedButton;
SpeedButton10: TSpeedButton;
SpeedButton6: TSpeedButton;
SpeedButton11: TSpeedButton;
SpeedButton8: TSpeedButton;
SpeedButton13: TSpeedButton;
SpeedButton14: TSpeedButton;
SpeedButton15: TSpeedButton;
SpeedButton16: TSpeedButton;
SpeedButton18: TSpeedButton;
SpeedButton19: TSpeedButton;
SpeedButton20: TSpeedButton;
SpeedButton21: TSpeedButton;
SpeedButton24: TSpeedButton;
SpeedButton4: TSpeedButton;
SpeedButton12: TSpeedButton;
SpeedButton23: TSpeedButton;
SpeedButton17: TSpeedButton;
SpeedButton22: TSpeedButton;
SpeedButton25: TSpeedButton;
ADODataSet2: TADODataSet;
DataSource1: TDataSource;
ADODataSet2gongshi: TStringField;
GroupBox4: TGroupBox;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
GroupBox3: TGroupBox;
DBGrid1: TDBGrid;
GroupBox5: TGroupBox;
Button5: TButton;
Button6: TButton;
Button7: TButton;
Button8: TButton;
ADODataSet1changechinename: TStringField;
Panel2: TPanel;
Label4: TLabel;
Label5: TLabel;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
Button9: TButton;
Button10: TButton;
ADODataSet2memo: TStringField;
Button11: TButton;
DBText1: TDBText;
procedure Button4Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure ListBox1DblClick(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure DBGrid1DblClick(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Edit1Click(Sender: TObject);
procedure Button9Click(Sender: TObject);
procedure Button10Click(Sender: TObject);
procedure Button11Click(Sender: TObject);
private
start:integer;
button:boolean;
{ Private declarations }
public
{ Public declarations }
end;
var
Formaddzt1: TFormaddzt1;
implementation
uses datamol, zhantao;
{$R *.DFM}
procedure TFormaddzt1.Button4Click(Sender: TObject);
begin
close;
end;
procedure TFormaddzt1.FormCreate(Sender: TObject);
begin
groupbox3.Visible:=false;
adodataset1.Close;
adodataset1.Open;
Label2.Caption:=datamod.ADOztandp.fieldbyname('pchinename').asstring;
Edit1.Text:=formzhantao.dbedit2.Text;
if not adodataset1.Eof then
begin
listbox1.Items.Clear;
while not adodataset1.Eof do
begin
if trim(adodataset1.FieldByName('changechinename').asstring)<>'' then
listbox1.Items.Add(adodataset1.fieldbyname('changechinename').asstring);
adodataset1.Next;
end;
end;
end;
procedure TFormaddzt1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
adodataset1.Close;
adodataset2.Close;
end;
procedure TFormaddzt1.Button2Click(Sender: TObject);
begin
edit1.Text:='';
end;
procedure TFormaddzt1.Button1Click(Sender: TObject);
begin
edit1.Text:=copy(edit1.Text,1,length(edit1.text)-1);
end;
procedure TFormaddzt1.ListBox1DblClick(Sender: TObject);
begin
edit1.text:=copy(edit1.Text,1,start)+listbox1.Items[listbox1.itemindex]+copy(edit1.text,start+1,length(edit1.text)-start);
edit1.SelStart:=start+length(listbox1.items[listbox1.itemindex]);
start:=edit1.selstart;
end;
procedure TFormaddzt1.SpeedButton1Click(Sender: TObject);
begin
if (sender as tspeedbutton).caption<>'标准函数' then
begin
edit1.Text:=copy(edit1.Text,1,start)+(sender as tspeedbutton).caption+copy(edit1.text,start+1,length(edit1.text)-start);
edit1.SelStart:=start+length((sender as tspeedbutton).caption);
start:=edit1.selstart;
end
else
begin
adodataset2.Close;
adodataset2.Open;
groupbox3.Visible:=true;
panel2.visible:=false;
groupbox3.align:=alclient;
end;
end;
procedure TFormaddzt1.Button3Click(Sender: TObject);
var
ary1,qry2:tadoquery;
s,s1,s2,sal:string;
i,j:integer;
str:array of string;
begin
ary1:=tadoquery.Create(application);
ary1.Connection:=datamod.Database1;
qry2:=tadoquery.Create(application);
qry2.Connection:=datamod.Database1;
j:=0;
formzhantao.DBEdit2.Text:=edit1.Text;
s:=edit1.Text;
sal:='';
s1:='';
if trim(s)<>'' then
begin
setlength(str,length(s)+1);
for i:=1 to length(s) do
str[i]:='';
for i:=1 to length(s) do
if (s[i] in [#39..#47]) or (s[i] in [#60..#62]) then
str[i]:=s[i];
for i:=1 to length(s) do
if str[i]<>'' then
begin
if i=1 then
sal:=str[i]
else
begin
if i-j=1 then
sal:=sal+str[i]
else
begin
s1:=copy(s,j+1,i-j-1);
ary1.Close;
ary1.SQL.Clear;
ary1.SQL.Text:='select * from syssalfields where chinename='''+s1+'''';
ary1.Open;
if not ary1.Eof then
begin
sal:=sal+ary1.fieldbyname('name').asstring+str[i];
qry2.Close;
qry2.SQL.Clear;
qry2.SQL.Text:='select calmore from ztandp where penglishname='''+ary1.fieldbyname('name').asstring+'''';
qry2.Open;
if datamod.adoztandp.fieldbyname('calmore').asinteger<=qry2.fieldbyname('calmore').asinteger then
datamod.ADOztandp.FieldByName('calmore').asinteger:=qry2.fieldbyname('calmore').asinteger+1;
end
else
sal:=sal+copy(s,j+1,i-j-1)+str[i];
end;
end;
j:=i;
end;
s1:=copy(s,j+1,i-j);
ary1.Close;
ary1.SQL.Clear;
ary1.SQL.Text:='select * from syssalfields where chinename='''+s1+'''';
ary1.Open;
if not ary1.Eof then
begin
sal:=sal+ary1.fieldbyname('name').asstring;
qry2.Close;
qry2.SQL.Clear;
qry2.SQL.Text:='select calmore from ztandp where penglishname='''+ary1.fieldbyname('name').asstring+'''';
qry2.Open;
if datamod.adoztandp.fieldbyname('calmore').asinteger<=qry2.fieldbyname('calmore').asinteger then
datamod.ADOztandp.FieldByName('calmore').asinteger:=qry2.fieldbyname('calmore').asinteger+1;
end
else
sal:=sal+copy(s,j+1,i-j);
end
else
datamod.ADOztandp.FieldByName('calmore').asinteger:=0;
if trim(datamod.ADOztandp.fieldbyname('calmore').asstring)='' then
datamod.ADOztandp.FieldByName('calmore').asinteger:=0;
datamod.ADOztandp.fieldbyname('calfromenglish').asstring:=sal;
end;
procedure TFormaddzt1.DBGrid1DblClick(Sender: TObject);
begin
edit1.Text:=adodataset2.fieldbyname('gongshi').asstring;
end;
procedure TFormaddzt1.Button8Click(Sender: TObject);
begin
if adodataset2.State=dsedit then
adodataset2.Post;
groupbox3.Visible:=false;
groupbox2.Visible:=true;
groupbox2.align:=alclient;
end;
procedure TFormaddzt1.Button7Click(Sender: TObject);
begin
edit1.Text:=adodataset2.fieldbyname('gongshi').asstring;
end;
procedure TFormaddzt1.Button6Click(Sender: TObject);
begin
if application.MessageBox(pchar('确定要删除'+adodataset2.fieldbyname('gongshi').asstring+'公式吗?'),'提示',mb_okcancel+mb_iconwarning)=idok then
adodataset2.Delete;
end;
procedure TFormaddzt1.Button5Click(Sender: TObject);
begin
adodataset2.Insert;
button:=true;
panel2.Visible:=true;
end;
procedure TFormaddzt1.Edit1Click(Sender: TObject);
begin
start:=edit1.SelStart;
end;
procedure TFormaddzt1.Button9Click(Sender: TObject);
begin
if trim(dbedit1.text)='' then
application.MessageBox('对不起,函数名不能为空','提示',mb_ok)
else
begin
if (adodataset2.State=dsedit) or(adodataset2.State=dsinsert) then
adodataset2.Post;
if button then
begin
if application.MessageBox('是否继续增加?','提示',mb_okcancel+mb_iconinformation)=idok then
adodataset2.Insert
else
panel2.Visible:=false;
end
else
panel2.Visible:=false;
end;
end;
procedure TFormaddzt1.Button10Click(Sender: TObject);
begin
adodataset2.Cancel;
panel2.Visible:=false;
end;
procedure TFormaddzt1.Button11Click(Sender: TObject);
begin
button:=false;
adodataset2.Edit ;
panel2.Visible:=true;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -