翻譯|使用教程|編輯:楊鵬連|2021-07-15 09:49:15.570|閱讀 268 次
概述:我們創建 FDatabase:TIBDatabase 對象,然后定義我們希望設計者擁有的屬性。為每個屬性編寫了“Get”和“Set”方法。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
FastReport VCL是用于 Delphi、C++ Builder、RAD Studio 和 Lazarus 的報告和文檔創建 VCL 庫。它提供了可視化模板設計器,可以訪問 30 多種格式,并可以部署到云、網站、電子郵件和打印中。
以下組件是TfrxIBXDatabase其中之一。它代表了一個包裝器TIBDatabase。
TfrxIBXDatabase = class(TfrxCustomDatabase) private FDatabase: TIBDatabase; FTransaction: TIBTransaction; function GetSQLDialect: Integer; procedure SetSQLDialect(const Value: Integer); protected procedure SetConnected(Value: Boolean); override; procedure SetDatabaseName(const Value: String); override; procedure SetLoginPrompt(Value: Boolean); override; procedure SetParams(Value: TStrings); override; function GetConnected: Boolean; override; function GetDatabaseName: String; override; function GetLoginPrompt: Boolean; override; function GetParams: TStrings; override; public constructor Create(AOwner: TComponent); override; destructor Destroy; override; class function GetDescription: String; override; procedure SetLogin(const Login, Password: String); override; property Database: TIBDatabase read FDatabase; published { list TIBDatabase properties. Note – some properties are already exist in base class } property DatabaseName; property LoginPrompt; property Params; property SQLDialect: Integer read GetSQLDialect write SetSQLDialect; { Connected property should be placed last! } property Connected; end; constructor TfrxIBXDatabase.Create(AOwner: TComponent); begin inherited; { create component – connection } FDatabase := TIBDatabase.Create(nil); { create component - transaction (specificity of IBX) } FTransaction := TIBTransaction.Create(nil); FDatabase.DefaultTransaction := FTransaction; { do not forget this line! } Component := FDatabase; end; destructor TfrxIBXDatabase.Destroy; begin { delete transaction } FTransaction.Free; { connection will be deleted automatically in parent class } inherited; end; { component description will be displayed next to icon in objects toolbar } class function TfrxIBXDatabase.GetDescription: String; begin Result := 'IBX Database'; end; { redirect component properties to cover properties and vice versa } function TfrxIBXDatabase.GetConnected: Boolean; begin Result := FDatabase.Connected; end; function TfrxIBXDatabase.GetDatabaseName: String; begin Result := FDatabase.DatabaseName; end; function TfrxIBXDatabase.GetLoginPrompt: Boolean; begin Result := FDatabase.LoginPrompt; end; function TfrxIBXDatabase.GetParams: TStrings; begin Result := FDatabase.Params; end; function TfrxIBXDatabase.GetSQLDialect: Integer; begin Result := FDatabase.SQLDialect; end; procedure TfrxIBXDatabase.SetConnected(Value: Boolean); begin FDatabase.Connected := Value; FTransaction.Active := Value; end; procedure TfrxIBXDatabase.SetDatabaseName(const Value: String); begin FDatabase.DatabaseName := Value; end; procedure TfrxIBXDatabase.SetLoginPrompt(Value: Boolean); begin FDatabase.LoginPrompt := Value; end; procedure TfrxIBXDatabase.SetParams(Value: TStrings); begin FDatabase.Params := Value; end; procedure TfrxIBXDatabase.SetSQLDialect(const Value: Integer); begin FDatabase.SQLDialect := Value; end; { this method is used by DB connection wizard } procedure TfrxIBXDatabase.SetLogin(const Login, Password: String); begin Params.Text := 'user_name=' + Login + #13#10 + 'password=' + Password; end;如您所見,這并沒有那么復雜。我們創建 FDatabase:TIBDatabase 對象,然后定義我們希望設計者擁有的屬性。為每個屬性編寫了“Get”和“Set”方法。
如果您對 FastReport 感興趣,歡迎加入 FastReport QQ 交流群:702295239
還想要更多嗎?您可以點擊閱讀【FastReport報表2021最新資源盤點】,查找需要的教程資源。上是FastReport .NET慧正在網火熱銷售中!>>查看價格詳情
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: