диссертация модальная логика
.pdf-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;
-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 }