AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Array items löschen

Ein Thema von Wishmaster · begonnen am 5. Jan 2010 · letzter Beitrag vom 5. Jan 2010
Antwort Antwort
Wishmaster

Registriert seit: 14. Sep 2002
Ort: Steinbach, MB, Canada
301 Beiträge
 
Delphi XE2 Architect
 
#1

Array items löschen

  Alt 5. Jan 2010, 06:28
Hi


ich suche ne Möglichkeit um Array items zu löschen bzw hoch oder runter zu bewegen.
Wehre dankbar für en Stück Code

ich versuche en kleine Privaten Passwort Manager zu schreibe, dabei versuche ich auch mit der VirtualTreeView umzugehen.


Delphi-Quellcode:
type
(* ValueLis NextGrid *)
  TValueData = record
   Description : string;
   Value : String;
   Comment : String;
   HidenValue : Boolean;
  end;

  TValueArray = array of TValueData; <- Delete or move array item's


(* Grouplist VirtualStringTree *)
PNodeData = ^TNodeData;
TNodeData = record
IconID : Integer;
Caption : String;
ValueData : TValueArray;
end;



thx.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Array items löschen

  Alt 5. Jan 2010, 06:43
Geht nur mit Umkopieren.
Für diese Funktionalität werde eine verkettete Liste besser geeignet
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.152 Beiträge
 
Delphi 12 Athens
 
#3

Re: Array items löschen

  Alt 5. Jan 2010, 07:13
Zitat von mkinzler:
Geht nur mit Umkopieren.
Dann kommt es noch darauf an, ob die Sortierung erhalten bleiben soll oder ob diese egal ist
und ob die Geschwindigkeit und der Speicherverbrauch eine Rolle spielen.

Sortierung wichtig:
- alle Einträge nach dem zu Löschenden um 1 nach vorne kopieren
- Arraylänge um 1 kürzen

Sortierung egal:
- letzen Eintrag in den zu Löschenden kopieren oder Beide austauschen
- Arraylänge um 1 kürzen

Arraygröße egal:
- zu löschenden Eintrag einfach nur als "gelöscht" markieren
> hier muß man dann diese Markierung selber verwalten,
> beim Auslesen die "gelöschten" überspringen
> und beim Einfügen eventuell erstmal 'ne freige/gelöschte Stelle suchen, um da einzufügen, anstatt man das Array vergrößert hinten anhängt
> und man braucht mehr Speicher

von oben nach unten sind diese Varianten unterschiedlich schnell (jeweil schneller),
wobei man durch die Art des Kopierens auch noch mal am Tempo drehen kann.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Antwort Antwort


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 02:10 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