Имя: Пароль:
1C
1C 7.7
v7: Разбивка строки...
0 jkl123
 
12.07.12
10:41
Доброго времени суток.

Кто сталкивался с такой проблемой :

Есть строка разделена точками, например : Т.аааа.рррррр
Нужно как-то разбить эту строку что бы в одно поле ввода записалось Т, в другое поле ввода записалось аааа и соответственно в третью рррррр..Кто знает - подскажите ...
1 povar
 
12.07.12
10:43
СтрЗаменить(СтрочкаСТочками,".",РазделительСтрок)
2 Ёпрст
 
12.07.12
10:43
(0)
СЗ = глРазложить("Т.аааа.рррррр",".");
Для к =1 По СЗ.РазмерСписка() Цикл
   Сообщить(СЗ.ПолучитьЗначение(к));
КонецЦикла;
3 jkl123
 
12.07.12
10:53
не работает (
4 aka AMIGO
 
12.07.12
10:54
(3)что именно не работает?
5 jkl123
 
12.07.12
10:55
СЗ = глРазложить("Т.аааа.рррррр",".");
Для к =1 По СЗ.РазмерСписка() Цикл
   Сообщить(СЗ.ПолучитьЗначение(к));
КонецЦикла;
6 jkl123
 
12.07.12
10:56
вот это не работает...
7 aka AMIGO
 
12.07.12
10:56
(5)что сообщает?
8 Pro-tone
 
12.07.12
10:56
(2) не у всех есть глРазложить
9 jkl123
 
12.07.12
10:57
Значение не представляет агрегатный объект (РазмерСписка)
10 WoodMan
 
12.07.12
10:57
так у него наверное глРазложить нету
11 aka AMIGO
 
12.07.12
10:58
Функция глРазложить(Знач Стр, Разделитель = ",") Экспорт
   СЗ = СоздатьОбъект("СписокЗначений");
   Если Разделитель = " " Тогда
       Стр = СокрЛП(Стр);
       Пока 1=1 Цикл
           Поз = Найти(Стр,Разделитель);
           Если Поз=0 Тогда
               СЗ.ДобавитьЗначение(Стр);
               Возврат СЗ;
           КонецЕсли;
           СЗ.ДобавитьЗначение(Лев(Стр,Поз-1));
           Стр = СокрЛ(Сред(Стр,Поз));
       КонецЦикла;
   Иначе
       ДлинаРазделителя = СтрДлина(Разделитель);
       Пока 1=1 Цикл
           Поз = Найти(Стр,Разделитель);
           Если Поз=0 Тогда
               СЗ.ДобавитьЗначение(Стр);
               Возврат СЗ;
           КонецЕсли;
           СЗ.ДобавитьЗначение(Лев(Стр,Поз-1));
           Стр = Сред(Стр,Поз+ДлинаРазделителя);
       КонецЦикла;
   КонецЕсли;
КонецФункции // глРазложить
12 jkl123
 
12.07.12
10:58
и глРазложить нету
13 Pro-tone
 
12.07.12
10:58
(2) давай автору код своей глРазложить =)
14 aka AMIGO
 
12.07.12
11:00
(12)вставь (9) в глобальный модуль
15 jkl123
 
12.07.12
11:01
ок, сейчас попробую
16 aka AMIGO
 
12.07.12
11:01
пост 11 - в глобальный модуль
17 jkl123
 
12.07.12
11:10
вывело, все нормально, а как позаписовать полученные даные в поле ввода? И ещё вопрос, кто знает, как зделать так, что - бы в поле ввода можно было вводить только числа и два символа например "АВ" ?
18 povar
 
12.07.12
11:12
(17) программист вышел из кабинета и вы решили сделать его работу ?
19 BlackSeaCat
 
12.07.12
11:12
Лучше всего пригласить программиста.

А тренироваться - на кошках.
20 Ёпрст
 
12.07.12
11:12
(17) маску ввода выставить атрибуту формы.
21 jkl123
 
12.07.12
11:52
(16)
как эти данные теперь закинуть в поле ввода??
22 aka AMIGO
 
12.07.12
11:58
(21)после глразложить ты получил СЗ. Распихай её элементы по полям
ПервоеПолеВвода = СЗ.ПолучитьЗначение(1);
ВтороеПолеввода = СЗ.ПолучитьЗначение(2);
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший