AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein TStringList nach Dupplikaten suchen - Standard Pascal
Thema durchsuchen
Ansicht
Themen-Optionen

TStringList nach Dupplikaten suchen - Standard Pascal

Ein Thema von paule32.jk · begonnen am 2. Sep 2024 · letzter Beitrag vom 4. Sep 2024
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von himitsu
himitsu

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

AW: TStringList nach Dupplikaten suchen - Standard Pascal

  Alt 3. Sep 2024, 16:56
Leider fehlen viele Funktionen für Values.

Dass es nur ein Values[Name] und kein Values[Index] gibt (ja, das doppelt gemoppelte ValuesFromIndex[Index] ignoriere ich mal), liegt lag am Delphi 1-7, da sich dort Default-IndexProperty nicht überladen ließen, aber das geht nun seit vielen Jahren,
dann fehlt ein IndexOfValue (IndexOf, IndexOfName und IndexOfObject gibt es ja auch),
dann noch die fehlenden ToNameArray und ToValueArray (zu den ToStringArray und ToObjectArray)
sowie Duplicates für Names und Values

und schon hätten wir viele Fälle abgedeckt, welche hier und die letzten Monate über immer mal welche hatten.



Und warum wir Duplicates=dupError ignoriert, wenn Sorted=False?
Wenn es beim Zuweisen ignoriert wird, sollte es beim Zuweisen bereits einen Fehler gegen,
außerdem gibt es keinen Grund, dass es nicht funktioniert ... nur weil jemand bei Borland/Emba zu faul war das für den unsortieren Fall zu implementieren, abgesehn davon dass IndexOf sowohl sortiert als auch unsortiert funktioniert.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von Sinspin
Sinspin
Online

Registriert seit: 15. Sep 2008
Ort: Dubai
677 Beiträge
 
Delphi 10.3 Rio
 
#12

AW: TStringList nach Dupplikaten suchen - Standard Pascal

  Alt 3. Sep 2024, 18:26
Ich versuche in letzter Zeit auf die Stringliste zu verzichten wenn ich Wertepaare habe.
Mit einer Memtable kann man sowas deutlich angenehmer lößen.
Stefan
Nur die Besten sterben jung
A constant is a constant until it change.
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.093 Beiträge
 
Delphi 12 Athens
 
#13

AW: TStringList nach Dupplikaten suchen - Standard Pascal

  Alt 4. Sep 2024, 07:44
Mit einer Memtable kann man sowas deutlich angenehmer lößen.
Interessante Idee.
Wieviel Overhead bringt das denn im Gegensatz zu TStringList und Generics.TDictionary, hast Du das mal gegenübergestellt?

Ich hätte für Key/Value jetzt eigentlich ein TDictionary genommen, aber ja,
TMemTable hätte noch ein paar sehr hübsche Nebeneffekte (Load/Save/Mehrfachvalues/Dataset-Kompatibel/...).
  Mit Zitat antworten Zitat
Benutzerbild von Sinspin
Sinspin
Online

Registriert seit: 15. Sep 2008
Ort: Dubai
677 Beiträge
 
Delphi 10.3 Rio
 
#14

AW: TStringList nach Dupplikaten suchen - Standard Pascal

  Alt 4. Sep 2024, 09:28
Wir verwenden seit Jahren die KBMMemTable in der Firma. Komplett Pascal, irre schnell und extrem flexibel.
Alle paar Jahre hohle ich mir auch privat eine neue Pro Version.

Schon alleine das es TDataSet compatibel ist und echte Feldtypen hat, ist es tausendmal besser als TStringList.
Mit Generics gingen einfache Sachen ja auch. Aber filtern, sortieren, suchen, ... ist alles ein Kinderspiel mit der MemTable.
Ich verwende die sogar zum übertragen von Daten übers Netz oder über IPC Kommunikation. Irgendwie muss man seine Daten ja in ein ordentliches Format bekommen.

Overhead, gute Frage. Habe ich mich nicht wirklich mit befasst.
Andere Lösungen sind meißt umständlicher zu bedienen. Was anderes interessiert mich nicht.
Schneller als TStringList ist es sowieso.
Stefan
Nur die Besten sterben jung
A constant is a constant until it change.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 11:14 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