home *** CD-ROM | disk | FTP | other *** search
/ Chip 2001 October / Chip_2001-10_cd1.bin / zkuste / delphi / kolekce / d6 / FRCLX.ZIP / SOURCE / FR_DBSQLEdit.pas < prev    next >
Pascal/Delphi Source File  |  2001-07-06  |  4KB  |  174 lines

  1.  
  2. {******************************************}
  3. {                                          }
  4. {   FastReport CLX v2.4 - DB components    }
  5. {               SQL editor                 }
  6. {                                          }
  7. { Copyright (c) 1998-2001 by Tzyganenko A. }
  8. {                                          }
  9. {******************************************}
  10.  
  11. unit FR_DBSQLEdit;
  12.  
  13. interface
  14.  
  15. {$I FR.inc}
  16.  
  17.  
  18. uses
  19.   Types, SysUtils, Classes, QGraphics, QControls, QForms, QDialogs,
  20.   QStdCtrls, QExtCtrls, FR_Ctrls, DB
  21. {$IFDEF MWEDIT}
  22. , mwHighlighter, wmSQLSyn, mwCustomEdit, QButtons
  23. {$ENDIF};
  24.  
  25. type
  26.   TfrDBSQLEditorForm = class(TForm)
  27.     MemoPanel: TPanel;
  28.     Bevel2: TBevel;
  29.     Panel2: TPanel;
  30.     Panel1: TPanel;
  31.     OkBtn: TfrSpeedButton;
  32.     CancelBtn: TfrSpeedButton;
  33.     OpenBtn: TfrSpeedButton;
  34.     SaveBtn: TfrSpeedButton;
  35.     Bevel1: TBevel;
  36.     CutBtn: TfrSpeedButton;
  37.     CopyBtn: TfrSpeedButton;
  38.     PasteBtn: TfrSpeedButton;
  39.     OpenDialog1: TOpenDialog;
  40.     SaveDialog1: TSaveDialog;
  41.     SQLBtn: TfrSpeedButton;
  42.     procedure FormKeyDown(Sender: TObject; var Key: Word;
  43.       Shift: TShiftState);
  44.     procedure M1KeyDown(Sender: TObject; var Key: Word;
  45.       Shift: TShiftState);
  46.     procedure FormCreate(Sender: TObject);
  47.     procedure CancelBtnClick(Sender: TObject);
  48.     procedure OkBtnClick(Sender: TObject);
  49.     procedure CutBtnClick(Sender: TObject);
  50.     procedure CopyBtnClick(Sender: TObject);
  51.     procedure PasteBtnClick(Sender: TObject);
  52.     procedure OpenBtnClick(Sender: TObject);
  53.     procedure SaveBtnClick(Sender: TObject);
  54.   private
  55.     { Private declarations }
  56.     procedure Localize;
  57.   public
  58.     { Public declarations }
  59. {$IFDEF MWEDIT}
  60.     M1: TmwCustomEdit;
  61. {$ELSE}
  62.     M1: TMemo;
  63. {$ENDIF}
  64.     Query: TDataSet;
  65.   end;
  66.  
  67.  
  68. implementation
  69.  
  70. uses FR_Class, FR_Const, FR_Utils, Qt;
  71.  
  72. {$R *.xfm}
  73.  
  74.  
  75. procedure TfrDBSQLEditorForm.FormKeyDown(Sender: TObject; var Key: Word;
  76.   Shift: TShiftState);
  77. begin
  78.   if (Key = key_Return) and (ssCtrl in Shift) then
  79.   begin
  80.     ModalResult := mrOk;
  81.     Key := 0;
  82.   end;
  83. end;
  84.  
  85. procedure TfrDBSQLEditorForm.M1KeyDown(Sender: TObject; var Key: Word;
  86.   Shift: TShiftState);
  87. begin
  88.   if Key = key_Escape then ModalResult := mrCancel;
  89. end;
  90.  
  91. procedure TfrDBSQLEditorForm.Localize;
  92. begin
  93.   Caption := S57010;
  94.   OpenBtn.Hint := S56099;
  95.   SaveBtn.Hint := S56100;
  96.   CutBtn.Hint := S53091;
  97.   CopyBtn.Hint := S53092;
  98.   PasteBtn.Hint := S53093;
  99.   SQLBtn.Hint := S56101;
  100.   OkBtn.Hint := (SOk);
  101.   CancelBtn.Hint := (SCancel);
  102. end;
  103.  
  104. procedure TfrDBSQLEditorForm.FormCreate(Sender: TObject);
  105. {$IFDEF MWEDIT}
  106. var
  107.   SynParser: TwmSQLSyn;
  108. {$ENDIF}
  109. begin
  110.   Localize;
  111. {$IFDEF MWEDIT}
  112.   M1 := TmwCustomEdit.Create(Self);
  113.   SynParser := TwmSQLSyn.Create(Self);
  114.   {$I *.inc}
  115. {$ELSE}
  116.   M1 := TMemo.Create(Self);
  117.   M1.WordWrap := False;
  118. {$ENDIF}
  119.   M1.Parent := MemoPanel;
  120.   M1.Align := alClient;
  121.   M1.HelpContext := 20;
  122.   M1.ScrollBars := ssNone;
  123.   M1.Font.Name := 'Courier New';
  124.   M1.Font.Size := 10;
  125.   M1.OnKeyDOwn := M1KeyDown;
  126. {$IFDEF MWEDIT}
  127.   M1.Highlighter := SynParser;
  128.   M1.Gutter.Visible := False;
  129. {$ENDIF}
  130.  
  131. {$IFNDEF QBUILDER}
  132.   SQLBtn.Visible := False;
  133. {$ENDIF}
  134. end;
  135.  
  136. procedure TfrDBSQLEditorForm.CancelBtnClick(Sender: TObject);
  137. begin
  138.   ModalResult := mrCancel;
  139. end;
  140.  
  141. procedure TfrDBSQLEditorForm.OkBtnClick(Sender: TObject);
  142. begin
  143.   ModalResult := mrOk;
  144. end;
  145.  
  146. procedure TfrDBSQLEditorForm.CutBtnClick(Sender: TObject);
  147. begin
  148.   M1.CutToClipboard;
  149. end;
  150.  
  151. procedure TfrDBSQLEditorForm.CopyBtnClick(Sender: TObject);
  152. begin
  153.   M1.CopyToClipboard;
  154. end;
  155.  
  156. procedure TfrDBSQLEditorForm.PasteBtnClick(Sender: TObject);
  157. begin
  158.   M1.PasteFromClipboard;
  159. end;
  160.  
  161. procedure TfrDBSQLEditorForm.OpenBtnClick(Sender: TObject);
  162. begin
  163.   if OpenDialog1.Execute then
  164.     M1.Lines.LoadFromFile(OpenDialog1.FileName);
  165. end;
  166.  
  167. procedure TfrDBSQLEditorForm.SaveBtnClick(Sender: TObject);
  168. begin
  169.   if SaveDialog1.Execute then
  170.     M1.Lines.SaveToFile(SaveDialog1.FileName);
  171. end;
  172.  
  173. end.
  174.