Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi In Set or Not in Set? Frage zu Set. (https://www.delphipraxis.net/78517-set-not-set-frage-zu-set.html)

Go2EITS 6. Okt 2006 08:49


In Set or Not in Set? Frage zu Set.
 
Guten Morgen DP User!

Mal wieder eine Anfängerfrage. (Ich habe in handbüchnern, Delphi Hilfe und Goggle gesucht, konnte die Angaben nicht umsetzen, weil das Beispiel dafür fehlte.)
Es sei gegeben:
Wenn "Ch" im Set "set1" ist, dann "True" sonst "False".

Delphi-Quellcode:
Function IsOk(Ch:Char):Boolean;
TYPE
  TIntSet = set of char;
VAR
 Set1:TIntSet;
begin
Set1:=[#1..#128,#228,#246,#252,#196,#214,#220,#223];

if ch in set1 
   then
     begin
     Result:=true;
     Exit;
     end
   else
     Result:=False;

end;//Function IsOK

//Müsste True anzeigen
procedure TForm1.Button1Click(Sender: TObject);
begin
if IsOk('a') then ShowMessage('True') else
ShowMessage('False') ;
end;
Meine Frage:
Ich möchte wissen, wenn etwas nicht im Set ist.
NOT wie z. B. "if ch not set1 then" funktioniert nicht und '<>' auch nicht.
Da mache ich irgendetwas falsch. :gruebel:

Wisst Ihr weiter?
Beste Grüße
Go2EITS

Daniel 6. Okt 2006 08:50

Re: In Set or Not in Set? Frage zu Set.
 
Wenn der eine Weg geht ... if c in set then, dann kannst Du die Logik einfach umdrehen: if not (c in set) then ...

mkinzler 6. Okt 2006 08:52

Re: In Set or Not in Set? Frage zu Set.
 
not in sollte eigentlich gehen
Notfalls
Delphi-Quellcode:
 not (ch in ...)

Go2EITS 6. Okt 2006 09:04

Re: In Set or Not in Set? Frage zu Set.
 
@mkinzler
Das hatte ich als erstes probiert. Das "not in" geht nicht. (u.v.m.)

@Daniel und @Mkinzler
Dein " if not (c in set) then ..." funtioniert bestens.
Wenn Ihr wüsstest, wie lange ich gesucht habe. Dass man Klammern setzten muss... Darauf wäre ich nie gekommen.

Vielen Dank für die schnelle Antwort. :thumb:
Eine wichtige Grundsatzfrage geklärt.
CU! Go2EITS

Elvis 6. Okt 2006 09:06

Re: In Set or Not in Set? Frage zu Set.
 
Zitat:

Zitat von Go2EITS
Delphi-Quellcode:
Function IsOk(Ch:Char):Boolean;
TYPE
  TIntSet = set of char;
VAR
 Set1:TIntSet;
begin
Set1:=

if ch in set1 
   then
     begin
     Result:=true;
     Exit;
     end
   else
     Result:=False;

end;//Function IsOK

urrkks... :? Wo hast du denn den Code her?
Warum nicht einfach so?
Delphi-Quellcode:
function IsBlablaChar(const c : Char) : Boolean;
begin
  result := not (c in [#1..#128, #228, #246, #252, #196, #214, #220, #223]);
end;

Go2EITS 6. Okt 2006 09:24

Re: In Set or Not in Set? Frage zu Set.
 
@Elvis
:oops: ähhm...mein Code.
Genial! :shock: Die Verwendung von Result ist so natürlich beispielhaft. Was für ein Unterschied zu meinen Code. :thumb:
Beste Grüße Go2EITS

negaH 6. Okt 2006 10:34

Re: In Set or Not in Set? Frage zu Set.
 
Delphi-Quellcode:
if Set * [Ch] <> [] then "Ch in Set"
if Set * [Ch] = [] then "Ch not in Set"
Gruß Hagen

Go2EITS 6. Okt 2006 11:32

Re: In Set or Not in Set? Frage zu Set.
 
[EDIT] Überschwang raus.[\EDIT]
Das ist bestimmt nicht mehr zu toppen. Hab es kopiert und probiere ich mal aus. :thumb:
Beste Grüße von Go2EITS

3_of_8 6. Okt 2006 11:49

Re: In Set or Not in Set? Frage zu Set.
 
Wurde der Operator <> für Sets überladen? Wie denn? Also was bewirkt der auf Sets angewandt?

Dax 6. Okt 2006 11:52

Re: In Set or Not in Set? Frage zu Set.
 
Zitat:

Zitat von 3_of_8
Wurde der Operator <> für Sets überladen? Wie denn? Also was bewirkt der auf Sets angewandt?

Nein, wurde er nicht. Was denkst du denn bitte? :roll:

<> ist <>, oder != in php/C-Derivaten... Einfache Ungleichheit :tongue:


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:05 Uhr.
Seite 1 von 3  1 23      

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