Array sortieren mit Umlauten

Zugriff, Engines, Konvertierung. Von ADS über DBF bis zu SQL.

Moderator: Moderatoren

Antworten
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Array sortieren mit Umlauten

Beitrag von Manfred »

Ich habe jetz eine zeitlang hier das Forum durchsucht, aber nichts passendes gefunden.
Ich möchte ein Array soriteren, aber die Umlaute so haben, das sie bei den entsprechenden Buchstaben einsortiert werden und nicht am Ende oder am Anfang stehen. Ich bräuchte nochmals einen Tip dazu. Muß ich vorher was mit Set Collation machen, oder wie sieht es aus?
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: Array sortieren mit Umlauten

Beitrag von Tom »

Du kannst doch einfach eine Umwandlungsfunktion in die Sortierfunktion nehmen:

Code: Alles auswählen

aSort(aArray,,,{|aY1,aY2|UmlautTrans(aY1[1]) < UmlautTrans(aY2[1])})

FUNCTION UmlautTrans(c)
c := StrTran(c,'ä','a') // usw.
RETURN c
Wenn Du die Umlaute hinter den jeweiligen Zeichen haben willst, musst Du ans Original z.B. eine 0 hängen und ans Ziel eine 1 (a -> a0, ä -> a1).

Es ginge aber auch über die Collation.
Herzlich,
Tom
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: Array sortieren mit Umlauten

Beitrag von Manfred »

hm, interessant. Set Collation TO system scheint da wohl die Wahl zu sein. Aber warum?
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: Array sortieren mit Umlauten

Beitrag von Tom »

Deutsches System?
SET COLLATION TO GERMAN sollte die gleiche Wirkung haben. Aber ich würde die Collation in einer ansonsten vernünftig laufenden Applikation nicht umschalten. Oder nur vorübergehend:

Code: Alles auswählen

nSet := Set(_SET_COLLATION)
SET COLLATION TO whatever
* Array sortieren
Set(_SET_COLLATION,nSet)
Alternativ über die Umwandlungsfunktion. Die aber nur bei kleinen Arrays zu empfehlen wäre.
Herzlich,
Tom
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: Array sortieren mit Umlauten

Beitrag von Manfred »

wenn ich set collation to german mache, dann stimmt es nicht. Bei dem Index(foxcdx) scheint es egal zu sein, der wird in beiden Fällen gleich richtig sortiert.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: Array sortieren mit Umlauten

Beitrag von Manfred »

ich habe jetzt mal probewesie komplett auf SYSTEM gestellt und es paßt beides. Array und Index
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Antworten