Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Problem mit Tstringlist und ss sowie ß (https://www.delphipraxis.net/90695-problem-mit-tstringlist-und-ss-sowie-ss.html)

Franzelchen 22. Apr 2007 10:56


Problem mit Tstringlist und ss sowie ß
 
Ich habe eine Liste mit ca 30000 Wörtern welche ca 5000 doppelte Begriffe enthält. Tstringlist.duplicate entfernt mir diese doppelten aber es hat ein Problem mit ss und ß. Bei gleichlautende Begriffen (weiß und weiss) wird das Wort mit ß in die Liste übernommen, das Wort mit ss dagegen abgelehnt. Wer hilft mir?

TonyR 22. Apr 2007 11:05

Re: Problem mit Tstringlist und ss sowie ß
 
Zitat:

Zitat von Franzelchen
...Bei gleichlautende Begriffen (weiß und weiss) wird das Wort mit ß in die Liste übernommen, das Wort mit ss dagegen abgelehnt...

Echt jetzt? Ich dachte Duplicates wirft wirklich nur genau identische Wörter raus.... :gruebel:

Und was ist da jetz so schlimm dran???

Franzelchen 22. Apr 2007 11:11

Re: Problem mit Tstringlist und ss sowie ß
 
das macht es ja auch nur bei ß und ss hat es seine Schwierigkeiten. Hat vielleicht mit der Tatsache zutun das es ß im englischen Alphabet nicht gibt?

3_of_8 22. Apr 2007 11:14

Re: Problem mit Tstringlist und ss sowie ß
 
Ich weiß nicht genau, ob die TStringList da ANSI berücksichtigt, aber warum schreibst du dir nicht selber ne Funktion, die die Dinger "rauswirft"? Sortier die StringList mit nem Quicksort, führ ne binäre Suche aus, ob das Wort schon drin ist, und wenn ja, schmeiß es raus bzw. tu es gar nicht erst rein.

Franzelchen 22. Apr 2007 11:39

Re: Problem mit Tstringlist und ss sowie ß
 
Die Tstringlist wird im Anschluß in eine Datenbankdatei verwandelt. Daraufhin wird die Datenbank mit Begriffen verglichen in denen zB. weiß und weiss enthalten sind. weiss wird als fehlend angesehen und markiert, weil die Stringlist (weiß) enthält aber (weiss) nicht.

Torpedo 22. Apr 2007 12:04

Re: Problem mit Tstringlist und ss sowie ß
 
Zitat:

Zitat von Franzelchen
Die Tstringlist wird im Anschluß in eine Datenbankdatei verwandelt. Daraufhin wird die Datenbank mit Begriffen verglichen in denen zB. weiß und weiss enthalten sind. weiss wird als fehlend angesehen und markiert, weil die Stringlist (weiß) enthält aber (weiss) nicht.

Und wo liegt das Problem? weiss ist eben nicht weiß. ss <> ß
Dann wurde das Wort eben falsch eingegeben. Wenn "Delphi" nicht gefunden wird, weil Delfi drin ist, dann ist das doch auch kein Fehler, oder? ;)

Franzelchen 22. Apr 2007 12:24

Re: Problem mit Tstringlist und ss sowie ß
 
Die Ausgangsliste wird nach TStringlist überführt und mit Duplicate werden die Doppelten entfernt. Das Problem ist das ss wie ß behandelt wird. Ist Baß oder Weiß enthalten wird Bass oder Weiss obwohl andere Schreibweise nicht mehr in die Stringlist aufgenommen, weil DOPPELT!!! Ich möchte aber das WEISS und BASS dennoch in der Stringlist enthalten sind damit ich nach der Umwandlung in Datenbank die Begriffe WEISS und BASS nicht ständig als fehlend markiert werden.

Bernhard Geyer 22. Apr 2007 12:31

Re: Problem mit Tstringlist und ss sowie ß
 
Welches Windows-Version hast du? Unter Vista wurden die Spielregeln geändert und Delphi verwendet Win32-API-Funktionen ...

Franzelchen 22. Apr 2007 12:44

Re: Problem mit Tstringlist und ss sowie ß
 
Zitat:

Zitat von Bernhard Geyer
Welches Windows-Version hast du? Unter Vista wurden die Spielregeln geändert und Delphi verwendet Win32-API-Funktionen ...


Ich habe XP Home

3_of_8 22. Apr 2007 12:57

Re: Problem mit Tstringlist und ss sowie ß
 
Ich hab die Classes.pas nicht da, aber dass für eine einfache Stringliste WinAPI-Funktionen verwendet werden, bezweifle ich irgendwie.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:34 Uhr.
Seite 1 von 2  1 2      

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