Suche mit Sonderbuchstaben

Alle Fragen um die Programmierung, die sich sonst nicht kategorisieren lassen. Von Makro bis Codeblock, von IF bis ENDIF

Moderator: Moderatoren

Antworten
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Suche mit Sonderbuchstaben

Beitrag von Jan »

Moin,

ich baue bei mir oftmals ein SetLexRule() ein um verschiedene Buchstaben passend einzusortieren im Index. Also z. B. "Ö" wird "OE", und "ú" wird "u". Das klappt z. B. beim Anzeigen Im Browse auch perfekt.

Aber bei der Suche nicht, also dem Weg anders herum. Suche ich z. B. einen "Kovàc", weiß aber nicht das der mit dem Akzent hinterlegt ist und suche daher nur nach "Kovac", dann wird der nicht gefunden.

Wie bekomme ich auch das hin?

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
nightcrawler
1000 working lines a day
1000 working lines a day
Beiträge: 650
Registriert: Di, 24. Apr 2012 16:33
Wohnort: 72184 Weitingen
Hat sich bedankt: 3 Mal
Danksagung erhalten: 96 Mal
Kontaktdaten:

Re: Suche mit Sonderbuchstaben

Beitrag von nightcrawler »

indem Du den Index auch mit dieser Funktion baust.
--
Joachim
Joachim Dürr Softwareengineering
https://www.jd-engineering.de
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: Suche mit Sonderbuchstaben

Beitrag von Tom »

indem Du den Index auch mit dieser Funktion baust.
Eben. Der Index oder ein z.B. den Namen spiegelndes Feld (bei ADS) enthält den Namen, in dem alle Zeichen, die Akzentzeichen und ähnliche diakritische Zeichen (Zirkumflex, Cedille, Hatschek usw.) enthalten, substituiert sind. Und bei der Suche geschieht das gleiche. Es spielt also hier wie dort keine Rolle, ob man nach "Kovác" oder "Kovac" sucht oder wie die Namen eingetippt wurden. Nachteil: Wenn wirklich nur Kovác gesucht wird und es Kovac ohne Akut (dem Akzent nach rechts) gibt, wird der auch gefunden.

Anmerkung zur Terminologie: Das sind keine Sonderzeichen, sondern Buchstabenzeichen mit angebrachten diakritischen Zeichen. Sonderzeichen sind Satzzeichen, wissenschaftliche Zeichen und andere, die keine Buchstaben oder Ziffern sind. Ein é ist kein Sonderzeichen.
Herzlich,
Tom
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: Suche mit Sonderbuchstaben

Beitrag von Jan »

Tom,
Tom hat geschrieben: Di, 14. Mär 2023 9:14Anmerkung zur Terminologie: Das sind keine Sonderzeichen, sondern Buchstabenzeichen mit angebrachten diakritischen Zeichen. Sonderzeichen sind Satzzeichen, wissenschaftliche Zeichen und andere, die keine Buchstaben oder Ziffern sind. Ein é ist kein Sonderzeichen.
Genau deswegen schrieb ich ja auch nicht "Sonderzeichen". Sondern "Sonderbuchstaben" - weil das für uns mit dem deutschen Buchstabensatz halt etwas besonderes ist.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: Suche mit Sonderbuchstaben

Beitrag von Jan »

Joachim und Tom,

Danke für den Hinweis.

Jetzt muß ich mal ganz doof fragen: Reicht das aus wenn ich den Index neu aufbaue mit eingeschalteten SetLexRule()-Regeln? Ode rmuß ich dem das irgend wie bei der Indexerstellung mitgeben?

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
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: Suche mit Sonderbuchstaben

Beitrag von Tom »

Hallo, Jan.

Stimmt, Du hast "Sonderbuchstaben" geschrieben. Das ist aber auch ein total unwissenschaftlicher Terminus. 8)

SetLexRule() wirkt sich nach meinem Dafürhalten nur auf Vergleichsoperationen aus:
The lexical comparison is performed only when the simple comparison operators (=, >=, <=, <>) are used.
Ich nutze das selbst nicht, würde aber nach der Lektüre des Hilfetextes nicht davon ausgehen, dass es beim Indexieren angewendet wird. Probier doch einfach mal aus!
Herzlich,
Tom
Antworten