AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein letztes Element eines Records löschen
Thema durchsuchen
Ansicht
Themen-Optionen

letztes Element eines Records löschen

Ein Thema von Davidlocke13 · begonnen am 4. Sep 2013 · letzter Beitrag vom 5. Sep 2013
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Davidlocke13
Davidlocke13

Registriert seit: 19. Sep 2012
Ort: MD (Sachsen-Anhalt)
166 Beiträge
 
Delphi 2010 Enterprise
 
#1

AW: letztes Element eines Records löschen

  Alt 4. Sep 2013, 17:18
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:

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 ?

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


Es geht nur: Edit_Sätze[k].zehn_Edit :=nil; !
Aber damit ist es ja nicht gelöscht !
David
ApfelsineMandarineAllesGleich
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.629 Beiträge
 
Delphi 12 Athens
 
#2

AW: letztes Element eines Records löschen

  Alt 4. Sep 2013, 17:40
Wie ist TEditSätze deklariert?

OT: ist doch niedlich, daß die IDE auch Deutsche Umlaute in Variablennamen kann, nicht?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Der schöne Günther
Online

Registriert seit: 6. Mär 2013
6.196 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: letztes Element eines Records löschen

  Alt 4. Sep 2013, 18:23
OT: ist doch niedlich, daß die IDE auch Deutsche Umlaute in Variablennamen kann, nicht?
Um ganz ehrlich zu sein habe ich teilweise wirkllich Umlaute und (könnte sogar sein) Unicode-Zeichen in Bezeichnern. Tut doch niemandem weh?
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.629 Beiträge
 
Delphi 12 Athens
 
#4

AW: letztes Element eines Records löschen

  Alt 4. Sep 2013, 19:54
Um ganz ehrlich zu sein habe ich teilweise wirkllich Umlaute und (könnte sogar sein) Unicode-Zeichen in Bezeichnern. Tut doch niemandem weh?
Jein! Du kannst z.B. auch Komponenten auf dem Form mit Umlauten im Namen verwenden. Schaltest du dann aber das Form in den Textmodus, schrottet die IDE die Textdarstellung.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.352 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: letztes Element eines Records löschen

  Alt 4. Sep 2013, 17:48
Also wenn man ein Objekt (z.B. Edit1) freigeben will, dann macht man das mit:

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".

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

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.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.656 Beiträge
 
Delphi 12 Athens
 
#6

AW: letztes Element eines Records löschen

  Alt 4. Sep 2013, 18:10
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.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Davidlocke13
Davidlocke13

Registriert seit: 19. Sep 2012
Ort: MD (Sachsen-Anhalt)
166 Beiträge
 
Delphi 2010 Enterprise
 
#7

AW: letztes Element eines Records löschen

  Alt 5. Sep 2013, 09:35
type TEdit_Sätze=array of TEdit_Satz;
David
ApfelsineMandarineAllesGleich
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.656 Beiträge
 
Delphi 12 Athens
 
#8

AW: letztes Element eines Records löschen

  Alt 5. Sep 2013, 09:45
Delphi-Quellcode:
var
  ZuLoeschendesEdit: TEdit;
begin
  ...
  ZuLoeschendesEdit := Edit_Sätze[k].zehn_Edit;
  Edit_Sätze[k].zehn_Edit := nil;
  ZuLoeschendesEdit.Free;
end;
Das sollte nach meinem Dafürhalten funktionieren und nebenbei einigermaßen verständlich sein.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Der schöne Günther
Online

Registriert seit: 6. Mär 2013
6.196 Beiträge
 
Delphi 10 Seattle Enterprise
 
#9

AW: letztes Element eines Records löschen

  Alt 5. Sep 2013, 09:50
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?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.656 Beiträge
 
Delphi 12 Athens
 
#10

AW: letztes Element eines Records löschen

  Alt 5. Sep 2013, 10:00
Wieso sollte k kleiner werden? Die Anzahl der Array-Elemente ist ja nicht betroffen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:19 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