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

📄 bas_editipdata.pas

📁 这是一个为友人所写的小程序, 实现了分段模糊查询, 网页生成等小功能!
💻 PAS
字号:
unit Bas_EditIPData;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, RzPanel, RzButton, ExtCtrls, ToolWin, ComCtrls, cxGraphics, DB,
  MemDS, DBAccess, MSAccess, cxDropDownEdit, cxTextEdit, cxControls,
  cxContainer, cxEdit, cxMaskEdit, cxLookupEdit, cxDBLookupEdit,
  cxDBLookupComboBox, StdCtrls, Grids, DBGridEh;

type
  TBas_EditIPDataForm = class(TForm)
    CoolBar1: TCoolBar;
    RzToolbar1: TRzToolbar;
    ToolButton1: TRzToolButton;
    ToolButton3: TRzToolButton;
    ToolButton4: TRzToolButton;
    ToolButton7: TRzToolButton;
    RzSpacer1: TRzSpacer;
    RzSpacer2: TRzSpacer;
    RzSpacer4: TRzSpacer;
    RzSpacer6: TRzSpacer;
    RzSpacer8: TRzSpacer;
    GroupBox2: TGroupBox;
    StatusBar1: TStatusBar;
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Combobox1: TcxLookupComboBox;
    Edit1: TcxTextEdit;
    Edit2: TcxTextEdit;
    Edit3: TcxTextEdit;
    Edit4: TcxTextEdit;
    Edit5: TcxTextEdit;
    Edit6: TcxTextEdit;
    Edit7: TcxTextEdit;
    Edit8: TcxTextEdit;
    RzToolButton1: TRzToolButton;
    RzSpacer3: TRzSpacer;
    ComboBox2: TcxComboBox;
    Label10: TLabel;
    Label11: TLabel;
    Edit10: TcxTextEdit;
    DataQuery: TMSQuery;
    WorkQuery: TMSQuery;
    SortQuery: TMSQuery;
    DataSource2: TDataSource;
    DBGridEh1: TDBGridEh;
    DataSource1: TDataSource;
    Label12: TLabel;
    procedure FormKeyPress(Sender: TObject; var Key: Char);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormCreate(Sender: TObject);
    procedure ToolButton3Click(Sender: TObject);
    procedure ToolButton4Click(Sender: TObject);
    procedure RzToolButton1Click(Sender: TObject);
    procedure ToolButton7Click(Sender: TObject);
    procedure ToolButton1Click(Sender: TObject);
  private
    EditFlag: Boolean;
  public
    { Public declarations }
  end;

var
  Bas_EditIPDataForm: TBas_EditIPDataForm;

implementation
uses Main;
{$R *.dfm}

procedure TBas_EditIPDataForm.FormKeyPress(Sender: TObject; var Key: Char);
begin
  if Key = #13 then
  begin
    Key := #0;
    Perform(WM_NEXTDLGCTL, 0, 0);
  end;
end;

procedure TBas_EditIPDataForm.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  WorkQuery.Close;
  DataQuery.Close;
  SortQuery.Close;
  Action := CaFree;
end;

procedure TBas_EditIPDataForm.FormCreate(Sender: TObject);
var
  SQL_Str : string;
  I       : Word;
begin
  SQL_Str := 'Select top 1 * From Bas_IPRecord';
  WorkQuery.Active := False;
  WorkQuery.SQL.Clear;
  WorkQuery.SQL.Add(SQL_Str);
  WorkQuery.Open;
  EditFlag := False;
  I := 0;
  while I < WorkQuery.FieldCount do
  begin
    if (WorkQuery.Fields[I].DataType = ftString) then
    begin
      ComboBox2.Properties.Items.Add(WorkQuery.Fields[I].FieldName);
    end;
    I := I + 1;
  end;
  if (WorkQuery.RecordCount > 0) then
  begin
    ComboBox2.ItemIndex := 0;
  end;
  SQL_Str := 'Select * From Bas_SortTable Order By Sortname';
  SortQuery.Active := False;
  SortQuery.SQL.Clear;
  SortQuery.SQL.Add(SQL_Str);
  SortQuery.Open;
  if (SortQuery.RecordCount > 0) then
  begin
    Combobox1.ItemIndex := 0;
  end;
end;

procedure TBas_EditIPDataForm.ToolButton3Click(Sender: TObject);
begin
  if (EditFlag) then
  begin
    ShowMessage('您正在修改一条记录,请先完成记录保存后再进行其他修改!');
    Abort;
  end;
  EditFlag := True;
  GroupBox1.Enabled := True;
  Label12.Caption := DataQuery.fieldbyname('ID').AsString;
  Combobox1.Text := 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;
  Edit6.Text := WorkQuery.fieldbyname('PhoneNo').AsString;
  Edit7.Text := WorkQuery.fieldbyname('FaxNo').AsString;
  Edit8.Text := WorkQuery.fieldbyname('EMailAddress').AsString;
  Combobox1.SetFocus;
end;

procedure TBas_EditIPDataForm.ToolButton4Click(Sender: TObject);
var
  SQL_Str : string;
begin
  if (EditFlag) then
  begin
    if (Combobox1.Text = '') then
    begin
      ShowMessage('请选择所属的类别, 然后再进行保存!');
      Combobox1.SetFocus;
      Abort;
    end;
    if (Edit3.Text = '') then
    begin
      ShowMessage('请输入网址信息, 然后再进行保存!');
      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 := Combobox1.Text;
    WorkQuery.fieldbyname('EnglishName').AsString := Edit1.Text;
    WorkQuery.fieldbyname('ChineseName').AsString := Edit2.Text;
    WorkQuery.fieldbyname('WebSite').AsString := Edit3.Text;
    WorkQuery.fieldbyname('ServiceAndProduct').AsString := Edit4.Text;
    WorkQuery.fieldbyname('Address').AsString := Edit5.Text;
    WorkQuery.fieldbyname('PhoneNo').AsString := Edit6.Text;
    WorkQuery.fieldbyname('FaxNo').AsString := Edit7.Text;
    WorkQuery.fieldbyname('EMailAddress').AsString := Edit8.Text;
    WorkQuery.Post;
    ShowMessage('您修改的网址信息数据已经保存到数据库!');
    EditFlag := False;
    GroupBox1.Enabled := False;
    DataQuery.Active := False;
    DataQuery.Active := True;
  end
  else
  begin
    ShowMessage('您没有选择修改网址信息,无需进行保存操作!');
  end;
end;

procedure TBas_EditIPDataForm.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_EditIPDataForm.ToolButton7Click(Sender: TObject);
begin
  Close;
end;

procedure TBas_EditIPDataForm.ToolButton1Click(Sender: TObject);
var
  SQL_Str : string;
begin
  if (Edit10.Text = '') then
  begin
    SQL_Str := 'Select * From Bas_IPRecord Order By WebSite';
  end
  else
  begin
    SQL_Str := 'Select * From Bas_IPRecord'
      + ' Where (' + ComboBox2.Text + ' Like ' + #39 + '%' + Edit10.Text + '%' + #39 + ')'
      + ' Order By WebSite';
  end;
  DataQuery.Active := False;
  DataQuery.SQL.Clear;
  DataQuery.SQL.Add(SQL_Str);
  DataQuery.Open;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -