lazarus/components/datadict/frmgeneratedcode.pp

78 lines
1.4 KiB
ObjectPascal

unit frmgeneratedcode;
{$mode objfpc}{$H+}
interface
uses
Classes, LazUTF8, Forms, Dialogs, ExtCtrls, StdCtrls,
SynHighlighterPas, SynMemo, ldd_consts;
type
{ TCodeForm }
TCodeForm = class(TForm)
BClose: TButton;
BSave: TButton;
PButtons: TPanel;
SDCode: TSaveDialog;
SynFreePascalSyn1: TSynFreePascalSyn;
MCode: TSynMemo;
procedure BSaveClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
function GetCode: TStrings;
procedure SetCode(const AValue: TStrings);
private
FUnitName: String;
{ private declarations }
public
{ public declarations }
Property Code : TStrings Read GetCode Write SetCode;
Property UnitName : String Read FUnitName Write FUnitName;
end;
var
CodeForm: TCodeForm;
implementation
{$R *.lfm}
{ TCodeForm }
function TCodeForm.GetCode: TStrings;
begin
Result:=MCode.Lines;
end;
procedure TCodeForm.BSaveClick(Sender: TObject);
begin
With SDCode do
begin
If (UnitName<>'') then
SDCode.FileName:=UnitName+'.pp';
If Execute then
MCode.Lines.SaveToFile(UTF8ToSys(FileName));
end;
end;
procedure TCodeForm.FormCreate(Sender: TObject);
begin
//
Caption:= ldd_Generatedcode;
BClose.Caption:= ldd_Close;
BSave.Caption:= ldd_Save;
SDCode.Title:= ldd_SDCodetitle;
SDCode.Filter:= ldd_SDCodefilter;
//
end;
procedure TCodeForm.SetCode(const AValue: TStrings);
begin
MCode.Lines.Assign(AValue);
end;
end.