Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Обход строки

Обход строки
Я
   JUST4LOL
 
24.09.20 - 08:06
Здравствуйте. Подскажите пожалуйста, задача такая:
Необходимо выполнить прямой и обратный обход вводимой строки. Например, дана строка: Привет. Обход должен выглядеть так:
Привет
пРивет
прИвет
приВет
привЕт
привеТ
И собственно в обратном порядке.
   Aleksey
 
1 - 24.09.20 - 08:08
и в чем проблема? Я токое в досе делал, а уж в 1с это изи
   Fish
 
2 - 24.09.20 - 08:09
(0) В цикле
   JUST4LOL
 
3 - 24.09.20 - 08:19
Не получается
   Aleksey
 
4 - 24.09.20 - 08:22
(3) ну значит это не твоё,  смирись
   Fish
 
5 - 24.09.20 - 08:27
(3) Покажи, как делаешь.
   JUST4LOL
 
6 - 24.09.20 - 08:32
НижнийРегистр = НРег(ПолеВвода);
Счетчик = 1;
Пока Счетчик <= СтрДлина(ПолеВвода) Цикл
    ТекстСимвол = ВРег(Сред(ПолеВвода, Счетчик));
    Счетчик = Счетчик + 1;
    КонецЦикла;
Сообщить(ТекстСимвол);

Например вот так,
   Bigbro
 
7 - 24.09.20 - 08:35
толстовато
   JUST4LOL
 
8 - 25.09.20 - 05:32
В общем, я разобрался 

&НаКлиенте
Процедура ПолеВводаПриИзменении(Элемент)

    
НижнийРегистр = НРег(ПолеВвода);

х = 1;
Пока х <= СтрДлина(НижнийРегистр) Цикл
    Начало = НРег(Лев(НижнийРегистр, х - 1));
    БольшаяБуква = ВРег(Сред(НижнийРегистр, х, 1));
    ПраваяСторона = НРег(Сред(НижнийРегистр, х + 1));    
    Сообщить(Начало + БольшаяБуква + ПраваяСторона);
    х = х + 1;    
КонецЦикла;


у = 0;
х = СтрДлина(ПолеВвода);
Пока х >= 1 Цикл 
    
    Начало = НРег(Лев(НижнийРегистр, х - 1));
    БольшаяБуква = ВРег(Сред(НижнийРегистр, х, 1));
    ПраваяСторона = НРег(Прав(НижнийРегистр, у));    
    Сообщить(Начало + БольшаяБуква + ПраваяСторона);
    х = х - 1;
    у = у + 1;
КонецЦикла;

КонецПроцедуры

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.