Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Stringliste indexOfName IndexofValue (https://www.delphipraxis.net/203012-stringliste-indexofname-indexofvalue.html)

bernhard_LA 3. Jan 2020 13:42

Stringliste indexOfName IndexofValue
 
meine Stringliste hat folgenden Inhalt

key1=Value1
keyA=Value2
keyV=Value3
keyX=Value4

Ich möchte in meine Liste nur dann ein neues Paar "key=value" einfügen, wenn der value nicht schon exitiert.
StringList.IndexofName hilft mir nicht, eine Funktion IndexOfvalue würde ich benötigen

Gibt es hier schon etwas ?

Neutral General 3. Jan 2020 13:44

AW: Stringliste indexOfName IndexofValue
 
Ich weiß nicht wie das bei dir aussieht aber kannst du Key und Value nicht einfach tauschen?

Dalai 3. Jan 2020 13:52

AW: Stringliste indexOfName IndexofValue
 
Wie wär's mit Delphi-Referenz durchsuchenTStringList.Values? Ist der gesuchte Wert nicht vorhanden, gibt das einen Leerstring zurück. Sofern also deine Werte nicht leer sind, müsste das doch sein, was du suchst.

Grüße
Dalai

Neutral General 3. Jan 2020 13:53

AW: Stringliste indexOfName IndexofValue
 
Values gibt nur den Wert zu einem Key. Damit kriegt man nicht raus ob IRGENDEIN Key einen bestimmten Value hat.

bernhard_LA 3. Jan 2020 14:03

AW: Stringliste indexOfName IndexofValue
 
tauschen von Key und Value geht leider nicht muss mich hier an ein festes Ausgabeformat halten,
will halt eine Suche ob ein Substring vorhanden ist vor jedem Einfügen vermeiden, die Listen können sehr lang werden

Dalai 3. Jan 2020 14:06

AW: Stringliste indexOfName IndexofValue
 
Tja, eine simple Variante ist, eine Kopie der Funktion IndexOfName zu machen und sie zu einem IndexOfValue umzuarbeiten. Ob man das dann als Ableitung von TStrings/TStringList macht oder ob das auch als Helper möglich ist, weiß ich nicht (nie benutzt).

Grüße
Dalai

hoika 3. Jan 2020 14:06

AW: Stringliste indexOfName IndexofValue
 
Hallo,
Zitat:

muss mich hier an ein festes Ausgabeformat halten
Das mag für die Ausgabe stimmen, aber intern kannst du das doch umdrehen (eigene StringList).

Korrektur
Zitat:

nur dann ein neues Paar "key=value" einfügen, wenn der value nicht schon exitiert.
IndexOf("key=value")=-1 -> existiert noch nicht

Aso die ganz normale Suche benutzen.

Neutral General 3. Jan 2020 14:10

AW: Stringliste indexOfName IndexofValue
 
Zitat:

Zitat von hoika (Beitrag 1454379)
IndexOf("key=value")=-1 -> existiert noch nicht

Funktioniert nicht. Was ist wenn key2=value existiert? Das kannst du damit nicht abfragen.

Jumpy 3. Jan 2020 14:31

AW: Stringliste indexOfName IndexofValue
 
TDictionary verwenden?

Uwe Raabe 3. Jan 2020 15:30

AW: Stringliste indexOfName IndexofValue
 
Zitat:

Zitat von Neutral General (Beitrag 1454374)
Values gibt nur den Wert zu einem Key. Damit kriegt man nicht raus ob IRGENDEIN Key einen bestimmten Value hat.

Du könntest über alle Einträge iterieren und
Delphi-Quellcode:
ValueFromIndex
prüfen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:08 Uhr.
Seite 1 von 2  1 2      

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