⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unit1.~pas

📁 电气控制仿真软件
💻 ~PAS
📖 第 1 页 / 共 3 页
字号:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
  Dialogs, ExtDlgs, Menus, StdCtrls, Buttons, OleCtrls, vgctrl40_TLB,
  ExtCtrls, ComCtrls;

type                                                  
  TForm1 = class(TForm)
    ListBox1 : TListBox;
    ListBox2 : TListBox;
    ColorDialog1 : TColorDialog;
    PageControl1 : TPageControl;
    TabSheet1 : TTabSheet;
    TabSheet2 : TTabSheet;
    TabSheet3 : TTabSheet;
    Panel3 : TPanel;
    Button1 : TButton;
    SpeedButton1: TSpeedButton;
    SpeedButton2: TSpeedButton;
    SpeedButton3: TSpeedButton;
    SpeedButton4: TSpeedButton;
    SpeedButton5: TSpeedButton;
    SpeedButton6: TSpeedButton;
    SpeedButton7: TSpeedButton;
    SpeedButton8: TSpeedButton;
    SpeedButton9: TSpeedButton;
    SpeedButton10: TSpeedButton;
    SpeedButton11: TSpeedButton;
    SpeedButton12: TSpeedButton;
    SpeedButton13: TSpeedButton;
    SpeedButton14: TSpeedButton;
    SpeedButton15: TSpeedButton;
    SpeedButton16: TSpeedButton;
    SpeedButton17: TSpeedButton;
    SpeedButton18: TSpeedButton;
    SpeedButton19: TSpeedButton;
    SpeedButton20: TSpeedButton;
    SpeedButton21: TSpeedButton;
    SpeedButton22: TSpeedButton;
    SpeedButton23: TSpeedButton;
    SpeedButton24: TSpeedButton;
    SpeedButton25: TSpeedButton;
    SpeedButton26: TSpeedButton;
    SpeedButton27: TSpeedButton;
    SpeedButton28: TSpeedButton;
    SpeedButton30: TSpeedButton;
    SpeedButton31: TSpeedButton;
    SpeedButton32: TSpeedButton;
    SpeedButton33: TSpeedButton;
    SpeedButton34: TSpeedButton;
    SpeedButton35: TSpeedButton;
    SpeedButton36: TSpeedButton;
    SpeedButton37: TSpeedButton;
    SpeedButton38: TSpeedButton;
    SpeedButton39: TSpeedButton;
    SpeedButton40: TSpeedButton;
    SpeedButton41: TSpeedButton;
    SpeedButton45: TSpeedButton;
    SpeedButton46: TSpeedButton;
    SpeedButton47: TSpeedButton;
    SpeedButton48: TSpeedButton;
    SpeedButton49: TSpeedButton;
    SpeedButton50: TSpeedButton;
    SpeedButton51: TSpeedButton;
    SpeedButton52: TSpeedButton;
    SpeedButton53: TSpeedButton;
    SpeedButton54: TSpeedButton;
    SpeedButton55: TSpeedButton;
    SpeedButton56: TSpeedButton;
    SpeedButton57: TSpeedButton;
    SpeedButton58: TSpeedButton;
    SpeedButton59: TSpeedButton;
    SpeedButton60: TSpeedButton;
    SpeedButton61: TSpeedButton;
    SpeedButton62: TSpeedButton;
    OpenDialog1: TOpenDialog;
    PopupMenu2: TPopupMenu;
    N8: TMenuItem;
    N21: TMenuItem;
    N41: TMenuItem;
    N81: TMenuItem;
    N101: TMenuItem;
    N161: TMenuItem;
    N201: TMenuItem;
    N321: TMenuItem;
    N9: TMenuItem;
    N11: TMenuItem;
    N12: TMenuItem;
    N10: TMenuItem;
    SpeedButton63: TSpeedButton;
    PopupMenu3: TPopupMenu;
    N13: TMenuItem;
    N14: TMenuItem;
    N15: TMenuItem;
    N16: TMenuItem;
    N17: TMenuItem;
    N18: TMenuItem;
    N19: TMenuItem;
    Panel10: TPanel;
    ListBox5: TListBox;
    Panel11: TPanel;
    CmAddSheet: TSpeedButton;
    CmDeleteSheet: TSpeedButton;
    Panel7: TPanel;
    Panel8: TPanel;
    SpeedButton64: TSpeedButton;
    ComboBox1: TComboBox;
    ListBox4: TListBox;
    OpenDialog2: TOpenDialog;
    StatusBar1: TStatusBar;
    SpeedButton65: TSpeedButton;
    SpeedButton66: TSpeedButton;
    SpeedButton67: TSpeedButton;
    SpeedButton68: TSpeedButton;
    SpeedButton69: TSpeedButton;
    OpenPictureDialog1: TOpenPictureDialog;
    CmWV: TComboBox;
    SpeedButton29: TSpeedButton;
    SpeedButton70: TSpeedButton;
    SpeedButton71: TSpeedButton;
    SpeedButton72: TSpeedButton;
    TabSheet4: TTabSheet;
    Panel5: TPanel;
    Panel12: TPanel;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Label1: TLabel;
    PopupMenu1: TPopupMenu;
    N1: TMenuItem;
    Label2: TLabel;
    Button5: TButton;
    Button7: TButton;
    Timer1: TTimer;
    SpeedButton73: TSpeedButton;
    SpeedButton74: TSpeedButton;
    Memo1: TMemo;
    ListBox3: TListBox;
    SpeedButton42: TSpeedButton;
    vgctrl1: Tvgctrl;
    vgctrl2: Tvgctrl;
    vgctrl4: Tvgctrl;
    lib: Tvgctrl;
    Panel13: TPanel;
    vgctrl3: Tvgctrl;
    procedure ListBox2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure CmNewClick(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure SpeedButton4Click(Sender: TObject);
    procedure SpeedButton5Click(Sender: TObject);
    procedure SpeedButton6Click(Sender: TObject);
    procedure SpeedButton7Click(Sender: TObject);
    procedure SpeedButton8Click(Sender: TObject);
    procedure SpeedButton9Click(Sender: TObject);
    procedure SpeedButton10Click(Sender: TObject);
    procedure SpeedButton11Click(Sender: TObject);
    procedure SpeedButton12Click(Sender: TObject);
    procedure SpeedButton13Click(Sender: TObject);
    procedure SpeedButton14Click(Sender: TObject);
    procedure SpeedButton15Click(Sender: TObject);
    procedure SpeedButton16Click(Sender: TObject);
    procedure SpeedButton17Click(Sender: TObject);
    procedure SpeedButton18Click(Sender: TObject);
    procedure SpeedButton19Click(Sender: TObject);
    procedure SpeedButton20Click(Sender: TObject);
    procedure SpeedButton21Click(Sender: TObject);
    procedure SpeedButton22Click(Sender: TObject);
    procedure SpeedButton23Click(Sender: TObject);
    procedure SpeedButton24Click(Sender: TObject);
    procedure SpeedButton25Click(Sender: TObject);
    procedure SpeedButton26Click(Sender: TObject);
    procedure SpeedButton27Click(Sender: TObject);
    procedure SpeedButton28Click(Sender: TObject);
    procedure SpeedButton30Click(Sender: TObject);
    procedure SpeedButton31Click(Sender: TObject);
    procedure SpeedButton32Click(Sender: TObject);
    procedure SpeedButton33Click(Sender: TObject);
    procedure SpeedButton34Click(Sender: TObject);
    procedure SpeedButton35Click(Sender: TObject);
    procedure SpeedButton36Click(Sender: TObject);
    procedure SpeedButton37Click(Sender: TObject);
    procedure SpeedButton39Click(Sender: TObject);
    procedure SpeedButton38Click(Sender: TObject);
    procedure SpeedButton40Click(Sender: TObject);
    procedure SpeedButton41Click(Sender: TObject);
    procedure SpeedButton42Click(Sender: TObject);
    procedure SpeedButton45Click(Sender: TObject);
    procedure SpeedButton46Click(Sender: TObject);
    procedure SpeedButton47Click(Sender: TObject);
    procedure SpeedButton48Click(Sender: TObject);
    procedure SpeedButton49Click(Sender: TObject);
    procedure SpeedButton50Click(Sender: TObject);
    procedure SpeedButton52Click(Sender: TObject);
    procedure SpeedButton53Click(Sender: TObject);
    procedure SpeedButton54Click(Sender: TObject);
    procedure SpeedButton55Click(Sender: TObject);
    procedure SpeedButton56Click(Sender: TObject);
    procedure SpeedButton57Click(Sender: TObject);
    procedure SpeedButton58Click(Sender: TObject);
    procedure SpeedButton59Click(Sender: TObject);
    procedure SpeedButton60Click(Sender: TObject);
    procedure SpeedButton61Click(Sender: TObject);
    procedure SpeedButton62Click(Sender: TObject);
    procedure SpeedButton51Click(Sender: TObject);
    procedure N321Click(Sender: TObject);
    procedure N12Click(Sender: TObject);
    procedure N10Click(Sender: TObject);
    procedure SpeedButton63Click(Sender: TObject);
    procedure N19Click(Sender: TObject);
    procedure CmAddSheetClick(Sender: TObject);
    procedure CmDeleteSheetClick(Sender: TObject);
    procedure ListBox5Click(Sender: TObject);
    procedure SpeedButton64Click(Sender: TObject);
    procedure ListBox4Click(Sender: TObject);
    procedure ComboBox1Click(Sender: TObject);
    procedure ListBox4MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure vgctrl3DragOver(Sender, Source: TObject; X, Y: Integer;
      State: TDragState; var Accept: Boolean);
    procedure vgctrl3DragDrop(Sender, Source: TObject; X, Y: Integer);
    procedure SpeedButton65Click(Sender: TObject);
    procedure SpeedButton66Click(Sender: TObject);
    procedure SpeedButton67Click(Sender: TObject);
    procedure SpeedButton68Click(Sender: TObject);
    procedure SpeedButton69Click(Sender: TObject);
    procedure CmWVClick(Sender: TObject);
    procedure vgctrl3SelectChange(Sender: TObject);
    procedure CmWVKeyPress(Sender: TObject; var Key: Char);
    procedure vgctrl3Error(Sender: TObject; const Msg: WideString);
    procedure PopupMenu3Popup(Sender: TObject);
    procedure SpeedButton29Click(Sender: TObject);
    procedure SpeedButton70Click(Sender: TObject);
    procedure SpeedButton71Click(Sender: TObject);
    procedure SpeedButton72Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button7Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure SpeedButton73Click(Sender: TObject);
    procedure SpeedButton74Click(Sender: TObject);
    procedure vgctrl3ModifyChange(Sender: TObject; Modified: WordBool);
    procedure vgctrl3Message(Sender: TObject; Index: Integer;
      const Msg: WideString);
    procedure vgctrl3ZoomChange(Sender: TObject; Zoom: Integer);
    procedure vgctrl3AddSheet(Sender: TObject; const ASheet: ISheet);
    procedure vgctrl3DeleteSheet(Sender: TObject; const ASheet: ISheet);
    procedure vgctrl3AddUnit(Sender: TObject; const AUnit: IUnit);
    procedure vgctrl3DeleteUnit(Sender: TObject; const AUnit: IUnit);
    procedure vgctrl4Click(Sender: TObject);
    procedure vgctrl4DblClick(Sender: TObject);
  private
    { Private declarations }
    procedure AppIdle( Sender: TObject; var Done: Boolean );
    procedure CMDialogKey( var Message : TCMDialogKey );message CM_DIALOGKEY;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
uses Unit2, Unit3;

procedure TForm1.CMDialogKey( var Message : TCMDialogKey );
begin
end;

procedure TForm1.ListBox2Click(Sender: TObject);
begin
  vgctrl1.Run( ListBox2.Items.Strings[ListBox2.ItemIndex] );
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  Index : Integer;
  s, t : String;
begin
  Index := ListBox1.ItemIndex;
  while( Index > 0 )do
  begin
    s := ListBox1.Items.Strings[Index];
    if( Pos( '----', s ) = 1 )then
    begin
      Inc( Index );
      Break;
    end
    else
      Dec( Index );
  end;
  if( Index < ListBox1.Items.Count - 1 )then
  begin
    while( true )do
    begin
      s := ListBox1.Items.Strings[Index];
      if( Pos( '----', s ) <> 1 )then
      begin
        t := t + s + ';';
        Inc( Index );
      end
      else
      begin
        ListBox1.ItemIndex := Index;
        Break;
      end;
    end;
    if( Length( t ) > 0 )then
    begin
      vgctrl2.Run( '' );
      vgctrl2.Execute( t );
    end;
  end;
end;

function MyChooseColor( cl : PChar ) : Boolean; stdcall;
var
  s : String;
begin
  s := Trim( StrPas( cl ) );
  Form1.ColorDialog1.Color := StrToIntDef( s, 0 );
  Result := Form1.ColorDialog1.Execute;
  if( Result )then
    StrPCopy( cl, IntToStr( Form1.ColorDialog1.Color ) );
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  vgctrl3.AddFunction( 'ChooseColor', '4', 48 + 3, Longint( @MyChooseColor ) );
  vgctrl3.Design( '' );
  vgctrl3.ShowRuler := true;
  ListBox1.ItemIndex := 0;
  Application.OnIdle := AppIdle;
end;

procedure TForm1.AppIdle( Sender: TObject; var Done: Boolean );
begin
  SpeedButton9.Enabled := vgctrl3.CanPaste;
  SpeedButton5.Enabled := vgctrl3.CanUndo;
  SpeedButton6.Enabled := vgctrl3.CanRedo;
//等价于下面的程序
//  SpeedButton9.Enabled := vgctrl3.Calculate( 'CanPaste()' );
//  SpeedButton5.Enabled := vgctrl3.Calculate( 'CanUndo()' );
//  SpeedButton6.Enabled := vgctrl3.Calculate( 'CanRedo()' );
end;

procedure TForm1.CmNewClick(Sender: TObject);
begin
  vgctrl3.Design( '' );
end;

procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
  if OpenDialog1.Execute then
  begin
    ListBox5.Items.Clear;
    vgctrl3.LoadFromFile( OpenDialog1.FileName );
  end;
end;

procedure TForm1.SpeedButton2Click(Sender: TObject);
begin

  vgctrl3.SaveToFile( vgctrl3.FileName );
//等价于下面的程序
//  vgctrl3.Execute( 'SaveToFile(FileName)' );
end;

procedure TForm1.SpeedButton3Click(Sender: TObject);
begin

  vgctrl3.Print();
//等价于下面的程序
//  vgctrl3.Execute( 'Print()' );
end;

procedure TForm1.SpeedButton4Click(Sender: TObject);
begin

  vgctrl3.SetPage;
//等价于下面的程序
//  vgctrl3.Execute( 'SetPage()' );

end;

procedure TForm1.SpeedButton5Click(Sender: TObject);
begin

  vgctrl3.Undo;
//等价于下面的程序
//  vgctrl3.Execute( 'Undo()' );

end;

procedure TForm1.SpeedButton6Click(Sender: TObject);
begin

  vgctrl3.Redo;
//等价于下面的程序
//  vgctrl3.Execute( 'Redo()' );

end;

procedure TForm1.SpeedButton7Click(Sender: TObject);
var
  Sheet1 : ISheet;
begin
  Sheet1 := ISheet( vgctrl3.ActiveSheet );
  IGroup( Sheet1.Selection ).CopyToClipboard;
  Sheet1.DeleteSelection;
//等价于下面的程序
//  vgctrl3.Execute( 'Selection.CopyToClipboard();DeleteSelection()' );

end;

procedure TForm1.SpeedButton8Click(Sender: TObject);
var
  Sheet1 : ISheet;
begin
  Sheet1 := ISheet( vgctrl3.ActiveSheet );
  IGroup( Sheet1.Selection ).CopyToClipboard;
//等价于下面的程序
//  vgctrl3.Execute( 'Selection.CopyToClipboard()' );

end;

procedure TForm1.SpeedButton9Click(Sender: TObject);
begin

  vgctrl3.Paste;
//等价于下面的程序
//  vgctrl3.Execute( 'Paste()' );

end;

procedure TForm1.SpeedButton10Click(Sender: TObject);
var
  Sheet1 : ISheet;
begin
  Sheet1 := ISheet( vgctrl3.ActiveSheet );
  Sheet1.DeleteSelection;
//等价于下面的程序
//  vgctrl3.Execute( 'DeleteSelection()' );

end;

procedure TForm1.SpeedButton11Click(Sender: TObject);
begin

  vgctrl3.Rotate;
//等价于下面的程序
//  vgctrl3.Execute( 'Rotate()' );

end;

procedure TForm1.SpeedButton12Click(Sender: TObject);
var
  Sheet1 : ISheet;
begin
  Sheet1 := ISheet( vgctrl3.ActiveSheet );
  IGroup( Sheet1.Selection ).Mirror( 1 );
//等价于下面的程序
//  vgctrl3.Execute( 'Selection.Mirror( 1 )' );

end;

procedure TForm1.SpeedButton13Click(Sender: TObject);
var
  Sheet1 : ISheet;
begin
  Sheet1 := ISheet( vgctrl3.ActiveSheet );
  IGroup( Sheet1.Selection ).Mirror( 2 );
//等价于下面的程序
//  vgctrl3.Execute( 'Selection.Mirror( 2 )' );

end;

procedure TForm1.SpeedButton14Click(Sender: TObject);
var
  Sheet1 : ISheet;
begin
  Sheet1 := ISheet( vgctrl3.ActiveSheet );
  IGroup( Sheet1.Selection ).Align( 3 );
//等价于下面的程序
//  vgctrl3.Execute( 'Selection.Align( 3 )' );

end;

procedure TForm1.SpeedButton15Click(Sender: TObject);
var
  Sheet1 : ISheet;
begin
  Sheet1 := ISheet( vgctrl3.ActiveSheet );
  IGroup( Sheet1.Selection ).Align( 0 );
//等价于下面的程序
//  vgctrl3.Execute( 'Selection.Align( 0 )' );

end;

procedure TForm1.SpeedButton16Click(Sender: TObject);
var
  Sheet1 : ISheet;
begin
  Sheet1 := ISheet( vgctrl3.ActiveSheet );
  IGroup( Sheet1.Selection ).Align( 1 );
//等价于下面的程序
//  vgctrl3.Execute( 'Selection.Align( 1 )' );

end;

procedure TForm1.SpeedButton17Click(Sender: TObject);
var
  Sheet1 : ISheet;
begin
  Sheet1 := ISheet( vgctrl3.ActiveSheet );
  IGroup( Sheet1.Selection ).Align( 2 );
//等价于下面的程序
//  vgctrl3.Execute( 'Selection.Align( 2 )' );

end;

procedure TForm1.SpeedButton18Click(Sender: TObject);
var
  Sheet1 : ISheet;
begin
  Sheet1 := ISheet( vgctrl3.ActiveSheet );

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -