bas_findipdata.pas
来自「这是一个为友人所写的小程序, 实现了分段模糊查询, 网页生成等小功能!」· PAS 代码 · 共 1,253 行 · 第 1/3 页
PAS
1,253 行
unit Bas_FindIPData;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, Grids, DBGridEh, cxControls, cxContainer, cxEdit,
cxTextEdit, cxMaskEdit, cxButtonEdit, DBRBEdit, StdCtrls, RzTabs,
RzPanel, RzButton, ExtCtrls, ToolWin, DB, MemDS, DBAccess, MSAccess,
Buttons, cxMemo, SWNumEdit, ShellAPI, IdBaseComponent, IdAntiFreezeBase,
IdAntiFreeze, Menus;
type
TBas_FindIPDataForm = class(TForm)
CoolBar1: TCoolBar;
RzToolbar1: TRzToolbar;
ToolButton1: TRzToolButton;
ToolButton3: TRzToolButton;
ToolButton5: TRzToolButton;
RzSpacer1: TRzSpacer;
RzSpacer2: TRzSpacer;
RzSpacer4: TRzSpacer;
RzSpacer6: TRzSpacer;
StatusBar1: TStatusBar;
DataSource1: TDataSource;
DataQuery: TMSQuery;
WorkQuery: TMSQuery;
IdAntiFreeze1: TIdAntiFreeze;
RzToolButton1: TRzToolButton;
RzSpacer3: TRzSpacer;
RzPageControl1: TRzPageControl;
TabSheet1: TRzTabSheet;
TabSheet2: TRzTabSheet;
GroupBox1: TGroupBox;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label1: TLabel;
Label2: TLabel;
SpeedButton1: TSpeedButton;
Label12: TLabel;
Label11: TLabel;
Edit1: TDBRBEdit;
Edit2: TDBRBEdit;
Edit3: TDBRBEdit;
Edit4: TDBRBEdit;
Edit6: TDBRBEdit;
Edit7: TDBRBEdit;
Edit8: TDBRBEdit;
Edit9: TDBRBEdit;
Edit10: TSWNumEdit;
Edit5: TcxMemo;
Memo1: TMemo;
DBGridEh1: TDBGridEh;
RichEdit1: TRichEdit;
RzToolButton2: TRzToolButton;
RzSpacer5: TRzSpacer;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
procedure ToolButton1Click(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure ToolButton5Click(Sender: TObject);
procedure Edit1PropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure Edit3PropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure Edit2PropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure Edit4PropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure SpeedButton1Click(Sender: TObject);
procedure Edit6PropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure Edit8PropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure Edit7PropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure Edit9PropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure DBGridEh1DblClick(Sender: TObject);
procedure DataQueryAfterOpen(DataSet: TDataSet);
procedure RzToolButton1Click(Sender: TObject);
procedure RichEdit1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure RzToolButton2Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure N6Click(Sender: TObject);
private
SortNameKey: string;
CNameKey: string;
ENameKey: string;
WebsiteKey: string;
PSKey: string;
AddressKey: string;
PhoneKey: string;
FaxKey: string;
EmailKey: string;
Constr: string;
procedure ReadRec(RecID: string);
procedure BuilderWeb(SID: Integer; KeyWord: string);
function MyPos(SubStr, Str: string): Integer;
procedure GetCon(Sort, Strs: string);
procedure BuilderNote(SID: Integer; KeyWord: string);
procedure MarkKeyword(KStr: string);
public
{ Public declarations }
end;
var
Bas_FindIPDataForm: TBas_FindIPDataForm;
implementation
uses Main, Bas_ShowIPData;
{$R *.dfm}
function SearchChar(AString: WideString; AChar: PWideChar): Integer;
var
I : Integer;
begin
Result := 0;
for I := 1 to Length(AString) do
if AString[I] = AChar^ then
Inc(Result);
end;
procedure TBas_FindIPDataForm.ToolButton1Click(Sender: TObject);
var
SQL_Str : string;
begin
if (Edit1.Text = '') then
begin
ShowMessage('请选择所属的类别, 然后再进行保存!');
TabSheet1.Show;
Edit1.SetFocus;
Abort;
end;
if (Edit3.Text = '') then
begin
ShowMessage('请输入网址信息, 然后再进行保存!');
TabSheet1.Show;
Edit3.SetFocus;
Abort;
end;
SQL_Str := 'Select TOP 1 * From Bas_IPRecord Where (ID=' + Label12.Caption + ')';
WorkQuery.Active := False;
WorkQuery.SQL.Clear;
WorkQuery.SQL.Add(SQL_Str);
WorkQuery.Open;
WorkQuery.Edit;
WorkQuery.fieldbyname('SortName').AsString := Edit1.Text;
WorkQuery.fieldbyname('EnglishName').AsString := Edit2.Text;
WorkQuery.fieldbyname('ChineseName').AsString := Edit3.Text;
WorkQuery.fieldbyname('WebSite').AsString := Edit4.Text;
WorkQuery.fieldbyname('ServiceAndProduct').AsString := Edit5.Text;
WorkQuery.fieldbyname('Address').AsString := Edit9.Text;
WorkQuery.fieldbyname('PhoneNo').AsString := Edit6.Text;
WorkQuery.fieldbyname('FaxNo').AsString := Edit7.Text;
WorkQuery.fieldbyname('EMailAddress').AsString := Edit8.Text;
WorkQuery.fieldbyname('OrderID').AsString := Edit10.Text;
WorkQuery.Post;
ShowMessage('您修改的网址信息数据已经保存到数据库!');
DataQuery.Active := False;
DataQuery.Active := True;
end;
procedure TBas_FindIPDataForm.ToolButton3Click(Sender: TObject);
begin
if (DataQuery.RecordCount <= 0) then
begin
ShowMessage('没有网址信息可以查看,请设置好条件然后再进行查看!');
end
else
begin
if (SortNameKey <> '') then
begin
Self.BuilderWeb(1, SortNameKey);
end;
if (CNameKey <> '') then
begin
Self.BuilderWeb(2, CNameKey);
end;
if (ENameKey <> '') then
begin
Self.BuilderWeb(3, ENameKey);
end;
if (WebsiteKey <> '') then
begin
Self.BuilderWeb(4, WebsiteKey);
end;
if (PSKey <> '') then
begin
Self.BuilderWeb(5, PSKey);
end;
if (AddressKey <> '') then
begin
Self.BuilderWeb(6, AddressKey);
end;
if (PhoneKey <> '') then
begin
Self.BuilderWeb(7, PhoneKey);
end;
if (FaxKey <> '') then
begin
Self.BuilderWeb(8, FaxKey);
end;
if (EmailKey <> '') then
begin
Self.BuilderWeb(9, EmailKey);
end;
//显示该网页
end;
end;
procedure TBas_FindIPDataForm.ToolButton5Click(Sender: TObject);
begin
Close;
end;
procedure TBas_FindIPDataForm.Edit1PropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
var
SQL_Str : string;
begin
if (Edit1.Text <> '') then
begin
SortNameKey := '';
CNameKey := '';
ENameKey := '';
WebsiteKey := '';
PSKey := '';
AddressKey := '';
PhoneKey := '';
FaxKey := '';
EmailKey := '';
Self.GetCon('SortName', Edit1.Text);
SQL_Str := 'Select * From Bas_IPRecord Where (WebSite<>' + #39 + #39 + ')'
+ Constr
+ ' Order By OrderID';
DataQuery.Active := False;
DataQuery.SQL.Clear;
DataQuery.SQL.Add(SQL_Str);
DataQuery.Open;
SortNameKey := Edit1.Text;
Edit2.Empty;
Edit3.Clear;
Edit4.Empty;
Edit5.Clear;
Edit6.Clear;
Edit7.Empty;
Edit8.Empty;
Edit9.Empty;
end;
end;
procedure TBas_FindIPDataForm.Edit3PropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
var
SQL_Str : string;
begin
if (Edit3.Text <> '') then
begin
SortNameKey := '';
CNameKey := '';
ENameKey := '';
WebsiteKey := '';
PSKey := '';
AddressKey := '';
PhoneKey := '';
FaxKey := '';
EmailKey := '';
Self.GetCon('ChineseName', Edit3.Text);
SQL_Str := 'Select * From Bas_IPRecord Where (WebSite<>' + #39 + #39 + ')'
+ Constr
+ ' Order By OrderID';
DataQuery.Active := False;
DataQuery.SQL.Clear;
DataQuery.SQL.Add(SQL_Str);
DataQuery.Open;
CNameKey := Edit3.Text;
Edit1.Empty;
Edit2.Empty;
Edit4.Empty;
Edit5.Clear;
Edit6.Clear;
Edit7.Empty;
Edit8.Empty;
Edit9.Empty;
end;
end;
procedure TBas_FindIPDataForm.Edit2PropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
var
SQL_Str : string;
begin
if (Edit2.Text <> '') then
begin
SortNameKey := '';
CNameKey := '';
ENameKey := '';
WebsiteKey := '';
PSKey := '';
AddressKey := '';
PhoneKey := '';
FaxKey := '';
EmailKey := '';
Self.GetCon('EnglishName', Edit2.Text);
SQL_Str := 'Select * From Bas_IPRecord Where (WebSite<>' + #39 + #39 + ')'
+ Constr
+ ' Order By OrderID';
DataQuery.Active := False;
DataQuery.SQL.Clear;
DataQuery.SQL.Add(SQL_Str);
DataQuery.Open;
ENameKey := Edit2.Text;
Edit1.Empty;
Edit3.Clear;
Edit4.Empty;
Edit5.Clear;
Edit6.Clear;
Edit7.Empty;
Edit8.Empty;
Edit9.Empty;
end;
end;
procedure TBas_FindIPDataForm.Edit4PropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
var
SQL_Str : string;
begin
if (Edit4.Text <> '') then
begin
SortNameKey := '';
CNameKey := '';
ENameKey := '';
WebsiteKey := '';
PSKey := '';
AddressKey := '';
PhoneKey := '';
FaxKey := '';
EmailKey := '';
Self.GetCon('Website', Edit4.Text);
SQL_Str := 'Select * From Bas_IPRecord Where (WebSite<>' + #39 + #39 + ')'
+ Constr
+ ' Order By OrderID';
DataQuery.Active := False;
DataQuery.SQL.Clear;
DataQuery.SQL.Add(SQL_Str);
DataQuery.Open;
WebsiteKey := Edit4.Text;
Edit1.Empty;
Edit2.Empty;
Edit3.Clear;
Edit5.Clear;
Edit6.Clear;
Edit7.Empty;
Edit8.Empty;
Edit9.Empty;
end;
end;
procedure TBas_FindIPDataForm.SpeedButton1Click(Sender: TObject);
var
SQL_Str : string;
begin
if (Edit5.Text <> '') then
begin
SortNameKey := '';
CNameKey := '';
ENameKey := '';
WebsiteKey := '';
PSKey := '';
AddressKey := '';
PhoneKey := '';
FaxKey := '';
EmailKey := '';
Self.GetCon('ServiceAndProduct', Edit5.Text);
SQL_Str := 'Select * From Bas_IPRecord Where (WebSite<>' + #39 + #39 + ')'
+ Constr
+ ' Order By OrderID';
DataQuery.Active := False;
DataQuery.SQL.Clear;
DataQuery.SQL.Add(SQL_Str);
DataQuery.Open;
PSKey := Edit5.Text;
Edit1.Empty;
Edit2.Empty;
Edit3.Clear;
Edit4.Empty;
Edit6.Clear;
Edit7.Empty;
Edit8.Empty;
Edit9.Empty;
end;
end;
procedure TBas_FindIPDataForm.Edit6PropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
var
SQL_Str : string;
begin
if (Edit6.Text <> '') then
begin
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?