Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как изменить букву на несколько букв вперёд(по алфавиту)? [D6, Win95/98]


Delphimun ©   (2001-12-21 14:24:00) 

Как изменить букву на несколько букв вперёд(по алфавиту)?
Например у меня в переменной типа стринг находится буква "A", и мне нужно сдвинуть эту буква скажем на 3 буквы вперёд, чтобы в переменной стала буква "Г".


MBo   (2001-12-21 15:25:00) [1]

для русского языка придется, видимо делать
const RuB="АБВГ..."
и
if pos(c,RuB)>0 then c:=RuB[(pos(c,RuB)+3) mod length(RuB) ];



Alx2   (2001-12-21 14:54:00) [2]

:))
Вот так рождаются философы....
В конце концов кодовая таблица тот же самый алфавит. Только с кучей букв. Дойдя до #255 возратимся к #0 (при однобайтной кодировке, естественно)


Anatoly Podgoretsky   (2001-12-21 14:50:00) [3]

А что делать для "я"


Alx2   (2001-12-21 14:33:00) [4]

>Алексей Петров
Можно и так же, если позволяет кодировка.


Алексей Петров   (2001-12-21 14:30:00) [5]

Для латыни - просто добавь :)
char(byte("A")+3);

А для русских - придется массив с алфовитом делать, индекс нскать и затем выбирать последующую.


Alx2   (2001-12-21 14:29:00) [6]

var ch : char;
begin
ch := "A";
inc(ch,3);
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо