(Gast)
n/a Beiträge
|
Re: (Unicode) Sonderzeichen in Grundbuchstaben umwandeln
13. Okt 2008, 12:32
Hallo,
da habe ich nur das:
Delphi-Quellcode:
// Wandelt den übergebenen Buchstaben in Kleinbuchstaben um.
// Umlaute werden aufgelöst.
// Hierbei wird nur der ASCII-Zeichensatz verwendet.
// Der Rückgabewert ist True, wenn eine Umwandlung erfolgen konnte,
// andernfalls enthält sResult einen Leerstring.
function getLowerCase(ch : Char; Var sResult : String) : Boolean;
begin
case ch Of
' a'..' z' : sResult := ch;
' A'..' Z' : sResult := LowerCase(ch);
' À' { A mit Accent grave },
' à' { a mit Accent grave },
' Á' { A mit Accent acute },
' á' { a mit Accent acute },
' Â' { A mit Circumflex },
' â' { a mit Circumflex },
' Ã' { A mit Tilde },
' ã' { a mit Tilde },
' Å' { A mit Ring },
' å' { a mit Ring },
' Æ' { A mit legiertem E },
' æ' { a mit legiertem e },
' Ä' { A Umlaut },
' ä' { a Umlaut } : sResult := ' a';
' Ç' { C mit Häkchen },
' ç' { c mit Häkchen } : sResult := ' c';
' È' { E mit Accent grave },
' è' { e mit Accent grave },
' É' { E mit Accent acute },
' é' { e mit Accent acute },
' Ê' { E mit Circumflex },
' ê' { e mit Circumflex },
' Ë' { E Umlaut },
' ë' { e Umlaut } : sResult := ' e';
' Ì' { I mit Accent grave },
' ì' { i mit Accent grave },
' Í' { I mit Accent acute },
' í' { i mit Accent acute },
' Î' { I mit Circumflex },
' î' { i mit Circumflex },
' Ï' { I Umlaut },
' ï' { i Umlaut } : sResult := ' i';
' Ñ' { N mit Tilde },
' ñ' { n mit Tilde } : sResult := ' n';
' Ò' { O mit Accent grave },
' ò' { o mit Accent grave },
' Ó' { O mit Accent acute },
' ó' { o mit Accent acute },
' Ô' { O mit Circumflex },
' ô' { o mit Circumflex },
' Ø' { O mit Schrägstrich },
' ø' { o mit Schrägstrich },
' Õ' { O mit Tilde },
' õ' { o mit Tilde },
' Ö' { O Umlaut },
' ö' { o Umlaut } : sResult := ' o';
' Ù' { U mit Accent grave },
' ù' { u mit Accent grave },
' Ú' { U mit Accent acute },
' ú' { u mit Accent acute },
' Û' { U mit Circumflex },
' û' { u mit Circumflex },
' Ü' { U Umlaut },
' ü' { u Umlaut } : sResult := ' u';
' ß' { scharfes S } : sResult := ' ss';
' ý' { y mit Accent acute },
' Ý' { Y mit Accent acute },
' ÿ' { y Umlaut } : sResult := ' y';
' þ' { thorn (isländisch) },
' Þ' { THORN (isländisch) },
' Ð' { Eth (isländisch) },
' ð' { eth (isländisch) } : sResult := AnsiLowerCase(ch);
Else
sResult := ' ';
end;
Result := not (sResult = ' ');
end;
Vielleicht ist's ja schonmal ein Ansatz.
|