AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Dynamisches Array und Class

Ein Thema von blacky35 · begonnen am 8. Mär 2005
Antwort Antwort
blacky35

Registriert seit: 9. Jan 2005
Ort: Pfaffenweiler
9 Beiträge
 
Delphi 2005 Professional
 
#1

Dynamisches Array und Class

  Alt 8. Mär 2005, 10:20
Hallo zusammen,

habe zur Übung folgendes ausprobiert.

Habe eine Klasse TSave in der 3 Werte gerechnet werden.

Da die Klasse u.u. mehrfach durchlaufen werden soll, habe ich für meine Sicherungen einen eigenen Typ erstellt. Die einzelnen Sicherungen sollen in einem Array gespeichert werden. Jetzt soll jede Sicherung die sich im Array befindet, die Klasse TSave benutzen um die 3 Werte für jede Sicherung zu berechnen.
Weiß jetzt jedoch nicht genau wo ich was deklarieren soll.

Mit Sicherung1 und ohne Array hatte alles funktioniert.

Mein Code ist beigefügt:

Delphi-Quellcode:
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;
Friedrich
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:47 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz