⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bas_findipdata.pas

📁 这是一个为友人所写的小程序, 实现了分段模糊查询, 网页生成等小功能!
💻 PAS
📖 第 1 页 / 共 3 页
字号:
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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -