Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

диссертация модальная логика

.pdf
Скачиваний:
17
Добавлен:
25.03.2016
Размер:
8.07 Mб
Скачать

-391 -

Приложение 1

seMinD: TSpinEdit; seMaxD: TSpinEdit; seStepD: TSpinEdit;

procedure btGoClick(Sender: TObject); private

{ Private declarations } public

{Public declarations } end;

var

AddToBank: TAddToBank;

implementation

uses Tools;

{$R *.DFM}

procedure TAddToBank.btGoCIick(Sender: TObject); var

CurBegN,CurEndN,CurStepN: integer; CurBegD,CurEndD,CurStepD; integer; qweReal; real;

ResolN: integer; ResolD: integer; Oboroty: integer; DiamCyl: integer; begin

//инициализация

CurBegN:=seMinOb.Value;

CurEndN:=seMaxOb.Value;

CurStepN:=seStepOb.Value;

CurBegD:=seMinD.Value;

CurEndD:=seMaxD.Value;

CurStepD:=seStepD.Value;

//вычисляем количество значени!! по N qweReal:=(CurEndN-CurBegN)/CurStepN; if frac(qweReal)=0

then ResolN:=trunc(qweReal)+I

-392-

Приложение 1

else ResolN:=trunc(qweReal)+2;

//вычисляем количество значений по D qweReal:=(CurEndD-CurBegD)/CurStepD; if frac(qweReal)=0

then ResolD:=trunc(qweRea])+l else ResolD :=trunc(qweReal)+2;

//инициализируем шкалу прогресса ggProgress.MaxValue:=ResolD*ResolN; ggProgress.MinValue:=0; ggProgress.Progress:=0;

//делаем необходимые расчеты DiamCyl:=CurBegD; Cursor:=crHowGlass;

while DiamCyl<=CurEndD do begin

Oboroty:=CurBegN;

while Oboroty<=CurEndN do begin GetBankName(Oboroty,DiamCyl/1000); ggProgress.AddProgress(l); Oboroty:=Oboroty+CurStepN;

if(Oboroty>CurEndN)and(Oborotyo(CurEndN+CurStepN)) then Oboroty:=CurEndN;

end; {while} DiamCyl:=DiamCyl+CurStepD;

if(DiamCyl>CurEndD)and(DiamCylo(CurEndD+CurStepD)) then DiamCyl:=CurEndD;

end; {while} ggProgress.Progress:=0; Cursor:=crDefault;

end;

end.

unit PPropF;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Spin, ComCtrls, ExtCtrls;

TPatPropF = class(TForm) PageControU: TPageControl; btOk: TButton;

btCancel: TButton; btApply: TButton; TabSheetl: TTabSheet; sePrec: TSpinEdit; Label l:TLabeI; rgColor: TRadioGroup; cbPrototip: TComboBox; seAngX: TSpinEdit; seAngY: TSpinEdit; seAngZ: TSpinEdit; Panel 1: TPanel; IbMasX: TLabel; IbMasY: TLabel; IbMasZ: TLabel;

Labels: TLabel;

Label6: TLabel;

Label?: TLabel;

Label2: TLabel;

Labels: TLabel;

LabeW: TLabel; edUMasX: TEdit; edUMasY: TEdit; edUMasZ: TEdit; edSourFile: TEdit; Labels: TLabel; Label9: TLabel; LabellO: TLabel; Labelll: TLabel; Labell2: TLabel; LabellS: TLabel;

procedure FonnActivate(Sender: TObject); procedure btApplyClick(Sender: TObject); procedure edUMasXExit(Sender: TObject); procedure edUMasYExit(Sender: TObject); procedure edUMasZExit(Sender: TObject); procedure edRMasXExit(Sender: TObject);

-394 -

Приложение 1

procedure edRMasYExit(Sender: TObject); procedure edRMasZExit(Sender: TObject); private

{Private declarations} public

{Public declarations } NumbOfPat: byte;

end;

var

PatPropF: TPatPropF;

implementation

uses MainUnit, DForce, Tools;

{$R *.DFM}

procedure TPatPropF.FonnActivate(Sender: TObject); var

i; byte;

begin {procedure FormActivate} // формируем список паттернов with cbPrototip.Items do begin Clear;

with (MainForm.ActiveMDIChild as TForce) do ifNamePrtpo"

then cbPrototip.Text:=NamePrtp else cbPrototip.Text:='(HeT)';

Add('(HeT)');

for i:=0 to MainForm.MDIChildCount-1 do begin if(MainForm.ActiveMDIChildoMainForm.MDIChildren[i])

and(MainForm.MDIChildren[i] is TForce) then Add(MainForm.MDIChildren[i] .Caption);

end;

end; {with}

// считываем параметры паттерна

with (MainForm.ActiveMDIChild as TForce) do begin sePrec.VaIue:=Precis; rgColor.ItemIndex:=ColorStyle;

-395 -

Приложение 1

seAngX.Value:=SiCoToGrad(RotAng.OXAng);

seAngY.Value:=SiCoToGrad(RotAng.OYAng);

seAngZ.Value:=SiCoToGrad(RotAng.OZAng);

lbMasX.Caption:=floattostrf(SKoord.MasX,ffFixed,3,3);

lbMasY.Caption:=floattostrf(SKoord.MasY,ffFixed,3,3);

lbMasZ.Caption:=floattostrf(SKoord.MasZ,ffFixed,3,3);

edUMasX.Text:=floattostr(SKoord.UserMasX);

edUMasY.Text:=floattostr(SKoord.UserMasY);

edUMasZ.Text:=floattostr(SKoord.UserMasZ); with SKoord do begin

//edRMasX.Text:=floattostrf(MasX*UserMasX,ffFixed,3,3);

//edRMasY.Text:=floattostrf(MasY*UserMasY,ffFixed,3,3);

//edRMasZ.Text:=floattostrf(MasZ*UserMasZ,ffFixed,3,3);

end;

edSourFile.Text:=SourceFile; end; {with}

end; {procedure FormActivate}

procedure TPatPropF.btApplyClicl<;(Sender: TObject); var

AngSDOld: TAngel3D; begin

//

with (MainForm.ActiveMDIChild as TForce) do begin

//устанавливаем новые параметры в паттерне

///определяем выбранный прототип NamePrtp:=cbPrototip.Text;

if NamePrtp='(HeT)' then NamePrtp:=";

///

Precis:=sePrec.Value;

CoIorStyle:=rgColor.ItemIndex;

RotAng.OXAng:=GradToSiCo(seAngX.Value);

RotAng.OYAng:=GradToSiCo(seAngY.Value);

RotAng.OZAng:=GradToSiCo(seAngZ.Value);

SKoord.UserMasX:=strtofloat(edUMasX.Text);

SKoord.UserMasY:=strtofloat(edUMasY.Text);

SKoord.UserMasZ:=strtofloat(edUMasZ.Text); // запоминаем положение паттерна

with (MainForm.ActiveMDIChild as TForce).SKoord do Ang3D01d:=GetAngel3D(AxisX,AxisY,AxisZ);

-396 - Приложение 1

// перерисовываем паттерн FreeMemory;

GetArray3D;

CalculGabarit;

with AngSDOld do begin

RotateBase('y',OYAng,false); // поворачиваем относительно оси OY RotateBase('x',OXAng,false); // поворачиваем относительно оси OX RotateBase('z',OZAng,false); // поворачиваем относительно оси 0Z end; {with}

CreateArrayScreen;

CalculArray2D;

CreateArrayPlane;

OutSpace.RePaint; end; {with}

end;

procedure TPatPropF.edUMasXExit(Sender: TObject); begin //edR]V[asX.Text:=floattostrf(strtofloat(lbMasX.Caption)* // strtofloat(edUMasX.Text),ffFixed,3,3); end;

procedure TPatPropF.edUMasYExit(Sender: TObject); begin //edRMasY.Text:=floattostrf(strtofloat(lbMasY.Caption)* // strtofloat(edUMasY.Text),ffFixed,3,3); end;

procedure TPatPropF.edUMasZExit(Sender: TObject); begin //edRMasZ.Text:=floattostrf(strtofloat(lbMasZ.Caption)* // strtofloat(edUlVfasZ.Text),ffFixed,3,3); end;

procedure TPatPropF.edRMasXExit(Sender: TObject); begin //edUMasX.Texf.=floattostrf(strtofloat(edRMasX.Text)/

// strtofloat(lbMasX.Caption),ffFixed,3,3); end;

-397-

Приложение I •

procedure TPatPropF.edRMasYExit(Sender: TObject); begin //edUMasY.Text:=floattostrf(strtofloat(edRMasY.Text)/

// strtofloat(lbMasY.Caption),ffFixed,3,3); end;

procedure TPatPropF.edRMasZExit(Sender: TObject); begin //edUMasZ.Text:=floattostrf(strtofloat(edRMasZ.Text)/

// strtofloat(lbMasZ,Caption),ffFixed,3,3); end;

end.

unit PPropI;

interface

uses

Windows, Messages, SysUtils, Classes, Grapliics, Controls, Forms, Dialogs, StdCtrls, Spin, ComCtrls;

type

TPatPropI = c]ass(TForm) btOk: TButton; btCancel: TButton; btApply: TButton;

PageControl 1: TPageControl; TabSheetl: TTabSheet; edSourFile: TEdit;

sePrec: TSpinEdit; chToFit: TCheckBox; chPol: TCheckBox; chlzn: TCheckBox; Label l:TLabel; Label2: TLabel;

cbPrototip: TComboBox; Labels: TLabel;

procedure FormActivate(Sender; TObject); procediu-e btApplyClick(Sender: TObject);

-398 -

Приложение 1

private

{Private declarations } public

{Public declarations } end;

var

PatPropI: TPatPropI;

implementation

uses MainUnit, DIznos;

{$R *.DFM}

procedure TPatPropI.FormActivate(Sender: TObject); var

i: byte; begin

// формируем список паттернов with cbPrototip.Items do begin Clear;

with (MainForm.ActiveMDIChild as TIznos) do ifNamePrtpo"

then cbPrototip.Text:=NamePrtp else cbPrototip.Text:='(HeT)';

Add('(HeT)');

for i:=0 to MainForm.MDIChildCount-1 do begin if(MainForm.ActiveMDIChildoMainForm.MDIChildren[i])

and(MainForm.MDIChildren[i] is TIznos) then Add(MainForm.MDIChildren[i].Caption);

end;

end; {with}

// считываем параметры диаграммы

with (MainForm.ActiveMDIChild as TIznos) do begin sePrec.Value:=Precis;

edSourFile.Text:=SourceFile;

chPol.Checked:=chPolar; chlzn. Checked :=chIznos; chToFit.Checked:=chFit;

-399-

Приложение 1

end; {with} end;

procedure TPatPropI.btApplyCnck(Sender; TObject); begin

with (MainForm.ActiveMDIChild as TIznos) do begin // проверка на правильность установок

if (chPol.Checked=false)and(chlzn.Checked=false) then begin Beep;

ShowMessage('Oпpeдeлитe какую диаграмму показывать!!!'); chPo].Checked:=chPolar;

chIzn.Checked:=chIznos;

chToFit.Checked:=chFit;

exit;

end;

//устанавливаем новые параметры в паттерне

///определяем выбранный прототип NamePrtp :=cbPrototip .Text;

if NamePrtp='(HeT)' then NamePrtp:=";

//

Precis:=sePrec.Value;

chPolar:=chPol.Checked;

chIznos:=chIzn.Checked;

chFit:=chToFit.Checked;

// перерисовываем паттерн FreeMemory; GabLoc:=TList.Create; GetArrayBase; GetGabarits;

OutSpace. Repaint; end; {with}

end;

end.

unit SelDVS;

interface

uses

-400 -

Приложение 1

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

StdCtrls, ExtCtrls;

type

TSelectDVS = class(TForm) Bevel 1: TBevel;

Bevel2: TBevel;

Bevels: TBevel; btDvigIn; TButton; btDvigOut: TButton; btMassaIn: TButton; btMassaOut: TButton; btlndicin: TButton; btlndicOut: TButton; btTeplIn: TButton; btTeplOut: TButton; btOk; TButton; btCancel: TButton; Bevel4: TBevel; Label 1: TLabel; Label2: TLabel; Labels: TLabel; Label4: TLabel; IbDvig: TLabel; IbMassa: TLabel; Iblndic: TLabel; IbTepl: TLabel;

procedure btDvigInClick(Sender: TObject); procedure btMassaInClick(Sender: TObject); procedure btIndicInClick(Sender: TObject); procedure btTeplInClick(Sender: TObject); procedure btDvigOutClick(Sender: TObject); procedure btMassaOutClick(Sender: TObject); procedure btTeplOutClick(Sender: TObject); procedure btlndicOutClick(Sender; TObject); procedure FormActivate(Sender: TObject); procedure btOkClick(Sender: TObject); procedure btCancelClick(Sender: TObject); private

{Private declarations }