Имя: Пароль:
1C
1С v8
работа со строкой
0 zippygrill
 
09.04.12
10:24
помогите разбить строку:
Есть строка -> "йцукенгшщзхъффыввапролджээячсмиитьтбюжэлорпрущорпккпиу тимкп кптщу"
Как мне ее разбить по 50 символов?
1 Ненавижу 1С
 
гуру
09.04.12
10:25
функции Сред() и СтрДлина() вам подойдут
2 Wobland
 
09.04.12
10:26
Сред(стр, й, 50)
3 zippygrill
 
09.04.12
10:28
(1)спс
(2) вместо "й" как начальный номер можно ставить 0 да?
4 Ненавижу 1С
 
гуру
09.04.12
10:29
(3) нет, 1
5 zippygrill
 
09.04.12
10:29
(4) ок
6 Omskdizel
 
09.04.12
10:30
(3) Нет, там счетчик цикла
7 zippygrill
 
09.04.12
10:33
(6) пример?
8 Wobland
 
09.04.12
10:36
(7) й=1; Пока й<=СтрДлина(стр) Цикл Сред(стр, й, 50); й=й+50;
9 DimVad
 
09.04.12
10:38
Что если где-то так:

   СтрокаИсходная = "йцукенгшщзхъффыввапролджээячсмиитьтбюжэлорпрущорпккпиу тимкп кптщу";
   МойСписок = Новый СписокЗначений;
   
   Если СтрДлина(СтрокаИсходная) <= 50 Тогда
       МойСписок.Добавить(СтрокаИсходная);
   Иначе
       Пока НЕ ПустаяСтрока(СтрокаИсходная) Цикл
           
           МояПодстрока = Лев(СтрокаИсходная, 50);
           СтрокаИсходная = Сред(СтрокаИсходная, 51);
           МойСписок.Добавить(МояПодстрока);
           
       КонецЦикла;
   КонецЕсли;
10 zippygrill
 
09.04.12
10:41
(8) спасибо за помощь. все готово.
11 Ненавижу 1С
 
гуру
09.04.12
10:41
СтрокаИсходная = "йцукенгшщзхъффыввапролджээячсмиитьтбюжэлорпрущорпккпиу тимкп кптщу";
МойСписок = Новый СписокЗначений;

Пока НЕ ПустаяСтрока(СтрокаИсходная) Цикл
           
           МояПодстрока = Лев(СтрокаИсходная, 50);
           СтрокаИсходная = Сред(СтрокаИсходная, 51);
           МойСписок.Добавить(МояПодстрока);
           
       КонецЦикла;
12 Omskdizel
 
09.04.12
10:41
(9) Ну можно и так, вобщем-то способ не один. Можно еще как-нить извратиться, например с реквизитом с фиксированной длиной в 50 символов :)
13 AF
 
09.04.12
10:58
Что то напомнило... Типа узнать четное или нет... Не самый неоптимальный, но достаточно тупой... ))))



   Тек = "долуциполдцуипдолуицпдолицполдицулдкопрцулдкопрцушпрулоипоруми орйиподйрмипд";
   ТекТемп = Тек;
   МаксДлина=10;
   ТекДлина = 0;
   Слофо="";
   Для х=0 по СтрДлина(СокрЛП(Тек)) Цикл
       Левая_Буква=Лев(ТекТемп,1);
       Слофо = Слофо+""+Левая_Буква;
       ТекТемп=Прав(ТекТемп,СтрДлина(ТекТемп)-1);
       
       ТекДлина = ТекДлина + 1;
       Если ТекДлина=МаксДлина Тогда
           ТекДлина=0;
           Сообщить(Слофо);
           Слофо="";
       КонецЕсли;
   КонецЦикла;
   Если СтрДлина(Слофо)<>0 Тогда
       Сообщить(Слофо);
   КонецЕсли;
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой