📄 bas_findipdata.pas
字号:
+ ' <td rowspan="2" align="center" valign="middle">公司名称</td>'
+ ' <td height="21" colspan="3">' + DataQuery.fieldbyname('ChineseName').AsString
+ ' </td> </tr> <tr>'
+ ' <td height="21" colspan="3">' + DataQuery.fieldbyname('EnglishName').AsString
+ ' </td> </tr> <tr>'
+ ' <td height="19" align="center" valign="middle">网址</td>'
+ ' <td colspan="3">' + DataQuery.fieldbyname('WebSite').AsString
+ ' </td> </tr> <tr>'
+ ' <td height="23" align="center" valign="middle">产品服务</td>'
+ ' <td colspan="3">' + DataQuery.fieldbyname('ServiceAndProduct').AsString
+ ' </td> </tr> <tr> '
+ ' <td height="22" align="center" valign="middle">电话</td>'
+ ' <td>' + Str4
+ ' </td> <td>EMail</td><td>'
+ DataQuery.fieldbyname('EmailAddress').AsString
+ ' </td> </tr> <tr>'
+ ' <td height="22" align="center" valign="middle">传真</td>'
+ ' <td>' + DataQuery.fieldbyname('FaxNo').AsString
+ ' </td> <td>地址</td>'
+ ' <td>' + DataQuery.fieldbyname('Address').AsString
+ ' </td> </tr> </table><br>';
end;
end;
if (SID = 8) then
begin
Str3 := DataQuery.fieldbyname('FaxNo').AsString;
Point1 := MyPos(KeyWord, Str3);
if (Point1 > 0) then
begin
Point2 := Point1 + Length(KeyWord);
Str4 := '<Font Color=Black>' + Copy(DataQuery.fieldbyname('FaxNo').AsString, 1, Point1 - 1);
Str4 := Str4 + '</Font><Font Color=Red>' + KeyWord + '</font><Font Color=Black>';
Str4 := Str4 + Copy(DataQuery.fieldbyname('FaxNo').AsString, Point2, Length(Str3) - 1) + '</Font>';
Str2 := Str2 + '<table width="600" border="1" border="1" cellspacing="0" cellpadding="1" bordercolordark="#EFEFEF" bordercolorlight="#111111">'
+ ' <tr>'
+ ' <td width="61" height="22" align="center" valign="middle">行业名称</td>'
+ '<td width="226">' + DataQuery.fieldbyname('SortName').AsString + ' </td>'
+ '<td width="42">排位</td>'
+ ' <td width="243">' + DataQuery.fieldbyname('OrderID').AsString
+ ' </td> </tr> <tr>'
+ ' <td rowspan="2" align="center" valign="middle">公司名称</td>'
+ ' <td height="21" colspan="3">' + DataQuery.fieldbyname('ChineseName').AsString
+ ' </td> </tr> <tr>'
+ ' <td height="21" colspan="3">' + DataQuery.fieldbyname('EnglishName').AsString
+ ' </td> </tr> <tr>'
+ ' <td height="19" align="center" valign="middle">网址</td>'
+ ' <td colspan="3">' + DataQuery.fieldbyname('WebSite').AsString
+ ' </td> </tr> <tr>'
+ ' <td height="23" align="center" valign="middle">产品服务</td>'
+ ' <td colspan="3">' + DataQuery.fieldbyname('ServiceAndProduct').AsString
+ ' </td> </tr> <tr> '
+ ' <td height="22" align="center" valign="middle">电话</td>'
+ ' <td>' + DataQuery.fieldbyname('PhoneNo').AsString
+ ' </td> <td>EMail</td><td>'
+ DataQuery.fieldbyname('EmailAddress').AsString
+ ' </td> </tr> <tr>'
+ ' <td height="22" align="center" valign="middle">传真</td>'
+ ' <td>' + Str4
+ ' </td> <td>地址</td>'
+ ' <td>' + DataQuery.fieldbyname('Address').AsString
+ ' </td> </tr> </table><br>';
end;
end;
if (SID = 9) then
begin
Str3 := DataQuery.fieldbyname('EmailAddress').AsString;
Point1 := MyPos(KeyWord, Str3);
if (Point1 > 0) then
begin
Point2 := Point1 + Length(KeyWord);
Str4 := '<Font Color=Black>' + Copy(DataQuery.fieldbyname('EmailAddress').AsString, 1, Point1 - 1);
Str4 := Str4 + '</Font><Font Color=Red>' + KeyWord + '</font><Font Color=Black>';
Str4 := Str4 + Copy(DataQuery.fieldbyname('EmailAddress').AsString, Point2, Length(Str3) - 1) + '</Font>';
Str2 := Str2 + '<table width="600" border="1" border="1" cellspacing="0" cellpadding="1" bordercolordark="#EFEFEF" bordercolorlight="#111111">'
+ ' <tr>'
+ ' <td width="61" height="22" align="center" valign="middle">行业名称</td>'
+ '<td width="226">' + DataQuery.fieldbyname('SortName').AsString + ' </td>'
+ '<td width="42">排位</td>'
+ ' <td width="243">' + DataQuery.fieldbyname('OrderID').AsString
+ ' </td> </tr> <tr>'
+ ' <td rowspan="2" align="center" valign="middle">公司名称</td>'
+ ' <td height="21" colspan="3">' + DataQuery.fieldbyname('ChineseName').AsString
+ ' </td> </tr> <tr>'
+ ' <td height="21" colspan="3">' + DataQuery.fieldbyname('EnglishName').AsString
+ ' </td> </tr> <tr>'
+ ' <td height="19" align="center" valign="middle">网址</td>'
+ ' <td colspan="3">' + DataQuery.fieldbyname('WebSite').AsString
+ ' </td> </tr> <tr>'
+ ' <td height="23" align="center" valign="middle">产品服务</td>'
+ ' <td colspan="3">' + DataQuery.fieldbyname('ServiceAndProduct').AsString
+ ' </td> </tr> <tr> '
+ ' <td height="22" align="center" valign="middle">电话</td>'
+ ' <td>' + DataQuery.fieldbyname('PhoneNo').AsString
+ ' </td> <td>EMail</td><td>'
+ DataQuery.fieldbyname('EmailAddress').AsString
+ ' </td> </tr> <tr>'
+ ' <td height="22" align="center" valign="middle">传真</td>'
+ ' <td>' + DataQuery.fieldbyname('FaxNo').AsString
+ ' </td> <td>地址</td>'
+ ' <td>' + DataQuery.fieldbyname('Address').AsString
+ ' </td> </tr> </table><br>';
end;
end;
DataQuery.Next;
end;
DataQuery.EnableControls;
DataQuery.First;
Str5 := '</body> </html>';
Memo1.Lines.Add(Str1 + Str2 + Str5);
Memo1.Lines.SaveToFile('Result.htm');
ShellExecute(handle, 'open', PChar(SysUtils.ExtractFilePath(Application.ExeName) + '\Result.htm'), nil, nil, sw_shownormal);
end;
procedure TBas_FindIPDataForm.ReadRec(RecID: string);
var
SQL_Str : string;
begin
if (RecID <> '') then
begin
SQL_Str := 'Select * From Bas_IPRecord Where (ID=' + RecID + ')';
WorkQuery.Active := False;
WorkQuery.SQL.Clear;
WorkQuery.SQL.Add(SQL_Str);
WorkQuery.Open;
if (WorkQuery.RecordCount > 0) then
begin
Label12.Caption := RecID;
Edit1.Text := WorkQuery.fieldbyname('SortName').AsString;
Edit2.Text := WorkQuery.fieldbyname('EnglishName').AsString;
Edit3.Text := WorkQuery.fieldbyname('ChineseName').AsString;
Edit4.Text := WorkQuery.fieldbyname('WebSite').AsString;
Edit5.Text := WorkQuery.fieldbyname('ServiceAndProduct').AsString;
Edit6.Text := WorkQuery.fieldbyname('PhoneNo').AsString;
Edit7.Text := WorkQuery.fieldbyname('FaxNo').AsString;
Edit8.Text := WorkQuery.fieldbyname('EMailAddress').AsString;
Edit9.Text := WorkQuery.fieldbyname('Address').AsString;
Edit10.Text := WorkQuery.fieldbyname('OrderID').AsString;
end;
end;
end;
procedure TBas_FindIPDataForm.DBGridEh1DblClick(Sender: TObject);
begin
if (DataQuery.RecordCount <= 0) then
begin
ShowMessage('没有可以查看的记录, 请先查询出记录再进行查询!');
end
else
begin
Self.ReadRec(DataQuery.fieldbyname('ID').AsString);
end;
end;
function TBas_FindIPDataForm.MyPos(SubStr, Str: string): Integer;
begin
Result := Pos(LowerCase(SubStr), Str);
if Result = 0 then
Result := Pos(UpperCase(SubStr), Str);
end;
procedure TBas_FindIPDataForm.DataQueryAfterOpen(DataSet: TDataSet);
begin
Label11.Caption := '总共有: ' + inttostr(DataQuery.RecordCount) + ' 条记录';
end;
procedure TBas_FindIPDataForm.RzToolButton1Click(Sender: TObject);
begin
if (DataQuery.RecordCount > 0) then
begin
if (Application.MessageBox('真的要删除选中的记录吗?', '系统提示', MB_YESNO + MB_ICONWARNING) = 6) then
begin
DataQuery.Edit;
DataQuery.Delete;
DataQuery.Active := False;
DataQuery.Active := True;
end
else
begin
Abort;
end;
end
else
begin
ShowMessage('没有可以删除的记录, 请重新选择!');
end;
end;
procedure TBas_FindIPDataForm.GetCon(Sort, Strs: string);
var
Str3 : string;
Str1 : string;
I, J : Word;
Point0 : Word;
Point1 : Word;
begin
Str3 := Strs + ' ';
Str3 := StringReplace(Str3, ' ', ' ', [rfReplaceAll, rfIgnoreCase]);
Str3 := StringReplace(Str3, ' ', ' ', [rfReplaceAll, rfIgnoreCase]);
Str3 := StringReplace(Str3, ' ', ' ', [rfReplaceAll, rfIgnoreCase]);
Point0 := 1;
Constr := '';
I := SearchChar(Str3, ' ') + 1;
for J := 1 to I do
begin
Point1 := Pos(' ', Str3);
Str1 := Copy(Str3, Point0, Point1);
Str3 := StringReplace(Str3, Str1, '', []);
Str1 := StringReplace(Str1, ' ', '', []);
if (Str1 <> '') then
begin
Constr := Constr + ' AND (' + Sort + ' Like ' + #39 + '%' + Str1 + '%' + #39 + ')';
end;
end;
end;
procedure TBas_FindIPDataForm.RichEdit1MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
if (RichEdit1.SelText <> '') then
begin
ShowMessage(RichEdit1.SelText);
end;
end;
procedure TBas_FindIPDataForm.RzToolButton2Click(Sender: TObject);
begin
if (DataQuery.RecordCount <= 0) then
begin
ShowMessage('没有网址信息可以查看,请设置好条件然后再进行查看!');
end
else
begin
if (SortNameKey <> '') then
begin
Self.BuilderNote(1, SortNameKey);
end;
if (CNameKey <> '') then
begin
Self.BuilderNote(2, CNameKey);
end;
if (ENameKey <> '') then
begin
Self.BuilderNote(3, ENameKey);
end;
if (WebsiteKey <> '') then
begin
Self.BuilderNote(4, WebsiteKey);
end;
if (PSKey <> '') then
begin
Self.BuilderNote(5, PSKey);
end;
if (AddressKey <> '') then
begin
Self.BuilderNote(6, AddressKey);
end;
if (PhoneKey <> '') then
begin
Self.BuilderNote(7, PhoneKey);
end;
if (FaxKey <> '') then
begin
Self.BuilderNote(8, FaxKey);
end;
if (EmailKey <> '') then
begin
Self.BuilderNote(9, EmailKey);
end;
end;
end;
procedure TBas_FindIPDataForm.BuilderNote(SID: Integer; KeyWord: string);
var
Str3 : string;
Str1 : string;
I, J : Word;
Point0 : Word;
Point1 : Word;
begin
RichEdit1.Clear;
DataQuery.First;
DataQuery.DisableControls;
RichEdit1.Lines.Add('总的记录数量: ' + inttostr(DataQuery.RecordCount));
RichEdit1.Lines.Add('================================================================');
while DataQuery.Eof = False do
begin
RichEdit1.Lines.Add('行业名称: ' + DataQuery.fieldbyname('SortName').AsString + ' 排位: ' + DataQuery.fieldbyname('OrderID').AsString);
RichEdit1.Lines.Add('企业名称(中文名称): ' + DataQuery.fieldbyname('ChineseName').AsString);
RichEdit1.Lines.Add('企业名称(英文名称): ' + DataQuery.fieldbyname('EnglishName').AsString);
RichEdit1.Lines.Add('网址: ' + DataQuery.fieldbyname('WebSite').AsString);
RichEdit1.Lines.Add('产品服务: ' + DataQuery.fieldbyname('ServiceAndProduct').AsString);
RichEdit1.Lines.Add('电话: ' + DataQuery.fieldbyname('PhoneNo').AsString);
RichEdit1.Lines.Add('传真: ' + DataQuery.fieldbyname('FaxNo').AsString);
RichEdit1.Lines.Add('电邮: ' + DataQuery.fieldbyname('EMailAddress').AsString);
RichEdit1.Lines.Add('地址: ' + DataQuery.fieldbyname('Address').AsString);
RichEdit1.Lines.Add('------------------------------------------------------------------');
DataQuery.Next;
end;
DataQuery.First;
DataQuery.EnableControls;
RichEdit1.SelLength := 0;
RichEdit1.SelStart := 0; // here we go
RichEdit1.Perform(EM_SCROLLCARET, 0, 0); // ensure viewport is right
TabSheet2.Show;
Str3 := KeyWord + ' ';
Str3 := StringReplace(Str3, ' ', ' ', [rfReplaceAll, rfIgnoreCase]);
Str3 := StringReplace(Str3, ' ', ' ', [rfReplaceAll, rfIgnoreCase]);
Str3 := StringReplace(Str3, ' ', ' ', [rfReplaceAll, rfIgnoreCase]);
Point0 := 1;
Constr := '';
I := SearchChar(Str3, ' ') + 1;
for J := 1 to I do
begin
Point1 := Pos(' ', Str3);
Str1 := Copy(Str3, Point0, Point1);
Str3 := StringReplace(Str3, Str1, '', []);
Str1 := StringReplace(Str1, ' ', '', []);
if (Str1 <> '') then
begin
MarkKeyword(Str1);
end;
end;
end;
procedure TBas_FindIPDataForm.MarkKeyword(KStr: string);
var
Found : Longint;
startpos, Toend: Integer;
begin
with RichEdit1 do
begin
if SelLength <> 0 then
startpos := SelStart + SelLength
else
startpos := 0;
Toend := Length(Text) - startpos;
Found := 0;
while Found <> -1 do
begin
Found := FindText(KStr, startpos, Toend, []);
if Found <> -1 then
begin
SetFocus;
SelStart := Found;
SelLength := Length(KStr);
RichEdit1.SelAttributes.Color := clred;
SelLength := 0;
startpos := Found + 1;
end;
end;
end;
end;
procedure TBas_FindIPDataForm.N1Click(Sender: TObject);
begin
if (RichEdit1.SelText <> '') then
begin
DataQuery.Locate('SortName', RichEdit1.SelText, [loPartialKey]);
Self.ReadRec(DataQuery.fieldbyname('序号').AsString);
TabSheet1.Show;
end;
end;
procedure TBas_FindIPDataForm.N2Click(Sender: TObject);
begin
if (RichEdit1.SelText <> '') then
begin
DataQuery.Locate('ChineseName', RichEdit1.SelText, [loPartialKey]);
Self.ReadRec(DataQuery.fieldbyname('ID').AsString);
TabSheet1.Show;
end;
end;
procedure TBas_FindIPDataForm.N3Click(Sender: TObject);
begin
if (RichEdit1.SelText <> '') then
begin
DataQuery.Locate('EnglishName', RichEdit1.SelText, [loPartialKey]);
Self.ReadRec(DataQuery.fieldbyname('ID').AsString);
TabSheet1.Show;
end;
end;
procedure TBas_FindIPDataForm.N4Click(Sender: TObject);
begin
if (RichEdit1.SelText <> '') then
begin
DataQuery.Locate('WebSite', RichEdit1.SelText, [loPartialKey]);
Self.ReadRec(DataQuery.fieldbyname('ID').AsString);
TabSheet1.Show;
end;
end;
procedure TBas_FindIPDataForm.N5Click(Sender: TObject);
begin
if (RichEdit1.SelText <> '') then
begin
DataQuery.Locate('ServiceAndProduct', RichEdit1.SelText, [loPartialKey]);
Self.ReadRec(DataQuery.fieldbyname('ID').AsString);
TabSheet1.Show;
end;
end;
procedure TBas_FindIPDataForm.N6Click(Sender: TObject);
begin
if (RichEdit1.SelText <> '') then
begin
DataQuery.Locate('Address', RichEdit1.SelText, [loPartialKey]);
Self.ReadRec(DataQuery.fieldbyname('ID').AsString);
TabSheet1.Show;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -