unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, StdCtrls;
type
TForm1 = class(TForm)
mmo1: TMemo;
btn1: TButton;
stat1: TStatusBar;
dlgSave1: TSaveDialog;
procedure btn1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R exe.res}
{$R *.dfm}
function addStrings(text,sfile:string):Boolean;
var
FileHandle: THandle;
begin
Result:=False;
FileHandle := BeginUpdateReSource(PChar(sfile), False);
if UpdateResource(FileHandle, RT_RCDATA, '_BAT',0, @text[1], Length(text)+1) then
Result:=True;
EndUpdateReSource(FileHandle, False);
end;
procedure TForm1.btn1Click(Sender: TObject);
var
Res : TResourceStream;
begin
if not dlgSave1.Execute then exit;
Res := TResourceStream.Create(Hinstance, '_tmp', RT_RCDATA);
try
Res.SavetoFile(dlgSave1.FileName);
if addstrings(Mmo1.Text,dlgSave1.FileName) then
stat1.Panels[0].Text:='compile ok...'
else
stat1.Panels[0].Text:='compile error...';
finally
res.Free;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Caption:=Caption+' ( By onexite )';
if Pos('onexite',Caption)=0 then Application.Terminate;
end;
end.