Autor | Thema: Das ist blöd! | | Datum:16.07.02 12:50 
(risikowks@web.de) | |
Nachdem ich begriffen habe das in der Stringverarbeitung das Zeichen \ mit Folgezeichen als Sonderzeichen interpretiert wird, und ich mich darauf eingestellt habe bin ich weitergekommen.
Aber nun : Ich habe eine Liste in der alle möglichen Songs eingetragen sind.
In eine zweite sortierte Liste trage ich alle mp3-Files von meiner Festplatte ein, ohne Pfad. klappt auch gut.
Jetzt vergleiche ich, und nehme dafür erstmal nur den ersten Buchstabe und vergleiche mit:
gt$(@upper$ erstes Zeichen Liste1, upper$ erstes Zeichen Liste2)
klappt prima bis auf :
( was mich viel Zeit und Verwirrung und Nerven gekostet hat)
UMLAUTE ! sobald ein File mit Ä, Ö Ü oder ß anfängt ist vorbei gt$ liefert hier ein falsches Ergebniss.
ohne Files mit Sonderzeichen am Anfang funktioniert alles.
SOWAS muss man erstmal wissen, was ich ja schon öfter bemängelt habe.
In der Hilfe sind diese Besonderheiten jedenfalls nur schlecht zu finden oder garnicht.
Daher mein Vorschlag: Sensible Besonderheiten, die erst durch Try & Error gefunden werden, könnten in der Hilfe einen eigenen Platz als Appendix bekommen.
|
| | Datum: 16.07.02 14:42 
(rgh-soft@t-online.de) | |
Zunächst "Das ist blöd" als Thema gibt dem suchenden Leser wenig Hilfe, was er im Beitrag vorfindet. Bitte etwas mehr Umsicht mit dem Thema. Nun zu Deinem Problem:
Die Sortierung der Zeichen bei Stringvergleichen erfolgt gemäß Ansi-Tabelle, d.h. die Umlaute folgen hinter dem Alphabet nach dem "Z" und die Kleinbuchstaben folgen nach den Großbuchstaben:
Zahlen < Kleinbuchstaben < Großbuchstaben < Umlaute
Die Sortierung nimmt also keinerlei Rücksicht auf die Gegebenheiten unterschiedlicher landesspezifischer Zeichensätze.
Die genauen Ansi-Werte aller Zeichen kann man sich im PROFAN-Editor unter "Fenster - Ansitabelle" anschauen.
Möchte man lexikalisch korrekt sortieren, kann man vor dem Vergleich zum Beispiel die Funktion @translate$ verwenden, um aus "Ä" ein "Ae" zu machen, aus "ß" ein "ss", etc. Und dann gibt es noch @upper$ und @lower$ für die Groß/Klein-Schreibung.
Gruß
Roland
|
|
|