Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi mengenarbeit mit strings (https://www.delphipraxis.net/20254-mengenarbeit-mit-strings.html)

Remote1 15. Apr 2004 09:33


mengenarbeit mit strings
 
kann man in mengen auch strings deklarieren
halt so
Delphi-Quellcode:
procedure blabla;
var m: set of string;
begin
m:=['test','####','kll'];
if igrendwas in m then machirgendwas;
end;
ich hats irgendwann mal ausprobiert, aber immer fehler bekommen (geht das denn nur bei integer, char...)

fkerber 15. Apr 2004 09:34

Re: mengenarbeit mit strings
 
Hi!

Schau doch mal nach array.

Ciao fkerber

Remote1 15. Apr 2004 09:36

Re: mengenarbeit mit strings
 
kannst du mir mal nen kurzes bsp posten

Ultimator 15. Apr 2004 09:38

Re: mengenarbeit mit strings
 
Zitat:

procedure blabla;
var m: set of string;
begin
m:=['test','####',kll'];
if igrendwas in m then machirgendwas;
end;
Du musst vor das kll auch noch nen Apostroph machen, sonst steht das if irgendwas... auch noch als string da.

Hoffe, geholfen zu haben

fkerber 15. Apr 2004 09:47

Re: mengenarbeit mit strings
 
Hi!

Einfaches Beispiel:

Delphi-Quellcode:
var
  Form1: TForm1;
  arr: array[0..2] of String = ('Test', 'zum', 'aa');


implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
i: Integer;
begin
  for i:=0 to length(arr)-1 do begin
    if ('aa' = arr[i]) then showmessage(inttostr(i)+': gefunden');
  end;
end;
Ciao fkerber

Remote1 15. Apr 2004 09:49

Re: mengenarbeit mit strings
 
ach so hast du das gemeint,
so hab ich das dann auch immer gemacht, aber ich hab gedacht, dass man über mengenarbeit die schleife weglassen kan und gleich zur abfrage kommt (bei zahlen und buchstaben geht das ja ganz gut)

maximov 15. Apr 2004 09:59

Re: mengenarbeit mit strings
 
Das geht leider nicht, da mengen nix anderes sind als eine menge von einzelnen bits!

zB:
Delphi-Quellcode:
type TSet = set of (bit0, bit1, bit2, bit3, bit4, bit5, bit6, bit7);
var aSetByte:TSet;
...
aSetByte := [bit0,bit2,bit5,bit6];// entspricht binär -> 10100110
das sollte auch erklären warum da nix mit strings geht :wink: ...man kann aber die namen der einzelnen bits aus der RTTI holen.

Remote1 15. Apr 2004 10:01

Re: mengenarbeit mit strings
 
ahh jetzt machts klick
danke für die info


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