Forum: Algorithmen, Datenstrukturen und Klassendesign
by norwegen60,
11. Jul 2020
Meinst du sowas:
type
ITestList = IList<TTest>;
function SoJa:ITestList;
begin
Result := TCollections.CreateObjectList<TTest>(True);
end;
Forum: Algorithmen, Datenstrukturen und Klassendesign
by norwegen60,
10. Jul 2020
WOW, jetzt sind wir ganz nah dort wie ich es mir mit functions vorgestellt habe. Einziges Problem. Ich habe noch nie mit Interfaces gearbeitet. Eigenlich sieht es ja sehr ähnlich aus.
Kurz zusammengafasst:
lStartList wird in Start erzeugt
Alle anderen Listen werden in CopyTestList erzeugt
Aber wer kümmert sich um das Free. Denn wenn ich durch bin, sind drei Listen erzeugt, arbeiten tu ich...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by norwegen60,
10. Jul 2020
Ich weiß keinen Weg, wie ich um 3 Instanzen rum komme
Was ich machen muss sind diverse Rechenschritte Wie z.B.
Korrektur um einen zu berechnenden Wert
Averaging über die X rechts und links liegenden Werte in der Liste
Ableitung nach Savitzky/Golay
Instanz 1 enthält die Ausgangsdaten die nicht verändert werden sollen
Instanz 2 enthält die zuletzt berechneten Werte
Instanz 3 enthält die...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by norwegen60,
10. Jul 2020
In der Art hatte ich es ursprünglich. Da die Berechnungen zum Teil aufwändig sind, führe ich sie nur noch aus, wenn sie auch benötigt wird
if FlagTuWas1 then
TuWas1(List1, List2);
if FlagTuWas2 then
TuWas2(List2, List3);
was so dann natürlich nicht geht. Wenn TuWas1 nicht ausgeführt würde müsste ich List1 statt List2 in TuWas2 eingeben
Und der Ansatz
var
Forum: Algorithmen, Datenstrukturen und Klassendesign
by norwegen60,
10. Jul 2020
Es spricht nichts dagegen. Es geht mir ums Verständnis. Und da frage ich mich, wie das Konstrukt aussehen müsste, wenn man die Liste als function zurück gibt.
Doch ein kleines Problem habe ich doch. Wie muss das dann aussehen?
procedure TuAlles(const SourList, DestList:TTestList);
begin
TuWas1(SourceList, DestList);
// Wie gehe ich vor, dass mit dem nächsten Aufruf die vorige DestList...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by norwegen60,
10. Jul 2020
Zunächst Danke für die schnellen Antworten
Dass Objekte kein var brauchen dachte ich anfangs auch habe aber eben festgestellt, dass es unterschiedlich reagiert.
Um es sicher zu stellen:
Wenn das Objekt in der Funktion erzeugt wird, muss ein var dazu
Wenn man verhindern will, dass eine neue Instanz erzeugt wird (Create), kann man das mit const verhindern
Forum: Algorithmen, Datenstrukturen und Klassendesign
by norwegen60,
9. Jul 2020
Hallo.
ich habe eine TObjectList, bei der ich verschiedene Berechnungen vornehmen will. Ich suche den sauberen Weg, wie ich die Liste an die Funktionen übergeben und des Ergebnis wieder zurück gebe. Dabei soll es möglich sein, dass die SourceList unverändert bleibt.
Hier ein abgespecktes Beispiel
type
TTest = class
private
FValue: Double;
public