Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

18 Май 2021, 17:42 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Часто задаваемые вопросы по LibreOffice и Apache OpenOffice.org
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1 2 »   Вниз
  Печать  
Автор Тема: Программируемый Диалог  (Прочитано 4429 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Tigrik
Форумчанин
***
Offline Offline

Сообщений: 94


« Ответ #54576: 11 Май 2020, 19:53 »

Если нужно объединить два массива, то создайте функцию которая будет получать эти массивы, определять размерность массивов, создавать новый массив соответствующей размерности и наполнять его данными в цикле. Но всё это "шайтан арба".

У меня, пока, ещё мало знаний, навыков и опыта в программировании макросов в ЛО, поэтому и спрашивал про массивы.
Может быть, есть какое-нибудь простое решение, а не то, что получилось у меня:
Код:
Sub Proba_SumArray
   Dim Arr01, Arr02, Arr03, ArrPlus
Arr01 = Array("Type", "com.sun.star.awt.UnoControlButtonModel")
Arr02 = Array("Name", "But_OK", "PushButtonType", com.sun.star.awt.PushButtonType.OK)
Arr03 = Array("Align", 1, "Label", "ПРИМЕНИТЬ")
ArrPlus = Join_Arrays(Array(Arr01, Arr02, Arr03))
End Sub

Function Join_Arrays(arBeg()) As Object
 Dim i%, j%, k%
  For i = LBound(arBeg()) To UBound(arBeg()) : j = j + UBound(arBeg(i)) + 1 : Next
 Dim arSum(j - 1)
For j = LBound(arBeg()) To UBound(arBeg())
For i = LBound(arBeg(j)) To UBound(arBeg(j)) : arSum(k + i) = arBeg(j)(i) : Next
k = k + UBound(arBeg(j)) + 1
Next
Join_Arrays = arSum()
End Function
Конечно, функция не очень большая, но, возможно, есть лучший вариант!?
Да, для "сложения" двух массивов, код функции меньше, но решил, в данном случае, не "мелочиться" - пусть будет обработка больше двух массивов.

Скорее всего, буду применять этот вариант, так как для обработки строкового массива логики (следовательно, кода) намного больше.
Записан
Страниц: 1 2 »   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!