Forum: Programmieren allgemein
by DeddyH,
8. Mär 2013
So, ich habe mal eine kleine Demo gebaut. Sie ist zwar längst nicht perfekt, sollte aber das Prinzip zumindest andeuten.
Forum: Programmieren allgemein
by DeddyH,
8. Mär 2013
Die Liste muss vom Typ TObjectList sein, die hinzuzufügenden Objekte vom Typ TIrgendwas (oder wie Du die Klasse auch immer nennen willst).
Und Du gibst die Liste nur im Fehlerfall frei, das kann ja auch nicht richtig sein.
Forum: Programmieren allgemein
by DeddyH,
8. Mär 2013
uses ..., Contnrs;
...
DeineListe := TObjectList.Create;
Die Liste hat einen Konstruktor-Parameter namens OwnsObjects mit Standardwert true. Ist dieser gesetzt, gibt die Liste die enthaltenen Objekte automatisch frei, sobald diese aus ihr entfernt werden.
Forum: Programmieren allgemein
by DeddyH,
7. Mär 2013
Nehmen wir mal an, Du hast so eine TObjectList deklariert und instanziert. Dann machen wir mal ein Eingabeformular mit 2 Edits. Auf ButtonClick erstellen wir ein neues Objekt und fügen es der Liste hinzu. Bei Fehleingaben sagen wir dem Benutzer Bescheid und entsorgen das gerade Objekt gleich wieder. Ungetestet:
procedure TEingabeform.ButtonDingsdaClick(Sender: TObject);
var
Irgendwas:...
Forum: Programmieren allgemein
by DeddyH,
7. Mär 2013
Wie wäre es denn mit so etwas?
type
TIrgendwas = class
private
FErsteZahl,
FZweiteZahl: double;
procedure SetErsteZahlAsString(const Value: string);
procedure SetZweiteZahlAsString(const Value: string);
function GetErsteZahlAsString: string;
function GetZweiteZahlAsString: string;
Forum: Programmieren allgemein
by DeddyH,
7. Mär 2013
Ich sag ja: Du rechnest mit der Darstellung der Werte, nicht mit den Werten selbst. Daher bekommst Du Probleme, wenn Du diese Darstellung änderst.
Forum: Programmieren allgemein
by DeddyH,
7. Mär 2013
Es wäre vielleicht nicht die schlechteste Idee, den Code ordentlich zu formatieren und die Logik von der Darstellung zu trennen, da steigt ja niemand durch :shock:
Forum: Programmieren allgemein
by DeddyH,
7. Mär 2013
eltreestringgrid1.cells := Format('%.2n €', );