Einzelnen Beitrag anzeigen

nahpets
(Gast)

n/a Beiträge
 
#4

Re: (Unicode) Sonderzeichen in Grundbuchstaben umwandeln

  Alt 13. Okt 2008, 11: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.
  Mit Zitat antworten Zitat