Własne okno dialogowe do wprowadzania i formatowania danych

Autor podstrony: Krzysztof Zajączkowski

Stronę tą wyświetlono już: 3624 razy

Postanowiłem jakiś czas temu stworzyć sobie mały zbiór funkcji i makr umożliwiający szybkie i bezbolesne wprowadzanie danych do arkusza kalkulacyjnego programu, uwaga, uwaga tym razem LibreOffice Calc Celem tego jest uproszczenie zbierania danych fizycznych na temat moich przejażdżek rowerowych. Stworzyłem więc okno dialogowe, w którym są wprowadzane następujące informacje:

Dostępne jest również pole prędkość średnia, ta wartość jest obliczana automatycznie na podstawie podanej odległości i czasu przejazdu.

Dodanie rekordu sprawia, że w tabelce arkusza kalkulacyjnego pojawią się automatycznie sformatowane wielkości fizyczne, a wśród nich (oprócz wyżej już wymienionych):

Rys. 1
Screen okna dialogowego programu.

Jak utworzyć własne okno dialogowe? Toż to prostsze niż odebranie dzieciakowi lizaka (nie żebym kiedykolwiek próbował). Należy wybrać w menu Narzędzia->Makra->Zarządzanie oknami dialogowymi pojawi się okno dialogowe LibreOffice - Menadżer makr Basic gdzie po prawej stronie znajduje się przycisk Nowy, po kliknięciu którego można wpisać nazwę nowego okna dialogowego a następnie zatwierdzić utworzenie nowego okna dialogowego za pomocą przycisku OK. Dodawanie formantów jest dość intuicyjne, przypisywanie do nich makr było omówione we wcześniejszym punkcie tego działu, pokażę jedynie przykładowe makro uruchamiające okno dialogowe

Dim dlgRower as object Dim eDescription as object Dim nSpeed as object Dim eTime as object Dim nSpeedMax as object Dim nDistance as object Dim document as object Dim dispatcher as object Sub Dialog1Show document = ThisComponent.CurrentController.Frame dispatcher = createUnoService("com.sun.star.frame.DispatchHelper") DialogLibraries.LoadLibrary( "Standard" ) dlgRower = CreateUnoDialog( DialogLibraries.Standard.Rower) dlgRower.Execute() End Sub

Załączniki:

Plik z oknem dialogowym