Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi set of char zur Laufzeit erzeugen (https://www.delphipraxis.net/45926-set-char-zur-laufzeit-erzeugen.html)

BenjaminHelbig 14. Mai 2005 18:06


set of char zur Laufzeit erzeugen
 
Hi DP'ler,

habe folgendes Problem. Ich möchte ein set of char zur Laufzeit erzeugen. So wie ich ein Array zur Laufzeit erzeugen und mit Werten füllen kann.
Nur igendwie funktioniert die Syntax von Arrays bei set of char leider nicht.

Delphi-Quellcode:
var myChars : set of char;
begin
for myrun := 0 to length(mystring) - 1 do
 begin
   myChars[myrun] := mystring[myrun];
 end;
end;
Habt ihr irgend eine Idee?

Grüße Ben

Dax 14. Mai 2005 18:08

Re: set of char zur Laufzeit erzeugen
 
Delphi-Quellcode:
var myChars : set of char;
begin
  myChars := [];
  for myrun := 1 to length(mystring) do
  begin
    Include(myChars, mystring[myrun]);
  end;
end;
So sollts gehen :)

DGL-luke 14. Mai 2005 18:15

Re: set of char zur Laufzeit erzeugen
 
Achtung! In sets gibt es keine indizes! sets sind ungeordnet! das heisst, du kannst auhc nicht gezielt einen bestimmten wert herausziehen!
aber für Mengen sind ise natürlich ideal - denn ein set ist eine menge.

BenjaminHelbig 14. Mai 2005 19:11

Re: set of char zur Laufzeit erzeugen
 
Hey, ihr seit meine Helden. Das mit Include klappt super.
Zur Info, ich brauche das Set, damit der IN Operator greift. Das geht schneller, als wenn ich ein Array durchsuche.

Grüßle Ben

Robert_G 14. Mai 2005 19:30

Re: set of char zur Laufzeit erzeugen
 
Zitat:

Zitat von BenjaminHelbig
Zur Info, ich brauche das Set, damit der IN Operator greift. Das geht schneller, als wenn ich ein Array durchsuche.

Jupp, genau dafür sind sets prima geeignet. Schön ist auch, dass schon vom Konzept her jeder Wert nur einmal enthalten sein kann. :)

@Luke
Jeder Wert eines sets ist doch nix anderes als eine 2'er-Potenz. Deshlab ist ein Set sehr wohl "sortiert". Auch wenn es praktisch keine Verwedung für die "Sortierung" gibt. ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:37 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