![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
![]() Почему они переводят только латинские, а кириллицу игнорируют?
![]() |
#2
|
||||
|
||||
![]() В таком случае можеш сделать собственную функцию.
— Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#3
|
|||
|
|||
![]() придется
![]() |
#4
|
||||
|
||||
![]() Код:
function UpCase(ch: char): char; begin if (ch in ['a'..'z', 'а'..'я']) then result := chr(ord(ch) - 32) else result := ch; end; function LoCase(ch: char): char; begin if (ch in ['A'..'Z', 'А'..'Я']) then result := chr(ord(ch) + 32) else result := ch; end; function UpperCase(s: string): string; var i: integer; begin result := s; for i := 1 to length(result) do if (result[i] in ['a'..'z', 'а'..'я']) then result[i] := chr(ord(result[i]) - 32); end; function LowerCase(s: string): string; var i: integer; begin result := s; for i := 1 to length(result) do if (result[i] in ['A'..'Z', 'А'..'Я']) then result[i] := chr(ord(result[i]) + 32); end; procedure TForm1.Button1Click(Sender: TObject); const s = 'zZцЦ.'; var i: integer; begin Form1.Caption := 'DownCase: '; for i := 1 to Length(s) do Form1.Caption := Form1.Caption + LoCase(s[i]); Form1.Caption := Form1.Caption + ' UpCase: '; for i := 1 to Length(s) do Form1.Caption := Form1.Caption + UpCase(s[i]); Form1.Caption := Form1.Caption + ' UpperCase: ' + UpperCase(s); Form1.Caption := Form1.Caption + ' LowerCase: ' + LowerCase(s); end; Взято из Delphi Russian Knowledge Base |
#5
|
|||
|
|||
![]() Код:
function RusCase(const S: string; updown: string): string; var Ch: Char; L: Integer; Source, Dest: PChar; begin if updown = 'up' then begin L := Length(S); SetLength(Result, L); Source := Pointer(S); Dest := Pointer(Result); while L <> 0 do begin Ch := Source^; if (Ch >= 'а') and (Ch <= 'я') then Dec(Ch, 32); Dest^ := Ch; Inc(Source); Inc(Dest); Dec(L); end; end else if updown = 'down' then begin L := Length(S); SetLength(Result, L); Source := Pointer(S); Dest := Pointer(Result); while L <> 0 do begin Ch := Source^; if (Ch >= 'А') and (Ch <= 'Я') then Inc(Ch, 32); Dest^ := Ch; Inc(Source); Inc(Dest); Dec(L); end; end; end; чего тут не так? попробовал - не работает, хотя компилит.. |
#6
|
|||
|
|||
![]() А воспользоваться Ansi вариантами нельзя?
AnsiUpperCase AnsiLowerCase |