git-svn-id: https://192.168.0.254/svn/Componentes.Terceros.SDAC@3 6f543ec7-021b-7e4c-98c9-62eafc7fb9a8
139 lines
3.4 KiB
ObjectPascal
139 lines
3.4 KiB
ObjectPascal
unit LongStrings;
|
|
|
|
interface
|
|
|
|
uses
|
|
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
|
|
DBCtrls, ExtCtrls, Db, Grids, DBGrids, StdCtrls, ToolWin, SdacVcl,
|
|
ComCtrls, MemDS, DBAccess, MSAccess, Buttons, DemoFrame, SdacDemoForm;
|
|
|
|
type
|
|
TLongStringsFrame = class(TDemoFrame)
|
|
DBGrid: TDBGrid;
|
|
DataSource: TDataSource;
|
|
ToolBar: TPanel;
|
|
meComments: TDBMemo;
|
|
Splitter1: TSplitter;
|
|
ToolBar1: TPanel;
|
|
OpenDialog: TOpenDialog;
|
|
SaveDialog: TSaveDialog;
|
|
ToolButton1: TToolButton;
|
|
ToolButton2: TToolButton;
|
|
Panel1: TPanel;
|
|
Panel2: TPanel;
|
|
DBNavigator: TDBNavigator;
|
|
btClose: TSpeedButton;
|
|
btOpen: TSpeedButton;
|
|
cbLongStrings: TCheckBox;
|
|
Panel3: TPanel;
|
|
btClear: TSpeedButton;
|
|
btSave: TSpeedButton;
|
|
btLoad: TSpeedButton;
|
|
MSQuery: TMSQuery;
|
|
procedure btOpenClick(Sender: TObject);
|
|
procedure btCloseClick(Sender: TObject);
|
|
procedure btLoadClick(Sender: TObject);
|
|
procedure btSaveClick(Sender: TObject);
|
|
procedure cbLongStringsClick(Sender: TObject);
|
|
procedure btClearClick(Sender: TObject);
|
|
private
|
|
{ Private declarations }
|
|
public
|
|
// Demo management
|
|
procedure Initialize; override;
|
|
procedure SetDebug(Value: boolean); override;
|
|
end;
|
|
|
|
implementation
|
|
|
|
{$IFDEF CLR}
|
|
{$R *.nfm}
|
|
{$ENDIF}
|
|
{$IFDEF WIN32}
|
|
{$R *.dfm}
|
|
{$ENDIF}
|
|
|
|
procedure TLongStringsFrame.btOpenClick(Sender: TObject);
|
|
begin
|
|
MSQuery.Open;
|
|
end;
|
|
|
|
procedure TLongStringsFrame.btCloseClick(Sender: TObject);
|
|
begin
|
|
MSQuery.Close;
|
|
end;
|
|
|
|
procedure TLongStringsFrame.btLoadClick(Sender: TObject);
|
|
var
|
|
List: TStringList;
|
|
begin
|
|
if MSQuery.Active and OpenDialog.Execute then begin
|
|
if MSQuery.State = dsBrowse then
|
|
MSQuery.Edit;
|
|
|
|
if MSQuery.FieldByName('Value') is TBlobField then
|
|
TBlobField(MSQuery.FieldByName('Value')).LoadFromFile(OpenDialog.FileName)
|
|
else begin
|
|
List := TStringList.Create;
|
|
try
|
|
List.LoadFromFile(OpenDialog.FileName);
|
|
MSQuery.FieldByName('Value').AsString := List.Text;
|
|
finally
|
|
List.Free;
|
|
end;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
procedure TLongStringsFrame.btSaveClick(Sender: TObject);
|
|
var
|
|
List: TStringList;
|
|
begin
|
|
if not MSQuery.EOF and SaveDialog.Execute then
|
|
if MSQuery.FieldByName('Value') is TBlobField then
|
|
TBlobField(MSQuery.FieldByName('Value')).SaveToFile(SaveDialog.FileName)
|
|
else begin
|
|
List := TStringList.Create;
|
|
try
|
|
List.Text := MSQuery.FieldByName('Value').AsString;
|
|
List.SaveToFile(SaveDialog.FileName);
|
|
finally
|
|
List.Free;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
procedure TLongStringsFrame.cbLongStringsClick(Sender: TObject);
|
|
var
|
|
OldActive: boolean;
|
|
begin
|
|
OldActive := MSQuery.Active;
|
|
MSQuery.Active := False;
|
|
MSQuery.Options.LongStrings := cbLongStrings.Checked;
|
|
MSQuery.Active := OldActive;
|
|
end;
|
|
|
|
procedure TLongStringsFrame.btClearClick(Sender: TObject);
|
|
begin
|
|
if MSQuery.Active then begin
|
|
if MSQuery.State = dsBrowse then
|
|
MSQuery.Edit;
|
|
MSQuery.FieldByName('Value').AsString := '';
|
|
end;
|
|
end;
|
|
|
|
// Demo management
|
|
procedure TLongStringsFrame.Initialize;
|
|
begin
|
|
inherited;
|
|
MSQuery.Connection := Connection as TMSConnection;
|
|
cbLongStrings.Checked := MSQuery.Options.LongStrings;
|
|
end;
|
|
|
|
procedure TLongStringsFrame.SetDebug(Value: boolean);
|
|
begin
|
|
MSQuery.Debug := Value;
|
|
end;
|
|
|
|
end.
|