Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на языке Pascal


Информационный Канал Subscribe.Ru

RusFAQ.ru: Программирование на языке Pascal

Выпуск № 331
от 17.10.2004, 14:20

Администратор:
Имя: Sensey
URL: Информационный ресурс
ICQ: 105679124
Украина, Харьков
О рассылке:
Задано вопросов: 529
Отправлено ответов: 2013
Активность: 380.5 %
[Задать вопрос >>][Регистрация эксперта >>]
[Поиск в базе][Обсудить на форуме]


 Список экспертов, ответы которых опубликованы в данном выпуске

DSota
Статус: Начальный
Общий рейтинг: 110
[Подробней >>]
Tancho
Статус: Профессиональный
Общий рейтинг: 144.39
Телефон: сл. 0359 0391 65 631; 0359 0391 53 105
[Подробней >>]
Boriss
Статус: Профессиональный
Общий рейтинг: 157.5
URL: Программирование на Паскале
[Подробней >>]
 
Ayl
Статус: Профессиональный
Общий рейтинг: 116.2
[Подробней >>]
sir henry
Статус: Профессиональный
Общий рейтинг: 163.7
[Подробней >>]
Tigran K. Kalaidjian
Статус: Профессиональный
Общий рейтинг: 180.56
URL: Персональная страничка
[Подробней >>]


 Краткий перечень вопросов

Вопрос № 527. Здраствуйте. Как перевести заглавные буквы в строчные?... (ответов: 6)

Вопросов: 1, ответов: 6


 Вопрос № 527

Здраствуйте.
Как перевести заглавные буквы в строчные?



Вопрос отправлен: 13.10.2004, 16:36
Отправитель: hurer

[Следующий вопрос >>] [Список вопросов]

Отвечает DSota

Приветствую Вас, hurer!
Стандартной функции перевода символа из прописного в строчный нет. Зато есть обратная UpCase, которая переводит из строчной в прописную. С помощью нее можно найти пары строчной и прописной букв и использовать. Например, вот так.
С уважением, DSota.

Приложение:

Ответ отправлен: 13.10.2004, 19:27
Отправитель: DSota


Отвечает Tancho

Доброе время суток, hurer!
К ответу предидущего въпросу №526, а он по существо совпадает с настоящий могу добавить - того что там я ответиль относится только для заглавные буквы из Латинского алфавита!Для другова алфавита надо писать свою функцию или проседуру!

Ответ отправлен: 14.10.2004, 10:49
Отправитель: Tancho


Отвечает Boriss

Здравствуйте, hurer!
Точно так же, как описано в ответе на вопрос № 526 :))

Ответ отправлен: 13.10.2004, 17:44
Отправитель: Boriss


Отвечает Ayl

Доброе время суток, hurer!
Английские очень просто:
if ch in ['A'..'Z'] then ch := chr (ord (ch) + $20);
С русскими сложнее, т.к. они не упорядочены. Можно так:
if ch in ['А'..'П'] then ch := chr (ord (ch) + $20);
if ch in ['Р'..'Я'] then ch := chr (ord (ch) + $50);
if ch = 'Ё' then ch := 'ё';
Либо с помощью массива перекодировки:
Const
char_recode = 'АаБбВвГгДдЕеЁёЖжЗзИиЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЪъЫыЬьЭэЮюЯя';
Function RusLower (ch : Char) : Char;
var
p : Byte;
begin
p := Pos (ch, char_recode);
if p = 0 then RusLower := ch
else RusLower := char_recode [p + 1];
end;
Function RusUpper (ch : Char) : Char;
var
p : Byte;
begin
p := Pos (ch, char_recode);
if p = 0 then RusUpper := ch
else RusUpper := char_recode [p - 1];
end;
Тогда общие функции перекодировки будут выглядеть так:
Function ToLower (ch : Char) : Char;
begin
if ch in ['A'..'Z'] th en ToLower := chr (ord (ch) + $20)
else ToLower := RusLower (ch);
end;
Function ToUpper (ch : Char) : Char;
begin
if ch in ['a'..'z'] then ToUpper := chr (ord (ch) - $20)
else ToUpper := RusUpper (ch);
end;


Ответ отправлен: 13.10.2004, 18:06
Отправитель: Ayl


Отвечает sir henry

Доброе время суток, hurer!
Можно использовать системную функцию (к сожалению справочника по функциям ДОС у меня нет, поэтому попробуйте найти самостоятельно), а можно составить двумерный массив преобразовывать по найденому индексу.

Ответ отправлен: 14.10.2004, 06:07
Отправитель: sir henry


Отвечает Tigran K. Kalaidjian

Здравствуйте, hurer!
Смотря для какой таблицы символов. Для ASCII(английская часть): прибавляйте 20h к номеру символа в таблице.

Ответ отправлен: 15.10.2004, 18:38
Отправитель: Tigran K. Kalaidjian



Форма отправки вопроса

Внимание!
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

(C) 2002-2003 Команда RusFAQ.ru.

 Персональные данные

Ваше имя:

Ваш e-mail:

Опубликовать мой e-mail в рассылке


 Вопрос и дополнение

Ваш вопрос:


Приложение (если необходимо):


Получить ответов:


 Выбор рассылки

Программисту
Assembler (26)
C / C++ (17)
Perl (8)
Builder / Delphi (17)
Pascal (20)
Basic / VBA (9)
Java / JavaScript (7)
PHP (19)
Криптография (8)
WinAPI (15)
Радиоэлектроника (15)
Пользователю
Windows 95/98/Me (45)
Windows NT/2000/XP (62)
"Железо" (38)
Поиск информации (21)
Администратору
Windows NT/2000/XP (38)
Linux / Unix (15)
Юристу
Гражданское право (7)
Семейное право (4)
Трудовое право (6)
КоАП (5)

Отправить вопрос всем экспертам выбранной рассылки.





http://subscribe.ru/
http://subscribe.ru/feedback/
Подписан адрес:
Код этой рассылки: comp.soft.prog.pasplus
Отписаться

В избранное