Имя: Пароль:
1C
1С v8
Как добавлять структура в массив
0 breezee
 
29.11.15
21:02
Пытался добавлять структура в массив следующим образом
НомераСкобок = Новый Структура("Начало,Конец");
Для к = 1 По СтрДлина(МояСтрока) Цикл
Если Найти("-(",Сред(МояСтрока,к,2))>0 Тогда    
НомераСкобок.Начало = к+2;  //Находим начало скобок
КонецЕсли;
Если Найти(")",Сред(МояСтрока,к,1))>0 Тогда    
НомераСкобок.Конец = к-1; //Находим конец скобок
МассивВнутриСкобья.Добавить(НомераСкобок);
КонецЕсли;
КонецЦикла;
Отладка показала что почему-то оба элемента получившегося массива имеют одинаковые значения начала и конца.
Потом стал каждый раз заново создавать структуру в цикел

Для к = 1 По СтрДлина(МояСтрока) Цикл
НомераСкобок = Новый Структура("Начало,Конец");
Если Найти("-(",Сред(МояСтрока,к,2))>0 Тогда    
НомераСкобок.Начало = к+2;  //Находим начало скобок
КонецЕсли;
Если Найти(")",Сред(МояСтрока,к,1))>0 Тогда    
НомераСкобок.Конец = к-1; //Находим конец скобок
МассивВнутриСкобья.Добавить(НомераСкобок);
КонецЕсли;
КонецЦикла;
Номера конца она записывала правильно, а номера начала - не записывала вообще. Если в массиве 1 элементы - все нормально отрабатывает, для первого когда
1 breezee
 
29.11.15
21:08
Проблему решил, но интерес остался. Почему у меня каждый раз значения перезаписываются в уже записанной в массив структуре
2 GROOVY
 
29.11.15
21:17
Есть получение переменной по ссылке, а есть по значению. Это обычно рассказывают, когда объясняют как процедуры и функции работают.
AdBlock убивает бесплатный контент. 1Сергей