![]() |
AW: letztes Element eines Records löschen
Zitat:
|
AW: letztes Element eines Records löschen
Zitat:
|
AW: letztes Element eines Records löschen
Delphi-Quellcode:
type TEdit_Sätze=array of TEdit_Satz;
|
AW: letztes Element eines Records löschen
Delphi-Quellcode:
Das sollte nach meinem Dafürhalten funktionieren und nebenbei einigermaßen verständlich sein.
var
ZuLoeschendesEdit: TEdit; begin ... ZuLoeschendesEdit := Edit_Sätze[k].zehn_Edit; Edit_Sätze[k].zehn_Edit := nil; ZuLoeschendesEdit.Free; end; |
AW: letztes Element eines Records löschen
Sollte ... das k nicht noch irgendwie von alleine kleiner werden? Mich hat das ganze schon zu Beginn überfordert, ich halte mich besser raus.
Ich kann mir überhaupt nicht vorstellen, was hier grade abläuft. Wenn ich ein Bild malen würde, was sich beim Benutzer auf dem Bildschirm abspielen würde, wie sähe das aus? |
AW: letztes Element eines Records löschen
Wieso sollte k kleiner werden? Die Anzahl der Array-Elemente ist ja nicht betroffen.
|
AW: letztes Element eines Records löschen
Ich meinte nur das hier:
Zitat:
|
AW: letztes Element eines Records löschen
Achso. k wird höchstwahrscheinlich eine Schleifenvariable sein, ansonsten erschließt sich mir der Sinn auch nicht.
|
AW: letztes Element eines Records löschen
Ich weiß zwar auch nicht genau, was hier mit den Edits passieren soll, aber wäre es nicht viel eleganter, das ganze in Klassen und Listen zu verwalten anstatt in Records und Arrays.
also
Delphi-Quellcode:
Im Create werden die ganzen Komponenten erzeugt und im Destroy mit free wieder freigegeben.
Type
TEdit_Satz=class Combo_Komponente:TCombobox; Mmo_Beschreibung:TMemo; Preis_Edit:TEdit; zehn_Edit:TEdit; zehnMwSt_Edit:TEdit; zwanzig_Edit:TEdit; zwanzigMwSt_Edit:TEdit; vierzig_Edit:TEdit; vierzigMwSt_Edit: TEdit; constructor Create; destructor Destroy; override; end; Anstatt deinem Array nimmst du eine TObjectList.
Delphi-Quellcode:
var
list:TObjectList; es:TEditSatz; ... // Liste füllen es:=TEditSatz.Create; list.add(es); ... // und Löschen des letzten Objekts list.delete(list.count-1); |
AW: letztes Element eines Records löschen
Zitat:
Delphi-Quellcode:
Eventuell musst du noch die Komponenten innerhalb des Records freigeben, aber es ist bisher ja auch nicht ersichtlich, wie die da überhaupt rein kommen.
SetLength(Edit_Sätze, Length(Edit_Sätze) - 1);
dec(k); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:53 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz