Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Zeichen-Menge dynamisch erweitern (https://www.delphipraxis.net/170251-zeichen-menge-dynamisch-erweitern.html)

michaelarban 7. Sep 2012 09:23

Delphi-Version: 2007

Zeichen-Menge dynamisch erweitern
 
hallo,

ich habe folgende Menge:

erlaubteZeichen = ['a'..'z'];

Da diese Einschränkung auf Kleinbuchstaben zu inflexibel ist, möchte ich dieser Menge noch weitere Zeichen hinzufügen, die ich in einer Konfigurationsdatei definiere:

Beispiel Konfigurationdatei:
[SEKTION_WEITERE_ERLAUBTE_ZEICHEN]
1='Ü'
2='ü'
3='ä'

--> sowas funktioniert jedoch nicht
erlaubteZeichen = ['a'..'z'] + get_Zeichen_aus_KonfigDatei(); // get_Zeichen_aus_KonfigDatei() liefert 'ü, Ü, ä'


--> wie kann ich diese weiteren Zeichen meiner obigen
Variable erlaubteZeichen hinzufügen?

danke

Klaus01 7. Sep 2012 09:36

AW: Zeichen-Menge dynamisch erweitern
 
Hallo,

Mengen werden mit or erweitert.
Hier findest Du ein Tutorial zu Mengen.

Grüße
Klaus

DeddyH 7. Sep 2012 09:37

AW: Zeichen-Menge dynamisch erweitern
 
Das müsste gehen:
Delphi-Quellcode:
Include(Zeichen, 'ö');

michaelarban 7. Sep 2012 10:04

AW: Zeichen-Menge dynamisch erweitern
 
hi,

include funktioniert nicht:

Include(ErlaubteZeichen , 'ö');
--> [DCC Fehler] Test.pas(119): E2064 Der linken Seite kann nichts zugewiesen werden

Bummi 7. Sep 2012 10:07

AW: Zeichen-Menge dynamisch erweitern
 
Delphi-Quellcode:
var
 s:Set of Char;

procedure TForm6.Button1Click(Sender: TObject);
begin
  if 'ö' in s then Showmessage('Hallo');
end;

procedure TForm6.FormCreate(Sender: TObject);
begin
     s := ['a'..'z'];
     Include(s,'ö');
end;

DeddyH 7. Sep 2012 10:12

AW: Zeichen-Menge dynamisch erweitern
 
Include ist ja extra dafür da. Wieso das nicht will, kann ich ohne genaueren Blick auf den Code auch nicht sagen.

michaelarban 7. Sep 2012 10:45

AW: Zeichen-Menge dynamisch erweitern
 
hi,
include funktioniert; ich hatte erlaubteZeichen als Konstante definiert gehabt. :oops:

danke


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