📄 xisms.pas
字号:
end;
end;
procedure TMainForm.ButtondelClick(Sender: TObject);
var
j:integer;
s:string;
s1:string;
i:integer;
begin
i:=DBGrid1.SelectedIndex;
if DBGrid1.SelectedRows.Count>0 then
with DBGrid1.DataSource.DataSet do
for j:=0 to DBGrid1.SelectedRows.Count-1 do
begin
GotoBookmark(pointer(DBGrid1.SelectedRows.Items[j]));
s:=Fields[0].AsString;
s1:=Fields[1].AsString;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('Delete from ClientInfo');
ADOQuery1.SQL.Add('Where ClientRecordID=:ClientRecordID');
ADOQuery1.Parameters.ParamByName('ClientRecordID').Value:=s;
ADOQuery1.ExecSQL;
if ADOQuery1.Active then
ADOQuery1.Active:=false;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('Select * from ClientInfo');
ADOQuery1.SQL.Add('Where ClientName=:MyClientName');
ADOQuery1.Parameters.ParamByName('MyClientName').Value:=s1;
ADOQUery1.Open;
end;
end;
procedure TMainForm.ButtonModifyClick(Sender: TObject);
var
j:integer;
s:string;
s1:string;
i:integer;
begin
if DBGrid1.SelectedRows.Count>0 then
with DBGrid1.DataSource.DataSet do
begin
GotoBookmark(pointer(DBGrid1.SelectedRows.Items[0]));
s:=Fields[0].AsString;
if ADOQuery1.Active then
ADOQuery1.Active:=false;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('Update ClientInfo');
ADOQuery1.SQL.Add('Set ClientName=:MyClientName,EnterpriseName=:MyEnterpriseName,ClientProductor=:MyClientProductor,ClientProductorID=:MyClientProductorID,ClientBuyDate=:MyClientBuyDate,EnterpriseTel=:MyEnterpriseTel');
ADOQuery1.SQL.Add('Where ClientRecordID=:MyClientRecordID');
ADOQuery1.Parameters.ParamByName('MyEnterpriseName').Value:=MainForm.EnterPriseNameAddDB.Text;
ADOQuery1.Parameters.ParamByName('MyClientName').Value:=AddClientName.Text;
ADOQuery1.Parameters.ParamByName('MyClientProductor').Value:=AddProductName.Text;
ADOQuery1.Parameters.ParamByName('MyClientProductorID').Value:=AddProductID.Text ;
ADOQuery1.Parameters.ParamByName('MyClientBuyDate').Value:=AddbuyDate.Text;
ADOQuery1.Parameters.ParamByName('MyClientRecordID').Value:=s;
ADOQuery1.Parameters.ParamByName('MyEnterpriseTel').Value:=MainForm.EnterPriseTelAddDB.Text;
ADOQUery1.ExecSQL;
if ADOQuery1.Active then
ADOQuery1.Active:=false;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('Select * from ClientInfo');
ADOQuery1.SQL.Add('Where ClientName=:MyClientName');
ADOQuery1.Parameters.ParamByName('MyClientName').Value:=AddClientName.Text;
ADOQUery1.Open;
end;
end;
procedure TMainForm.DBGrid1CellClick(Column: TColumn);
var
j:integer;
s:string;
s1:string;
begin
if DBGrid1.SelectedRows.Count>0 then
with DBGrid1.DataSource.DataSet do
begin
GotoBookmark(pointer(DBGrid1.SelectedRows.Items[0]));
s:=Fields[0].AsString;
mainform.EnterPriseNameAddDB.Text:= Fields[1].AsString;
AddClientName.Text := Fields[2].AsString;
AddProductName.Text :=Fields[3].AsString;
AddProductID.Text := Fields[4].AsString;
AddbuyDate.Text :=Fields[5].AsString;
Mainform.EnterPriseTelAddDB.Text:=Fields[7].AsString;;
end;
end;
function TMainForm.Checkdatabase(ProductID:string):boolean;
begin
if ProductID='' then
result:=false;
if ADOQuery1.Active then
ADOQuery1.Active:=false;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('Select * from ClientInfo');
ADOQuery1.SQL.Add('Where ClientProductorID=:MyClientProductorID');
ADOQuery1.Parameters.ParamByName('MyClientProductorID').Value:=ProductID;
//ADOQuery1.ExecSQL;
ADOQUery1.Open;
if (ADOQuery1.RecordCount=0) then
begin
result:=false;
end
else
result:=True;
end;
function TMainForm.UpdateQuery(ProductID:string;QueryDate:string): string;
var
Str:string;
DateTemp :TDateTime;
begin
if QueryDate=''then
DateTemp:=now
else
DateTemp:= strtoDateTime(QueryDate);
if ADOQuery1.Active then
ADOQuery1.Active:=false;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('Select * from ClientInfo');
ADOQuery1.SQL.Add('Where ClientProductorID=:MyClientProductorID');
ADOQuery1.Parameters.ParamByName('MyClientProductorID').Value:=ProductID;
//ADOQuery1.ExecSQL;
ADOQUery1.Open;
if VarIsNull(ADOQUery1['ClientQueryDate']) then
str:= DateTimetostr(now)
else
Str:=DateTimetostr(ADOQUery1['ClientQueryDate']);
if ADOQuery1.Active then
ADOQuery1.Active:=false;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('Update ClientInfo');
ADOQuery1.SQL.Add('Set ClientQueryDate=:MyClientQueryDate');
ADOQuery1.SQL.Add('Where ClientProductorID=:MyClientProductorID');
ADOQuery1.Parameters.ParamByName('MyClientQueryDate').Value:=DateTemp;
ADOQuery1.Parameters.ParamByName('MyClientProductorID').Value:=ProductID;
ADOQUery1.ExecSQL;
result:=Str;
end;
function TMainForm.ReplayQuery(FromPhoneNumber:string;ProductID:string;QueryDate:string): Boolean;
var
returnsms ,str:string;
begin
if(Checkdatabase(ProductID)) then
begin
returnsms:='Success';
str:=UpdateQuery(ProductID,QueryDate);
returnsms:=returnsms+' and last query time is '+str;
end
else
begin
returnsms:='failed';
end;
if ProductID='' then
result:=false;
if FromPhoneNumber ='' then
result:=false;
if not SendSMS(FromPhoneNumber, str, True, false,false) then
result:=false
else
result:=true;
end;
procedure TMainForm.Button1Click(Sender: TObject);
var
QueryThread:QueryDatabase;
ADOQuery2:TADOQuery;
begin
{ ADOQuery2:=TADOQuery.Create(Application);
ADOQuery2.Connection:=ADOConnection1;
QueryThread:= QueryDatabase.Create;
QueryThread.Setparams('test','test',DateTimeToStr(now),ADOQuery2);
QueryThread.Resume; }
CreateProductUID(8);
end;
function TMainForm.CreateProductUID(IDNum:integer):string;
var
DateTime1:TDateTime;
n:integer;
s,str:string;
timetemp:TTimeStamp;
codelength:integer;
strlength:integer;
begin
strlength:=Length(ProductorIDCode);
if(strlength<=0) then
begin
ProductorIDCode:='12';
end
else if(strlength=1) then
begin
s:=s+'2';
end
else if(strlength>=2)then
begin
s:=Copy(ProductorIDCode,0,2);
end;
strlength:=Length(warebasecode);
if(strlength<=0) then
begin
warebasecode:='12';
end
else if(strlength=1) then
begin
s:=s+'4';
end
else if(strlength>=2)then
begin
s:=s+Copy(warebasecode,0,2);
end;
DateTime1:=now;
str:=FormatDateTime('yymmddhhnnss',DateTime1);
s:=s+str;
codelength:= ProductorIDCodeLength-16;
if(codelength<=0)then
begin
result:=s;
end
else if(codelength=1)then
begin
Randomize;
n := 1 + Random(9 - 1);
str:= inttostr(n);
s:=s+str;
result:=s;
end
else if(codelength=2)then
begin
Randomize;
n := 11 + Random(99 - 11);
str:= inttostr(n);
s:=s+str;
result:=s;
end
else if(codelength=3)then
begin
Randomize;
n := 111 + Random(999 - 111);
str:= inttostr(n);
s:=s+str;
result:=s;
end
else if(codelength=4)then
begin
Randomize;
n := 1111 + Random(9999 - 1111);
str:= inttostr(n);
s:=s+str;
result:=s;
end
else if(codelength=5)then
begin
Randomize;
n := 11111 + Random(99999 - 11111);
str:= inttostr(n);
s:=s+str;
result:=s;
end
else if(codelength>=6)then
begin
Randomize;
n := 111111 + Random(999999 - 111111);
str:= inttostr(n);
s:=s+str;
result:=s;
end
// DateTimeToString(str,ShortMonthNames,DateTime1);
//timetemp:=DateTimeToTimeStamp(DateTime1);
//s:=DateTimeTostr(DateTime1);
// S:=inttostr(timetemp.Date);
//s:=S+inttostr(timetemp.Time);
//result:=s;
end;
procedure TMainForm.ModifyLocalSetButtonClick(Sender: TObject);
var
myReg:TRegistry;
strlength :integer;
begin
FilePath:=MainForm.LocalDatabasePath.Text;
if mainform.ReturnResultCheckBox.Checked then
ReturnResult:=true
else
ReturnResult:=false;
EnterpriseName:=MainForm.EnterpriseNameEdit.Text;
EnterpriseTel:=EnterpriseTelEdit.Text;
strlength:=Length(IDCode.Text);
if(strlength=2) then
begin
ProductorIDCode := IDCode.Text;
end
else
begin
showMessage('error ,厂家的识别码应该为两位');
end;
strlength:=Length(WareBaseCodeEdit.Text);
if(strlength=2) then
begin
WareBaseCode := WareBaseCodeEdit.Text;
end
else
begin
showMessage('error ,商品代码应该为两位');
end;
ProductorIDCodeLength := StrToInt(ProductIDLengthEdit.Text);
if(ProductorIDCodeLength<16)then
begin
showMessage('error ,应该为16-22之间的数');
end
else if(ProductorIDCodeLength>22) then
begin
showMessage('error ,应该为16-22之间的数');
end
else
begin
ProductorIDCodeLength := StrToInt(ProductIDLengthEdit.Text);
end;
myReg:=TRegistry.create;
myReg.RootKey:=HKEY_LOCAL_MACHINE;
try
if (myReg.OpenKey('\Software\Phinex',true)) then
begin
myReg.WriteString('DBPath',FilePath);
myReg.WriteBool('ReturnResult',ReturnResult);
myReg.WriteString('EnterpriseName',EnterpriseName);
myReg.WriteString('EnterpriseTel',EnterpriseTel);
myReg.WriteString('ProductorIDCode',ProductorIDCode);
myReg.WriteInteger('ProductorIDCodeLength',ProductorIDCodeLength);
myReg.WriteString('WareBaseCode',WareBaseCode);
myReg.CloseKey;
end;
finally
myReg.Free;
end;
end;
procedure TMainForm.RadioButtonAddClick(Sender: TObject);
begin
if(RadioButtonAdd.Checked)then
begin
AddBuyDate.Text :=DateToStr(now);
Mainform.EnterPriseNameAddDB.Text:= EnterPriseName;
MainForm.EnterPriseTelAddDB.Text:= EnterPriseTel;
AddProductID.Text:=CreateProductUID(18);
ButtonAdd.Enabled:=True;
ButtonModify.Enabled:=false;
end;
end;
procedure TMainForm.RadioButtonModifyClick(Sender: TObject);
begin
if mainform.RadioButtonModify.Checked then
begin
ButtonAdd.Enabled:=false;
ButtonModify.Enabled:=True;
end;
end;
procedure TMainForm.ButtonResultQueryClick(Sender: TObject);
begin
if RadioButtonQuery.Checked then
begin
if ADOQuery2.Active then
ADOQuery2.Active:=false;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add('Select * from ClientInfo');
ADOQuery2.SQL.Add('Where LastQueryResult=:MyLastQueryResult');
ADOQuery2.Parameters.ParamByName('MyLastQueryResult').Value:=true;
//ADOQuery1.ExecSQL;
ADOQUery2.Open;
if (ADOQuery2.RecordCount=0) then
begin
ShowMessage('您所查找的纪录不存在!');
end
end
else if RadioButtonQueryError.Checked then
begin
if ADOQuery2.Active then
ADOQuery2.Active:=false;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add('Select * from Errortable');
//ADOQuery1.ExecSQL;
ADOQUery2.Open;
if (ADOQuery2.RecordCount=0) then
begin
ShowMessage('您所查找的纪录不存在!');
end
end;
end;
procedure TMainForm.EnterpriseRadioButtonClick(Sender: TObject);
begin
if EnterpriseRadioButton.Checked then
begin
RadioProductID.Checked:=false;
RadioProductName.Checked:=false;
RadioClientName.Checked:=false;
EditClientName.Enabled:=false;
EditProductName.Enabled:=false;
EditProductID.Enabled:=false;
EnterpriseQueryEdit1.Enabled:=True;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -