bas_editipdata.pas
来自「这是一个为友人所写的小程序, 实现了分段模糊查询, 网页生成等小功能!」· PAS 代码 · 共 250 行
PAS
250 行
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 + =
减小字号Ctrl + -
显示快捷键?