![]() |
|
![]() ![]() ![]() |
|
Alex_B |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 122 Регистрация: 24.4.2007 Репутация: нет Всего: 1 |
Здравствуйте.
Есть две строки: строка А и строка Б. Из строки А получается строка Б, по определенному правилу. строка А представляет собой маску ввода, где на позиции отмеченной как "0", на выходе (строка Б), может стоять только цифра. символ "/" означает, что следующий за ним символ экранирован, и должен сам выводиться в строку Б. пример 1: 000 -> ЦЦЦ пример 2: /000 -> 0ЦЦ пример 3: //000 -> /ЦЦЦ ,где Ц - цифра красным выделен эранированный символ При вводе нового символа, берется соответствующиее ему правило из строки А. если вводимый символ не удовлетворяет условию он не вводится. Если на месте вводимого символа в строке А стоит экранированный символ, то выводится этот экранированный символ. Для примера 1 все просто: каждому вводимому символу соответсвует символ в строке А (маске ввода) с тем же номером. Для примера 2 все усложняется: ввод первого символа -> вывод экранированного символа- "0" ввод второго символа -> правило ввода уже не на 2-й позиции, а на 3-ей ввод третьего символа -> привило ввода на 4-ой позиции. Т.е. позиция правила ввода не соответсвует позиции вводимого символа. Поэтому существует курсор указывающий на нужную позицию в маске (строке А). Если в маске стоит экранированный символ, то курсор перемещается на 2 позиции вперет, если не экранированнй символ то курсор перемещается на 1 позицию вперет. Вопрос: Если пользователь захочет стереть уже введенный символ, как узнать на сколько позиций перемащать назад курсор в маске: на одну или на две? Спасибо. Это сообщение отредактировал(а) Alex_B - 30.4.2007, 11:08 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Алгоритмы" | |
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Алгоритмы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |