Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: Вопрос по OpenBasic  (Прочитано 853 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн astrobeglec

  • Автор темы
  • Активист
  • *
  • Сообщений: 838
  • Самая тяжелая ноша - пророк в извращенном мире...
    • Просмотр профиля
Вопрос по OpenBasic
« : 24 Января 2011, 22:00:29 »
Был самописный макрос в VBA. Суть макроса:
1. Открывается форма (диалог)
2. В TextBox вносятся 2 значения
3. На основании значения функция вычисляет еще 3 значения (2 подстановки и математическое вычисление)
4. В TextBox выводятся полученные значения которые затем идут в текст документа.
Суть вопроса:
В VBA я задавал переменную как:
x=TextBox1.Text Соответственно возвращал данные в форму
TextBox2.Text = yЧем заменить указанные команды?
Пока что это единственное что удерживает на виртуалке WinXP... Ибо код в целом (56 килознаков) экономит каждый день по 2-3 часа рабочего времени. Всю обработку переписал, а вот с данным вопросом не получилось. К гуглу и яндексу не отсылать - 4 день там вечерами отвисаю.... Находил ряд примеров, но не сработали.

Пользователь решил продолжить мысль 24 Января 2011, 23:44:11:
Был самописный макрос в VBA... Всю обработку переписал
На что переписали?
На OOo Basic разумеется. В принципе там кода хоть и много, но операции простые - математика и подстановка. При запуске кода с изначально заданными параметрами все работает. Вот только как параметры из диалога вытянуть и определить? А заодно и назад поставить?
« Последнее редактирование: 24 Января 2011, 23:44:11 от astrobeglec »
Я вернулся...

Оффлайн smaharbA

  • Участник
  • *
  • Сообщений: 220
    • Просмотр профиля
Re: Вопрос по OpenBasic
« Ответ #1 : 25 Января 2011, 06:29:01 »
не в тот форум почтите, пойдите хотя бы к адинеснегам, они хоть и тупые, но все поумнее здешней аудитории
Я конечно далек от мысли...(с)

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: Вопрос по OpenBasic
« Ответ #2 : 25 Января 2011, 11:18:41 »
Эндрю Питоньяк. OpenOffice.org Объяснение Макросов. — Hentzenwerke Publishing, 2004
В LXF много статей Бейна.

Оффлайн Jack Sparrow

  • Активист
  • *
  • Сообщений: 630
    • Просмотр профиля
Re: Вопрос по OpenBasic
« Ответ #3 : 26 Января 2011, 15:11:07 »
Используйте методы getText(string) и setText(string).
Linux is only free if your time has no value (c) Jamie Zawinski

Оффлайн alexwf

  • Новичок
  • *
  • Сообщений: 29
    • Просмотр профиля
Re: Вопрос по OpenBasic
« Ответ #4 : 29 Января 2011, 17:40:43 »
Как-то так:

Dim oTxt As Object 'объявим ссылку на объект текстового поля

'код бла-бла
'а тут нужно вызвать наш диалог с текст-боксом и получить из него данные

 DialogLibraries.LoadLibrary("Standard" ) 'стандартная библа
 oDialog1 = CreateUnoDialog(DialogLibraries.Standard.FillCells)          'объект диалога (рисуется в дезигнере) с именем FillCells

 oTxt = oDialog1.GetControl("txfTxt") 'получить ссылку на текст-бокс по имени txfTxt
 oDialog1.Execute() 'показать форму диалога

'в диалоге есть кнопка, на неё повесим следующую пр-ру (исполнение)
'внутри код

 MsgBox(oTxt.Text) 'показать в мессаге чего ввели в поле

Не сложно. :) присвоить чего-либо oTxt.Text = "123456" , у объекта много доступных свойств, атрибутов и методов
Полезная фича ООо "запись макросов" - включаем, делаем чего-нибудь в док-те, глядим чего он нагенерил.

Очень полезный ресурс:
http://wiki.services.openoffice.org/wiki/Documentation/BASIC_Guide
« Последнее редактирование: 29 Января 2011, 17:49:11 от alexwf »

 

Страница сгенерирована за 0.049 секунд. Запросов: 25.