Unit Sicherung;
interface
type TSave =
class(TObject)
private
F_Kraft: Double;
F_Reibwert: Double;
F_Lang: Double;
F_Quer: Double;
F_Hoch: Double;
function getNieder: Double;
function getDirektL: Double;
function getDirektQ: Double;
public
property Kraft: Double
write F_Kraft;
property Reibwert: Double
write F_Reibwert;
property Lang: Double
write F_Lang;
property Quer: Double
write F_Quer;
property Hoch: Double
write F_Hoch;
property Niederzurrung: Double
read getNieder;
property DirektsicherungL: Double
read getDirektL;
property DirektsicherungQ: Double
read getDirektQ;
end;
implementation
function TSave.getNieder;
begin
result:= F_Hoch/Sqrt(Sqr(F_Lang) + Sqr(F_Hoch) + Sqr(F_Quer)) /2 * F_Kraft * F_Reibwert;
end;
function TSave.getDirektL;
begin
result:= F_Lang/Sqrt(Sqr(F_Lang) + Sqr(F_Hoch) + Sqr(F_Quer)) * F_Kraft;
end;
function TSave.getDirektQ;
begin
result:= F_Quer/Sqrt(Sqr(F_Lang) + Sqr(F_Hoch) + Sqr(F_Quer)) * F_Kraft;
end;
end.
var
HauptF: THauptF;
implementation
uses Sicherung;
type
TSicherung =
record
sichmittel:
string[30];
kraftmax:
string[6];
kraftist:
string[6];
reibwert:
string[4];
lang:
string[4];
quer:
string[4];
hoch:
string[4];
direktv: boolean;
direktl: boolean;
direktr: boolean;
direkth: boolean;
end;
var //Sicherung: TSicherung;
Sicherung:
array of TSicherung;
pm,
index: Word;
//var Sicherung1: TSave;
{$R *.dfm}
procedure THauptF.FormCreate(Sender: TObject);
begin
HauptF.Height:= 600;
HauptF.Width:= 800;
VorneCk.Enabled:= false;
HintenCk.Enabled:= false;
LinksCk.Enabled:= false;
RechtsCk.Enabled:= false;
FormschlussL.Enabled:= false;
DecimalSeparator:= '
,';
end;
procedure THauptF.BerSicherungBClick(Sender: TObject);
var code: Integer; IstKraft, MaxKraft, ReibWert, Lang, Quer, Hoch: Single;
var Sicherung(1): TSave;
begin
Inc(pm);
//SetLength(Sicherung, pm);
Sicherung(1):= TSave.Create;
Val(MaxKraftE.Text, MaxKraft, code);
//Val(IstKraftE.Text, IstKraft, code);
Val(ReibwertC.Text, Reibwert, code);
Val(LangE.Text, Lang, code);
Val(QuerE.Text, Quer, code);
Val(HochE.Text, Hoch, code);
if (IstKraftE.Text <> '
')
and (IstKraftE.Text <> '
0')
then
begin
Val(IstKraftE.Text, IstKraft, code);
Sicherung(1).Kraft:= IstKraft;
end
else
begin
// Sicherung1.Kraft:= MaxKraft;
end;
//Sicherung1.Reibwert:= Reibwert;
//Sicherung1.Lang:= Lang;
//Sicherung1.Quer:= Quer;
//Sicherung1.Hoch:= Hoch;
//NiederL.Caption:= 'Niederzurrung = ' + FloatToStr(Round(Sicherung1.Niederzurrung))
// + ' daN';
//DirektLL.Caption:= 'Direktzurrung längs = ' + FloatToStr(Round(Sicherung1.DirektsicherungL))
// + ' daN';
//DirektQL.Caption:= 'Direktzurrung quer = ' + FloatToStr(Round(Sicherung1.DirektsicherungQ))
// + ' daN';
end;