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

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

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

Войти
Новости: Здесь можно поблагодарить участников форума Улыбка
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1   Вниз
  Печать  
Автор Тема: Как создать и изменять размеры массива формата Array (0)(0) ?  (Прочитано 3228 раз)
0 Пользователей и 1 Гость смотрят эту тему.
idro
Участник
**
Offline Offline

Сообщений: 24


« Ответ #35257: 9 Апрель 2016, 19:12 »

Я написал суть ,  убрал лишние строки кода. Меня интересует можно ли непосредственно создать и менять размер mMassivDataArray(Num)(Num1) до создания таблицы? Без того, что бы собирать все в промежуточный массив.

Вот сам кусок кода объявление переменных и сроку запроса ResultSetк базе я упускаю :

Цитата:
   ReDim mMassiv(0,5)
   mMassiv(0,0)  = "п/п"
   mMassiv(0,1)  = "Номер"   
   mMassiv(0,2)  = "Организация"
   mMassiv(0,3)  = "Адрес"   
   mMassiv(0,4)  = "Дата"
       ' Заполняем массив данными из базы
   If Not IsNull(ResultSet) Then
      While ResultSet.next
         lNum=lNum+1   
         ReDim Preserve mMassiv(lNum,4)
         For lNum1=1 to 3
            mMassiv(lNum,0) = lNum
            mMassiv(lNum,lNum1) = ResultSet.GetString(lNum1)
         Next
         mMassiv(lNum,4) = cDate(ResultSet.GetString(4))
      Wend
   End if
    oDoc=StarDesktop.loadcomponentfromurl("private:factory/swriter","_blank",0,Array())
    oText=oDoc.Text
    oCursor=oText.createTextCursor ' создаём скрытый курсор,
  oTable1 = oDoc.createInstance("com.sun.star.text.TextTable")
  oTable1.initialize(Ubound(mMassiv,1)+1,5)
  oDoc.Text.insertTextContent(oCursor, oTable1, False)
  oTblColSeps = oTable1.TableColumnSeparators
  oTable1.HoriOrient = 6  'таблица занимает всю ширину
  oTblColSeps(0).Position =400
  oTblColSeps(1).Position =1400
  oTblColSeps(2).Position =4600
  oTblColSeps(3).Position =8300
  oTable1.TableColumnSeparators = oTblColSeps  

   If Ubound (mMassiv) = 0 then ' данных нет , выходим
      Exit Sub
   End if

   mMassivDataArray=oTable1.getDataArray
   mMassivDataArray = mMassiv
   oTable1.SetDataArray(mMassivDataArray)
« Последнее редактирование: 9 Апрель 2016, 19:19 от idro » Записан
Страниц: 1   Вверх
  Печать  
 
Перейти в:  

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