Uses CRT; Var s1,s2 : string; {-----------------------------------------------------} Function UpCas(s1 : string;) : string; Var j : byte; Begin for j := 1 to length(s1) do begin if ord(s1[j]) in [128..175, 224..239] then begin if ord(s1[j]) in [160..175] then UpCas[j] := Chr(ord(s1[j]) - 32); if ord(s1[j]) in [224..239] then UpCas[j] := Chr(ord(s1[j]) - 80); end else UpCas[j] := UpCase(s1[j]); end; end; {UpCas} {------------------------------------------------------------}