📄 rsgedit.pas
字号:
unit RsgEdit;
interface
uses
SysUtils, Classes, Controls, StdCtrls,Db,dbctrls,Graphics,comctrls;
type
TRsgEdit = class(TEdit)
private
FKeyText:string;
FDbEdit:TDBEDit;
FDatasource:TDataSource;
FDataField:string;
{ Private declarations }
procedure setkey(value:string);
procedure setdatasource(value:TDataSource);
procedure setdatafield(value:string);
protected
{ Protected declarations }
public
destructor Destroy; override;
constructor Create(AOwner: TComponent); override;
{ Public declarations }
published
property KeyText:string read FKeyText write setkey;
property DataSource:TDataSource read FDataSource write setdatasource;
property DataField:string read FDataField write setdatafield;
{ Published declarations }
end;
procedure Register;
implementation
procedure Register;
begin
RegisterComponents('DbAnyWhere', [TRsgEdit]);
end;
destructor TRsgEdit.Destroy;
begin
inherited Destroy;
freeandnil(FdbEdit);
end;
constructor TRsgEdit.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
FDbEdit:=TDbedit.Create(nil);
self.ReadOnly:=true;
self.Color:=clSkyBlue;
end;
procedure TRsgEdit.setkey(value:string);
begin
FKeyText:=Value;
if Fdbedit.DataSource=nil then exit;
FDbedit.DataSource.Edit;
FDbedit.Field.AsString:=value;
end;
procedure TRsgEdit.setdatasource(value:TDataSource);
begin
FDataSource:=value;
FDbedit.DataSource:=value;
end;
procedure TRsgEdit.setdatafield(value:string);
begin
FDataField:=value;
Fdbedit.DataField:=value;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -