Blockly review

This commit is contained in:
Michael Schimmel
2025-06-11 00:17:58 +02:00
parent 7516bd3d9d
commit b8a530254d
6 changed files with 644 additions and 241 deletions
+53 -44
View File
@@ -1,7 +1,7 @@
object MainForm: TMainForm
Left = 0
Top = 0
Caption = 'Form1'
Caption = 'Blockly LLVM IR Generator'
ClientHeight = 872
ClientWidth = 1010
FormFactor.Width = 320
@@ -12,57 +12,66 @@ object MainForm: TMainForm
DesignerMasterStyle = 0
object WebBrowser1: TWebBrowser
Align = Top
Anchors = [akLeft, akTop, akRight, akBottom]
Anchors = [akLeft, akTop]
Size.Width = 1010.000000000000000000
Size.Height = 633.000000000000000000
Size.Height = 625.000000000000000000
Size.PlatformDefault = False
WindowsEngine = EdgeOnly
OnDidFinishLoad = WebBrowser1DidFinishLoad
end
object LauchSiteButton: TButton
Anchors = [akLeft, akBottom]
Position.X = 24.000000000000000000
Position.Y = 744.000000000000000000
TabOrder = 1
Text = 'Lauch Site'
TextSettings.Trimming = None
OnClick = LauchSiteButtonClick
end
object SaveWorkspaceButton: TButton
Anchors = [akLeft, akBottom]
Position.X = 24.000000000000000000
Position.Y = 774.000000000000000000
Size.Width = 97.000000000000000000
Size.Height = 22.000000000000000000
Size.PlatformDefault = False
TabOrder = 2
Text = 'Save Workspace'
TextSettings.Trimming = None
OnClick = SaveWorkspaceButtonClick
end
object GenerateCodeButton: TButton
Anchors = [akLeft, akBottom]
Position.X = 24.000000000000000000
Position.Y = 804.000000000000000000
Size.Width = 97.000000000000000000
Size.Height = 22.000000000000000000
Size.PlatformDefault = False
TabOrder = 3
Text = 'Generate Code'
TextSettings.Trimming = None
OnClick = GenerateCodeButtonClick
object ToolBar1: TToolBar
Size.Width = 1010.000000000000000000
Size.Height = 40.000000000000000000
Size.PlatformDefault = False
TabOrder = 0
object RefreshButton: TSpeedButton
Align = Left
Size.Width = 80.000000000000000000
Size.Height = 40.000000000000000000
Size.PlatformDefault = False
Text = 'Refresh'
TextSettings.Trimming = None
OnClick = LauchSiteButtonClick
end
object SaveWorkspaceButton: TSpeedButton
Align = Left
Position.X = 80.000000000000000000
Size.Width = 80.000000000000000000
Size.Height = 40.000000000000000000
Size.PlatformDefault = False
Text = 'Save'
TextSettings.Trimming = None
OnClick = SaveWorkspaceButtonClick
end
object GenerateCodeButton: TSpeedButton
Align = Left
Position.X = 160.000000000000000000
Size.Width = 80.000000000000000000
Size.Height = 40.000000000000000000
Size.PlatformDefault = False
Text = 'Generate'
TextSettings.Trimming = None
OnClick = GenerateCodeButtonClick
end
end
end
object Memo: TMemo
Touch.InteractiveGestures = [Pan, LongTap, DoubleTap]
DataDetectorTypes = []
Anchors = [akRight, akBottom]
Position.X = 144.000000000000000000
Position.Y = 641.000000000000000000
Size.Width = 841.000000000000000000
Size.Height = 223.000000000000000000
Align = Client
Size.Width = 1010.000000000000000000
Size.Height = 239.000000000000000000
Size.PlatformDefault = False
TabOrder = 1
Viewport.Width = 1006.000000000000000000
Viewport.Height = 235.000000000000000000
end
object Splitter1: TSplitter
Align = Top
Cursor = crVSplit
MinSize = 20.000000000000000000
Position.Y = 625.000000000000000000
Size.Width = 1010.000000000000000000
Size.Height = 8.000000000000000000
Size.PlatformDefault = False
TabOrder = 4
Viewport.Width = 837.000000000000000000
Viewport.Height = 219.000000000000000000
end
end
+8 -5
View File
@@ -11,7 +11,7 @@ uses
const
// Pfad zur HTML-Datei
PATH_BLOCKLY = 'T:\Myc\Blockly\blockly_LLVM.html';
PATH_BLOCKLY = 'T:\Myc\Blockly\index.html';
// Pfade zu den LLVM-Werkzeugen
CLANG_PATH = 'clang.exe';
@@ -20,10 +20,12 @@ const
type
TMainForm = class( TForm )
WebBrowser1: TWebBrowser;
LauchSiteButton: TButton;
SaveWorkspaceButton: TButton;
GenerateCodeButton: TButton;
Memo: TMemo;
Splitter1: TSplitter;
ToolBar1: TToolBar;
RefreshButton: TSpeedButton;
SaveWorkspaceButton: TSpeedButton;
GenerateCodeButton: TSpeedButton;
procedure FormCreate( Sender: TObject );
procedure FormDestroy( Sender: TObject );
procedure LauchSiteButtonClick( Sender: TObject );
@@ -83,6 +85,7 @@ end;
procedure TMainForm.FormCreate( Sender: TObject );
begin
TLLVMRunner.Log := Memo.Lines;
LauchSiteButtonClick(Self);
end;
procedure TMainForm.FormDestroy( Sender: TObject );
@@ -104,7 +107,7 @@ var
cmdLine: string;
buffer: TBytes;
bytesRead: Cardinal;
output, errors: string;
output: string;
begin
// Pipe für StdOut und StdErr erstellen
sa.nLength := SizeOf( TSecurityAttributes );