![]() |
String aus einem Set von Strings
Hi Kollegen,
gibt es eine Funktion, die ermittelt, ob ein (Such-)string identisch ist mit einer (Parameter-)Liste von strings? Ein Beispiel: llFound := inlist('searchfor', 'str1','str2','str3'); Danke für alle Hinweise, die zur Benutzung einer solchen Funktion führen :) |
Re: String aus einem Set von Strings
Hallo rbest
mir fallen da zwei Möglichkeiten ein 1. TStringList, mit IndexOf vergleichen 2. Array of String, es muss dann aber jeder String mit der Funktion Compare verglichen werden Gruß s14 |
Re: String aus einem Set von Strings
Hai rbest,
meinst Du so etwas:
Delphi-Quellcode:
function inlist (search : String ; values : Array of String) : Boolean;
var ndx : Integer; begin result := False; for ndx := low(values) to high(values) do begin if search = values[ndx] then begin result := True; exit; end; end; end; procedure TForm1.Button1Click(Sender: TObject); begin if inlist('Sharky', ['Katze','Tiger','Sharky']) then begin ShowMessage ('gefunden'); end else begin ShowMessage ('nicht gefunden'); end; end; |
Re: String aus einem Set von Strings
könnte fast nicht perfekter sein. :-D
Schönes Wochenende dann. |
AW: String aus einem Set von Strings
*Thread entstaub*
Für alle, die das gleiche Problem haben und lieber eine Delphi-eigene Funktion nutzen möchten:
Delphi-Quellcode:
Wer Groß-/Kleinschreibung beachten will kann stattdessen
uses StrUtils
{...} procedure TForm1.Button1Click(Sender: TObject); begin if (IndexText('Sharky', ['Katze','Tiger','Sharky']) <> -1) then begin ShowMessage ('gefunden'); end else begin ShowMessage ('nicht gefunden'); end; end;
Delphi-Quellcode:
verwenden
IndexStr
|
AW: String aus einem Set von Strings
... es konnte also doch perfekter sein :lol: danke
|
AW: String aus einem Set von Strings
Wenn schon perfekt, warum dann
Delphi-Quellcode:
und nicht gleich
IndexText(...) <> -1
Delphi-Quellcode:
?
MatchText(...)
|
AW: String aus einem Set von Strings
Wenn case-insensitive nicht wichtig ist, dann hier ebenfalls mit Str anstatt Text.
Ist das Array auch noch sortiert und es soll schnell gehn, dann mit TArray.BinarySearch<string> |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:27 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