Ignore:
Timestamp:
Nov 10, 2009, 9:11:50 AM (15 years ago)
Author:
george
Message:
  • Přidáno: Kostra zobrazování strukturálního stromu.
  • Upraveno: Zobrazení kódu pomocí SynEditu namísto Memo.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/Void/UMainForm.pas

    r10 r15  
    77uses
    88  Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
    9   StdCtrls, UCompilator, UOutputGenerator;
     9  StdCtrls, ComCtrls, SynHighlighterPas, SynEdit, SynHighlighterCpp,
     10  UCompilator, UOutputGenerator, UModelViewer;
    1011
    1112const
     
    2223    Label2: TLabel;
    2324    Label3: TLabel;
    24     Memo1: TMemo;
    25     Memo2: TMemo;
     25    Label4: TLabel;
    2626    Memo3: TMemo;
     27    SynCppSyn1: TSynCppSyn;
     28    SynEdit1: TSynEdit;
     29    SynEdit2: TSynEdit;
     30    SynPasSyn1: TSynPasSyn;
     31    TreeView1: TTreeView;
    2732    procedure ButtonCompileClick(Sender: TObject);
    2833    procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
     
    3237  private
    3338    SourceCode: TMemoryStream;
     39    ModelViewer: TModelViewer;
    3440    procedure CompilatorError(Text: string; var Terminate: Boolean;
    3541      Position: TPoint);
     
    4753procedure TMainForm.FormShow(Sender: TObject);
    4854begin
    49   Memo1.Lines.LoadFromFile(SourceFileName);
     55  SynEdit1.Lines.LoadFromFile(SourceFileName);
    5056  ButtonCompileClick(Self);
    5157end;
     
    5359procedure TMainForm.FormClose(Sender: TObject; var CloseAction: TCloseAction);
    5460begin
    55   Memo1.Lines.SaveToFile(SourceFileName);
     61  SynEdit1.Lines.SaveToFile(SourceFileName);
    5662end;
    5763
     
    6066  Compilator := TCompilator.Create;
    6167  Compilator.OnError := CompilatorError;
     68  ModelViewer := TModelViewer.Create;
    6269end;
    6370
     
    6572begin
    6673  Compilator.Destroy;
     74  ModelViewer.Destroy;
    6775end;
    6876
     
    7381  with Compilator do begin
    7482    Memo3.Lines.Clear;
    75     Code := Memo1.Lines.Text;
     83    Code := SynEdit1.Lines.Text;
    7684    SourceCode.Size := 0;
    7785    SourceCode.Write(Code[1], Length(Code));
    7886    if Assigned(Generator) then Generator.Destroy;
    79     if ComboBox1.ItemIndex = 0 then
    80       Generator := TPascalGenerator.Create
    81       else Generator := TCGenerator.Create;
     87    if ComboBox1.ItemIndex = 0 then begin
     88      Generator := TPascalGenerator.Create;
     89      SynEdit2.Highlighter := SynPasSyn1;
     90    end else begin
     91      Generator := TCGenerator.Create;
     92      SynEdit2.Highlighter := SynCppSyn1;
     93    end;
    8294    Compile;
    83     Memo2.Lines.Assign(Generator.Output);
    84     end;
     95    SynEdit2.Lines.Assign(Generator.Output);
     96    ModelViewer.Show(TreeView1);
     97  end;
    8598end;
    8699
Note: See TracChangeset for help on using the changeset viewer.