![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Кто-нибудь может дать коды к большим и маленьким буквам кириллицы. А то я не пойму. Как реализуется написанная процедура. Не мною. Кем-то. В этом коде не не понятно вот что: stOut[k]:=Chr(ord('А') + ord(stOut[k]) - ord('а')); В самой процедуре перебирается весь алфавит кириллицы. Этой строкой вычиляется большая буква, соответствующая маленькой. Если буква а, то понятно, а если другая?
Код:
procedure UpString(stinp: String; var stOut: String);
var
k: Integer;
begin
stOut := stinp;
for k := 1 to Length(stOut) do
begin
stOut[k] := UpCase(stOut[k]);
if stOut[k] >= 'à' then
stOut[k] :=
Chr(ord('А') + ord(stOut[k]) - ord('а'));
if stOut[k]='ё' then
stOut[k] := 'Ё';
end;
end; |
|
#2
|
|||
|
|||
|
На форму положите два TMemo, на OnCreate повесьте вот этот код:
Код:
procedure TForm1.FormCreate(Sender: TObject);
const
UP_CHARS = 'АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ';
LO_CHARS = 'абвгдежзийклмнопрстуфхцчшщъыьэюя';
var
i: Integer;
begin
Memo1.Clear;
Memo2.Clear;
for i := 1 to Length(UP_CHARS) do
Memo1.Lines.Add(UP_CHARS[i] + ' - ' + IntToStr(Ord(UP_CHARS[i])));
for i := 1 to Length(LO_CHARS) do
Memo2.Lines.Add(LO_CHARS[i] + ' - ' + IntToStr(Ord(LO_CHARS[i])));
end; |
|
#3
|
|||
|
|||
|
Вы меня не поняли. Этот код рабочий. Просто мне немного алгоритм не понятен. Поэтому лучше знать коды соотвествующих букв.
|
|
#4
|
|||
|
|||
|
Я вас понял. После выполнения этой программы в memo-полях будут коды русских букв, в первом - больших, во втором - маленьких.
|