Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   letztes Element eines Records löschen (https://www.delphipraxis.net/176428-letztes-element-eines-records-loeschen.html)

Davidlocke13 4. Sep 2013 16:20

letztes Element eines Records löschen
 
Hallo;

wie kann ich das letzt Element eines Records löschen ?

Fange gerade erst mit Records an deshalb habe ich da gar keine Ahnung!


Liebe Grüße

Uwe Raabe 4. Sep 2013 16:23

AW: letztes Element eines Records löschen
 
Zitat:

Zitat von Davidlocke13 (Beitrag 1227179)
wie kann ich das letzt Element eines Records löschen ?

Die Frage macht irgendwie keinen Sinn. Bevor ich jetzt rate, erklär doch mal, was du hast und was du willst.

mkinzler 4. Sep 2013 16:24

AW: letztes Element eines Records löschen
 
Verwechselst Du Record mit Array?

Davidlocke13 4. Sep 2013 16:59

AW: letztes Element eines Records löschen
 
Nein ich meine schon einen Record

Delphi-Quellcode:
Type
  TEdit_Satz=record
    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;
end;
Das ist doch ein Record ?!

Uwe Raabe 4. Sep 2013 17:03

AW: letztes Element eines Records löschen
 
Und welches Element soll nun gelöscht werden?

Edit: mir schwant furchtbares...

Der schöne Günther 4. Sep 2013 17:07

AW: letztes Element eines Records löschen
 
Jetzt bin ich auch mal gespannt. VCL-Komponenten in einem Record, ok. Aber dann "das letzte" ... "löschen"? :shock:

Davidlocke13 4. Sep 2013 17:18

AW: letztes Element eines Records löschen
 
so ...

Delphi-Quellcode:
private
Edit_Sätze:TEdit_Sätze;

ich gehe dann her und erstelle dann mehrere Edits die eine Variable k vom Typen Integer bekommen:

Delphi-Quellcode:
Edit_Sätze[k].zehn_Edit
wenn ich jetzt bei k z.B. auf 5 bin, wie kann ich dann das letzte Teil löschen so das k auf 4 ist ?

Delphi-Quellcode:
Edit_Sätze[k].zehn_Edit :=free;
geht schon mal nicht !


Es geht nur:
Delphi-Quellcode:
Edit_Sätze[k].zehn_Edit :=nil;
!
Aber damit ist es ja nicht gelöscht !

Uwe Raabe 4. Sep 2013 17:40

AW: letztes Element eines Records löschen
 
Wie ist TEditSätze deklariert?

OT: ist doch niedlich, daß die IDE auch Deutsche Umlaute in Variablennamen kann, nicht?

stahli 4. Sep 2013 17:48

AW: letztes Element eines Records löschen
 
Also wenn man ein Objekt (z.B. Edit1) freigeben will, dann macht man das mit:

Delphi-Quellcode:
Edit1.Free;
Edit1 ist dann "undefiniert". Wenn Du Edit1.Text dann etwas zuweist kann das schnell ungeahnte und unvorhersehbare Probleme verursachen.

Deshalb kann man noch die Variable "auf Null setzen".

Delphi-Quellcode:
Edit1 := nil;
Beide Anweisungen lassen sich auch gemeinsam ausführen:

Delphi-Quellcode:
FreeAndNil(Edit1);

Soweit zum Löschen Deines Edits.


Was Du genau mit Deinem Record und Deinem Array bezweckst habe ich nicht wirklich verstanden. Sicher gibt es bessere Lösungen.
I.d.R. werden diese eher für Datenverwaltung verwendet.

Vermutlich solltest Du Dir einmal anschauen, wie man Komponenten entwickelt. So kann man z.B. ein Panel definieren, das gleich einige Edits, Schalter usw. enthält.

Noch einfacher und oft ausreichend ist die Verwendung von Frames.

DeddyH 4. Sep 2013 18:10

AW: letztes Element eines Records löschen
 
Das FreeAndNil bringt aber nur dann einen Vorteil, wenn vor jedem Zugriff auf die entsprechende Objektvariable auch auf nil bzw. Assigned geprüft wird. Ansonsten produziert man immer noch ggf. AVs.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:12 Uhr.
Seite 1 von 3  1 23      

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