| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- unit umain;
- {
- How to write:
- - Separate commands by line (only one command in one line)
- - Separate parameters by single space ' ' or comma ','
- - All parameters are obligatory
- - Put strings with double quotes "text"
- - Put float numbers as strings "1,5"
- - Comments are threated as the first parameter
- - Comment with '// comment' and '{ comment }' or '//,comment' and '{,comment}'
- - Multi line comments not allowed
- - Use 'let' to store values: "let a 100" "let key value"
- Error handling:
- - If one line fails and program not crash it will continue running other lines
- - Empty lines will not run and will not be printed in debug
- - Wrong number of parameters will not run and will show an error in debug
- - Wrong command name will not run and will show an error in debug
- }
- {$mode objfpc}{$H+}
- interface
- uses
- Classes, SysUtils, FileUtil, SynEdit, SynCompletion, SynHighlighterAny, Forms,
- Controls, Graphics, Dialogs, ExtCtrls, StdCtrls, BGRAGraphicControl,
- BGRABitmap, BCTypes, BGRAScript, BGRAVirtualScreen, BCButton, bgrabitmaptypes;
- type
- { TForm1 }
- TForm1 = class(TForm)
- BCButton1: TBCButton;
- BGRAGraphicControl1: TBGRAGraphicControl;
- BGRAVirtualScreen1: TBGRAVirtualScreen;
- ListBox1: TListBox;
- Splitter1: TSplitter;
- SynAnySyn1: TSynAnySyn;
- SynCompletion1: TSynCompletion;
- SynEdit1: TSynEdit;
- procedure BCButton1Click(Sender: TObject);
- procedure BGRAGraphicControl1Click(Sender: TObject);
- procedure BGRAGraphicControl1Redraw(Sender: TObject; Bitmap: TBGRABitmap);
- procedure BGRAVirtualScreen1Redraw(Sender: TObject; Bitmap: TBGRABitmap);
- procedure FormCreate(Sender: TObject);
- procedure ListBox1DblClick(Sender: TObject);
- private
- { private declarations }
- public
- { public declarations }
- end;
- var
- Form1: TForm1;
- implementation
- {$R *.lfm}
- { TForm1 }
- procedure TForm1.BGRAGraphicControl1Redraw(Sender: TObject; Bitmap: TBGRABitmap);
- begin
- BGRAScript.ScriptCommandList(SynEdit1.Lines, Bitmap);
- end;
- procedure TForm1.BGRAVirtualScreen1Redraw(Sender: TObject; Bitmap: TBGRABitmap);
- begin
- Bitmap.DrawHorizLine(0,Bitmap.Height-3,Bitmap.Width-1,BGRA(215,215,215,255));
- Bitmap.DrawHorizLine(0,Bitmap.Height-2,Bitmap.Width-1,BGRA(235,235,235,255));
- Bitmap.DrawHorizLine(0,Bitmap.Height-1,Bitmap.Width-1,BGRA(240,240,240,255));
- end;
- procedure TForm1.BGRAGraphicControl1Click(Sender: TObject);
- begin
- BGRAGraphicControl1.DiscardBitmap;
- end;
- procedure TForm1.BCButton1Click(Sender: TObject);
- begin
- ListBox1.Visible := not ListBox1.Visible;
- end;
- procedure TForm1.FormCreate(Sender: TObject);
- begin
- BGRAScript.SynCompletionList(SynCompletion1.ItemList);
- BGRAScript.SynCompletionList(ListBox1.Items);
- end;
- procedure TForm1.ListBox1DblClick(Sender: TObject);
- begin
- SynEdit1.Lines.Add(ListBox1.GetSelectedText);
- end;
- end.
|