Advertisement
Guest User

Untitled

a guest
Apr 7th, 2016
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 1.91 KB | None | 0 0
  1. unit main;
  2.  
  3. {$mode objfpc}{$H+}
  4.  
  5. interface
  6.  
  7. uses
  8.   Classes, SysUtils, IBConnection, sqldb, db, FileUtil, Forms, Controls,
  9.   Graphics, Dialogs, DBGrids, StdCtrls, ExtCtrls, Buttons;
  10.  
  11. type
  12.  
  13.   { TOCB }
  14.  
  15.   TOCB = class(TForm)
  16.     DataSource1: TDataSource;
  17.     DBGrid1: TDBGrid;
  18.     IBConnection1: TIBConnection;
  19.     Query: TLabeledEdit;
  20.     Path: TLabeledEdit;
  21.     PASSWORD: TLabeledEdit;
  22.     ConnectButton: TSpeedButton;
  23.     RunQueryButton: TSpeedButton;
  24.     CleatQueryButton: TSpeedButton;
  25.     USER: TLabeledEdit;
  26.     ListBox1: TListBox;
  27.     SQLQuery1: TSQLQuery;
  28.     SQLTransaction1: TSQLTransaction;
  29.     procedure ConnectButtonClick(Sender: TObject);
  30.     procedure FormCreate(Sender: TObject);
  31.     procedure SQLQuery1AfterOpen(DataSet: TDataSet);
  32.     procedure MyGetText(Sender : TField; var aText: String;
  33. DisplayText: Boolean);
  34.   private
  35.     { private declarations }
  36.   public
  37.     { public declarations }
  38.   end;
  39.  
  40. var
  41.   OCB: TOCB;
  42.  
  43. implementation
  44.  
  45. {$R *.lfm}
  46.  
  47. { TOCB }
  48.  
  49. procedure TOCB.ConnectButtonClick(Sender: TObject);
  50. begin
  51.   if TButton(Sender).Caption = 'Connect' then begin
  52.     IBConnection1.UserName := USER.Text;
  53.     IBConnection1.Password := PASSWORD.Text;
  54.     IBConnection1.DatabaseName := Path.Text;
  55.   end;
  56.   if TButton(Sender).Caption = 'Run' then begin
  57.     SQLQuery1.Close;
  58.     SQLQuery1.SQL.Text := Query.Text;
  59.     SQLQuery1.Open;
  60.   end;
  61.   if TButton(Sender).Caption = 'Clear' then begin
  62.         Query.Text := '';
  63.   end;
  64. end;
  65.  
  66. procedure TOCB.FormCreate(Sender: TObject);
  67. begin
  68.     IBConnection1.CharSet := 'UTF8';
  69. end;
  70.  
  71. procedure TOCB.SQLQuery1AfterOpen(DataSet: TDataSet);
  72. var
  73.   FID: TField;
  74. begin
  75.   for FID in DataSet.Fields do
  76.     if FID is TStringField then FID.OnGetText := @MyGetText;
  77. end;
  78.  
  79. procedure TOCB.MyGetText(Sender : TField; var aText: String;
  80. DisplayText: Boolean);
  81. var
  82.     s : WideString;
  83. begin
  84.     s := Sender.AsWideString;
  85.     aText := UTF8Encode(s);
  86. end;
  87.  
  88. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement