Частина тексту файла (без зображень, графіків і формул):
Міністерство освіти і науки, молоді та спорту України
Національний університет «Львівська політехніка»
Кафедра обчислювальної математики та програмування
Розрахункова робота
на тему:
«Проектування діалогового вікна для вводу даних в таблицю»
Мета роботи: ознайомлення з властивостями основних елементів керування Basic OOo та їх використанням для створення вікон діалогу.
Завдання: спроектувати діалогове вікно для заповнення даними таблиці на робочому листі ET Open Office Calc згідно варіанта. Для оформлення заголовку таблиці створити додаткову процедуру Sub. Для вводу даних у вікні діалогу використати вказані елементи керування.
Варіант 10. Продаж комп’ютерів у кредит
Назви полів для вводу даних
Елемент керування, що використовується для вводу даних
Дата оформлення,
прізвище клієнта
TextField(поле)
Технічні характеристики
ComboBox (поле зі списком)
Ціна
NumericField1(лічильник)
Термін кредиту
OptionButton
Підключення до мережі
CheckBox
Dim MyDlg
Sub RunDialog()
'Процедура завантаження діалогу
Dim WinLib
Dim WinDlg
Dim FCell
'Завантаження бібліотеки і діалогу
DialogLibraries.LoadLibrary("DialogWindows")
WinLib = DialogLibraries.getByName("DialogWindows")
WinDlg = WinLib.getByName("Dialog1")
MyDlg = CreateUnoDialog(WinDlg)
'Якщо на робочому листі немає заголовку таблиці, то
'запускається прцедура його створення
FCell = ThisComponent.Sheets(0).getCellRangeByName("A1")
If FCell.getType() = com.sun.star.table.CellContentType.EMPTY Then
TopOfTable
End If
'Задання стартових налаштувань деяких керуючих елементів діалогу
With MyDlg
.getControl("NumericField1").Value = 0
.getControl("OptionButton1"). Value = 0
.getControl("ComboBox1").Text = "Оперативна пам'ять"
End With
MyDlg.execute
End Sub
Sub EndDialog()
'Процедура зариття діалогу
MyDlg.EndExecute
End Sub
Sub IsertData()
'Процедура запису даних на робочий лист
Dim UCell As Object
Dim n As Integer
Dim Avtor As String : Dim Nazva As String
Dim Vydav As String : Dim Oplata As String
Dim k As Integer : Dim Zam As String
'Зчитування введених даних з елементів керування
With MyDlg
Prizvusche_klienta = .getControl("TextField1").Text
Data_prodagu = .getControl("TextField2").Text
Tehnichni_haracterystyky = .getControl("ComboBox1").Text
If .getControl("OptionButton1").State = True Then Kredit = "рік"
If .getControl("OptionButton2").State = True Then Kredit= "два роки"
p = .getControl("NumericField1").Value
If .getControl("CheckBox1").State = 1 Then
Pidcluchennya= "Так"
Else
Pidcluchennya = "Ні"
End If
End With
'Пощук першого вільного рядка для запису даних
n = 1
UCell = ThisComponent.Sheets(0).getCellRangeByName("A" & CStr(n))
While Not(UCell.getType() = com.sun.star.table.CellContentType.EMPTY)
n =n + 1
UCell = ThisComponent.Sheets(0).getCellRangeByName("A" & CStr(n))
Wend
'Запис введених даних на робочий лист
ThisComponent.Sheets(0).getCellRangeByName("A" & Cstr(n)). _
setString(Prizvusche_klienta)
ThisComponent.Sheets(0).getCellRangeByName("B" & Cstr(n)). _
setString(Data_prodagu)
ThisComponent.Sheets(0).getCellRangeByName("C" & Cstr(n)). _
setString(Tehnichni_haracterystyky)
ThisComponent.Sheets(0).getCellRangeByName("D" & Cstr(n)). _
setString(Kredit)
ThisComponent.Sheets(0).getCellRangeByName("E" & CStr(n)).setValue(p)
ThisComponent.Sheets(0).getCellRangeByName("F" & Cstr(n)). _
setString(Pidcluchennya)
End Sub
Sub TopOfTable()
'Процедура створення заголовку таблиці
ThisComponent.Sheets(0).getCellRangeByName("A1").setString("Прізвище клієнта")
ThisComponent.Sheets(0).Columns(0).Width = 3000
ThisComponent.Sheets(0).getCellRangeByName("B1"). _
setString("Дата оформлення")
ThisComponent.Sheets(0).Columns(1).Width = 12500
ThisComponent.Sheets(0).getCellRangeByName("C1"). _
setString("Технічні характеристики")
ThisComponent.Sheets(0).Columns(2).Width = 2500
ThisComponent.Sheets(0).getCellRangeByName("D1"). _
setString("Термін кредиту")
ThisComponent.Sheets(0).Columns(3).Width = 2500
ThisComponent.Sheets(0).getCellRangeByName("E1").setString("Ціна")
ThisComponent.Sheets(0).Columns(4).Width = 1250
ThisComponent.Sheets(0).getCellRangeByName("F1").setString("Підключення до мережі")
ThisComponent.Sheets(0).Columns(5).Width = 1000
End Sub
Ви не можете залишити коментар. Для цього, будь ласка, увійдіть
або зареєструйтесь.
Ділись своїми роботами та отримуй миттєві бонуси!
Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!