![]() |
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?
|
Re: Problem mit Tstringlist und ss sowie ß
Zitat:
Und was ist da jetz so schlimm dran??? |
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?
|
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.
|
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.
|
Re: Problem mit Tstringlist und ss sowie ß
Zitat:
Dann wurde das Wort eben falsch eingegeben. Wenn "Delphi" nicht gefunden wird, weil Delfi drin ist, dann ist das doch auch kein Fehler, oder? ;) |
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.
|
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 ...
|
Re: Problem mit Tstringlist und ss sowie ß
Zitat:
Ich habe XP Home |
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.
|
Re: Problem mit Tstringlist und ss sowie ß
Zitat:
Diese Antwort hilft mir aber auch nicht weiter |
Re: Problem mit Tstringlist und ss sowie ß
|
Re: Problem mit Tstringlist und ss sowie ß
Zitat:
Allerbesten Dank. Endlich eine Antwort mit der man etwas anfangen kann!!! |
Re: Problem mit Tstringlist und ss sowie ß
Zitat:
|
Re: Problem mit Tstringlist und ss sowie ß
Zitat:
Deine kurze Antwort finde ich am Besten, denn ich bin viel zu sehr Anfänger um mich mit API Funktionen auszukennen. Anbei die Lösung des Problems: implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin if OpenDialog1.Execute then RichEdit1.Lines.LoadFromFile(OpenDialog1.Filename) ; end; procedure TForm1.Button2Click(Sender: TObject); begin codieren(Sender); entdoppeln(Sender); decodieren(Sender); end; procedure TForm1.codieren(Sender: TObject); var LB :TStringlist; begin LB:= TStringList.Create; LB.Text:= RichEdit1.Text; LB.Text:= StringReplace(LB.Text,'ß','SSSS',[rfReplaceAll]); LB.SaveToFile('C:\neu3\test.txt'); LB.Free; end; procedure TForm1.entdoppeln(Sender: TObject); var SL: TStringList; begin SL := TStringList.Create; try with SL do begin Sorted := True; Duplicates := dupIgnore; LoadFromFile('C:\neu3\test.txt'); end; SL.SaveToFile('C:\neu3\test2.txt'); finally SL.Free; end; end; procedure TForm1.decodieren(Sender: TObject); var LB :TStringlist; begin LB:= TStringList.Create; LB.LoadFromFile('C:\neu3\test2.txt') ; LB.Text:= StringReplace(LB.Text,'SSSS','ß',[rfReplaceAll]); RichEdit2.Text := LB.Text; LB.SaveToFile('C:\neu3\test3.txt'); LB.Free; end; end. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:51 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