Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.10;
Скачать: [xml.tar.bz2];
Вниз![]()
Как изменить букву на несколько букв вперёд(по алфавиту)?
Delphimun (2001-12-21 14:24) [0]Как изменить букву на несколько букв вперёд(по алфавиту)?
Например у меня в переменной типа стринг находится буква "A", и мне нужно сдвинуть эту буква скажем на 3 буквы вперёд, чтобы в переменной стала буква "Г".
Alx2 (2001-12-21 14:29) [1]var ch : char;
begin
ch := "A";
inc(ch,3);
end;
Алексей Петров (2001-12-21 14:30) [2]Для латыни - просто добавь :)
char(byte("A")+3);
А для русских - придется массив с алфовитом делать, индекс нскать и затем выбирать последующую.
Alx2 (2001-12-21 14:33) [3]>Алексей Петров
Можно и так же, если позволяет кодировка.
Anatoly Podgoretsky (2001-12-21 14:50) [4]А что делать для "я"
Alx2 (2001-12-21 14:54) [5]:))
Вот так рождаются философы....
В конце концов кодовая таблица тот же самый алфавит. Только с кучей букв. Дойдя до #255 возратимся к #0 (при однобайтной кодировке, естественно)
MBo (2001-12-21 15:25) [6]для русского языка придется, видимо делать
const RuB="АБВГ..."
и
if pos(c,RuB)>0 then c:=RuB[(pos(c,RuB)+3) mod length(RuB) ];
Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.10;
Скачать: [xml.tar.bz2];
EMAIL={{}};LOGIN={{Delphimun}};TITLE={{Как изменить букву на несколько букв вперёд(по алфавиту)?}};ATTRIBUTES={{}};ID_MSG={{3655}};ID_GROUP={{1}};ID_NNTP={{1501}};ID_DM={{28492}};REPLYNR={{0}};ID_DM_AUTHOR={{0}};ARCHIVE={{2002.01.10}};REPLYDATE={{2001-12-21 14:24}};CNT={{6}};
Память: 0.75 MB
Время: 0.016 c