AW: Datenstruktur für (viele) xy-Werte
Zitat:
Delphi-Quellcode:
und die Speicherung dann über eine T(Object)List.
TFloatPoint = class(TObject)
private FX : Double; FY : Double; public constructor Create(_x, _y : Double); function getAbstandVomUrsprung : Double; function getAbstandVonAnderemPunkt(_p : TFloatPoint); property X : Double read FX write FX; property Y : Double read FY write FY; end;
Delphi-Quellcode:
Fehlerbehandlung außen vor gelassen
procedure TransferValues;
var list : TObjectList; tx, ty : Double; begin list := TObjectList.Create; for i := 0 to StringList.Count - 1 do begin tx := StrToInt({x-Element aus}StringList.Lines[i]); ty := StrToInt({y-Element aus}StringList.Lines[i]); list.Add(TFloatPoint.Create(tx, ty)); end; //Weitere Arbeitsschritte mit den Werten List.Free; end; Ist etwas langsamer als der Zugriff über Records, aber wenn Geschwindigkeit nicht das oberste Gebot ist, finde ich ObjectLists eigentlich immer sehr komfortabel. Vielleicht bin ich aber auch komplett über's Ziel hinaus oder knapp dran vorbei geschossen...:wink: |
AW: Datenstruktur für (viele) xy-Werte
Das entspricht in etwa dem, was ich auch bereits vorgeschlagen hatte, nur dass ich keine TObjectList, sondern gleich die Stringliste verwendet hätte. Im Hinblick auf die Speicherverwaltung ist die TObjectList allerdings komfortabler.
|
AW: Datenstruktur für (viele) xy-Werte
Zitat:
Ich wollte einfach darauf hinaus (wie Du auch schon geschrieben hast), dass es mEn mit Klassen / Objekten komfortabler geht, sobald man mehr als eine reine Datenhaltung braucht. [OT] <ironie> menno, jetzt hab' ich mich für SO intelligent gehalten, eine vollständig neue Lösung zu finden</ironie> [/OT] |
AW: Datenstruktur für (viele) xy-Werte
vielen Dank für die Antworten!
@SilverMoon sieht gut aus, ob Record oder doch gleich Dein Ansatz werde ich mir ansehen, sobald klarer wird, wie ich mit den Daten weitermache. Es wird primär darum gehen, Polynome durchzulegen, auf Ausreisser zu prüfen und dergleichen. für den Start nehme ich mal den Record-Ansatz, der erscheint mir übersichtlich vielen Dank nochmals! |
AW: Datenstruktur für (viele) xy-Werte
Zitat:
|
AW: Datenstruktur für (viele) xy-Werte
Zitat:
Wenn ja, dann würd über den neuen Speichermanager dort Einiges optimiert, da dieser Speicher "inplace" vergrößern/-kleiner kann. (wenn genug Platz) |
AW: Datenstruktur für (viele) xy-Werte
Zitat:
Dann ist doch die Anzahl der Datensätze bekannt und es muss noch nichtmal ein dyn. Array sein, bzw. besser ausgedrückt eines, dass nur einmal vergrößert werden muss. |
AW: Datenstruktur für (viele) xy-Werte
Kleine Zusatzfrage, die sich direkt aus dem obigen ergibt:
warum geht das hier nicht?:
Delphi-Quellcode:
Ich will also der Prozedur die StringList und das daraus gerechnete Array übergeben und dort die Größe des Arrays festlegen. Das klappt aber nicht. Ich muss SetLength ausserhalb der Prozedur machen.
procedure FloatArrayFromStringList(astringlist : TStringList; afloatarray : TFloatArray);
var i : integer; begin SetLength(afloatarray,astringlist.count); //das hier geht so offenbar nicht! for i := 0 to astringlist.count-1 do begin TryStrToFloat(etc.) end; end; danke cltom |
AW: Datenstruktur für (viele) xy-Werte
Muss man das vllt. als var oder sowas übergeben?
|
AW: Datenstruktur für (viele) xy-Werte
Jepp.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:43 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