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

📄 main.pas

📁 运筹学演示程序之运输问题
💻 PAS
字号:
unit Main;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Buttons, ExtCtrls, Menus, StdCtrls, FileCtrl;

type
  TMainForm = class(TForm)
    MainMenu1: TMainMenu;
    N1: TMenuItem;
    New: TMenuItem;
    ReadFile: TMenuItem;
    N3: TMenuItem;
    Exit: TMenuItem;
    C1: TMenuItem;
    Show: TMenuItem;
    Exercise: TMenuItem;
    Bigprj: TMenuItem;
    H1: TMenuItem;
    Ver: TMenuItem;
    Panel1: TPanel;
    Bnew: TSpeedButton;
    Bread: TSpeedButton;
    Bshow: TSpeedButton;
    Bexercise: TSpeedButton;
    Bbigprj: TSpeedButton;
    OpenDialog1: TOpenDialog;
    Panel2: TPanel;
    SpeedButton1: TSpeedButton;
    procedure ShowClick(Sender: TObject);
    procedure ExerciseClick(Sender: TObject);
    procedure BigprjClick(Sender: TObject);
    procedure BshowClick(Sender: TObject);
    procedure BexerciseClick(Sender: TObject);
    procedure BbigprjClick(Sender: TObject);
    procedure ReadFileClick(Sender: TObject);
    procedure BreadClick(Sender: TObject);
    procedure NewClick(Sender: TObject);
    procedure BnewClick(Sender: TObject);
    procedure VerClick(Sender: TObject);
    procedure ExitClick(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
  private
    { Private declarations }
    filename:string;
    procedure changetoshow;
    procedure changetopetty;
    procedure changetostep;
    procedure changetolarge;
  public
    { Public declarations }
  end;

var
  MainForm: TMainForm;

implementation

uses DrawU,LargeU,SmallU, choice, VerU;

{$R *.DFM}
type
  rcd=record
    data_type:byte;
      // data_type : 1 -> 演示数据   2 -> 小规模问题   3 -> 大规模问题
      //             4 -> 迭代中数据
  end;
var
  f:file of rcd;

procedure TMainForm.changetoshow;
begin
  showform:=Tshowform.create(application);
  showform.show;
  showform.update;
  showform.filename:=filename;
  showform.bitbtn1.click;
end;

procedure TMainForm.changetopetty;
begin
  pettyform:=Tpettyform.create(application);
  pettyform.panel1.visible:=true;
  pettyform.panel1.bringtofront;
  pettyform.Show;
  pettyform.update;
  pettyform.filename:=filename;
  pettyform.button12.Click;
  pettyform.filename:='';
end;

procedure TMainForm.changetostep;
begin
  pettyform:=Tpettyform.create(application);
  pettyform.panel5.visible:=true;
  pettyform.panel5.bringtofront;
  pettyform.Show;
  pettyform.update;
  pettyform.stepfilename:=filename;
  pettyform.savenow:=false;
  pettyform.button15.Click;
  pettyform.stepfilename:='';
end;

procedure TMainForm.changetolarge;
begin
  largeform:=Tlargeform.create(application);
  largeform.show;
  largeform.update;
  largeform.filename:=filename;
  largeform.button12.click;
  largeform.filename:='';
end;

procedure TMainForm.ShowClick(Sender: TObject);
begin
    showform:=TShowform.create(application);
    showform.show;
    showform.update;
end;

procedure TMainForm.ExerciseClick(Sender: TObject);
begin
  pettyform:=Tpettyform.create(application);
  pettyform.panel1.visible:=true;
  pettyform.panel1.bringtofront;
  pettyform.show;
  pettyform.update;
end;

procedure TMainForm.BigprjClick(Sender: TObject);
begin
    largeform:=Tlargeform.create(application);
    largeform.show;
    largeform.update;
end;

procedure TMainForm.BshowClick(Sender: TObject);
begin
  show.click;
end;

procedure TMainForm.BexerciseClick(Sender: TObject);
begin
  exercise.click;
end;

procedure TMainForm.BbigprjClick(Sender: TObject);
begin
  bigprj.click;
end;

procedure TMainForm.ReadFileClick(Sender: TObject);
var error:boolean;
    r:rcd;
begin
  if opendialog1.Execute then
  begin
    error:=false;
    filename:=opendialog1.filename;
    if (fileexists(filename))then
    begin
      try
        try
          assignfile(f,filename);
          reset(f);
          seek(f,0);
          read(f,r);
        except
          error:=true;
        end;
      finally
        closefile(f);
      end;
      if (not error) then
      begin
        case r.data_type of
         1: changetoshow;
         2: changetopetty;
         3: changetolarge;
         4: changetostep;
        end;
      end;
    end
  end;
end;

procedure TMainForm.BreadClick(Sender: TObject);
begin
  readfile.click;
end;

procedure TMainForm.NewClick(Sender: TObject);
begin
  choiceform.showmodal;
end;

procedure TMainForm.BnewClick(Sender: TObject);
begin
  new.click;
end;

procedure TMainForm.VerClick(Sender: TObject);
begin
  verform.showmodal;
end;

procedure TMainForm.ExitClick(Sender: TObject);
begin
  if messagedlg('退出程序吗?',mtconfirmation,[mbyes,mbno],
      1)=mryes then
    application.terminate;
end;

procedure TMainForm.SpeedButton1Click(Sender: TObject);
begin
  exit.click;
end;

end.

⌨️ 快捷键说明

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