Jan Ruchel, Łukasz Świontek Zastosowanie Visual Basic do tworzenia pomocniczych aplikacji dla geodetów

Podobne dokumenty
Visual Basic for Applications. Wstęp

Aplikacje w środowisku VBA. Visual Basic for Aplications

Rys Szkic sieci kątowo-liniowej. Nr X [m] Y [m]

Programowanie w języku Python. Grażyna Koba

- Narzędzie Windows Forms. - Przykładowe aplikacje. Wyższa Metody Szkoła programowania Techniczno Ekonomiczna 1 w Świdnicy

Programowanie obiektowe

INFORMATYKA TECHNICZNA Badanie możliwości wykorzystania języka AutoLISP i środowiska VisualLISP w systemie CAx

Technologie informacyjne - wykład 12 -

SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka

ECDL Podstawy programowania Sylabus - wersja 1.0

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++

Program szkolenia PODSTAWY VBA (VISUAL BASIC FOR APPLICATIONS) I FORMULARZE.

2. Kliknij Insert->Userform. Jeżeli Toolbox nie pojawi się automatycznie, kliknij View -> Toolbox. Otrzymany widok powinien być jak poniżej.

Program szkoleniowy. 24 h dydaktycznych (18 h zegarowych) NAZWA SZCZEGÓŁY CZAS

Makropolecenia w PowerPoint Spis treści

Program szkolenia VBA (VISUAL BASIC FOR APPLICATIONS) W EXCELU PODSTAWOWY.

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka

VBA praca z makrami w Excelu

Od programowania wizualnego do tekstowego

WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem.

Wyrównanie ciągu poligonowego dwustronnie nawiązanego metodą przybliżoną.

Działki Przygotowanie organizacyjne

Delphi podstawy programowania. Środowisko Delphi

Dodanie nowej formy do projektu polega na:

Plik->Opcje->Zakladka Główne->Dostosuj Wstążkę Zaznaczamy kwadracik Developer na liscie po prawej stronie. Klikamy OK.

Zapisywanie algorytmów w języku programowania

Zakres tematyczny dotyczący podstaw programowania Microsoft Office Excel za pomocą VBA

Wprowadzenie do systemu Delphi

Podstawy programowania w języku Visual Basic dla Aplikacji (VBA)

przedmiot kilka razy, wystarczy kliknąć przycisk Wyczaruj ostatni,

Misja #1 Poznajemy Prophio.

INTRUKCJA KORZYSTANIA Z APLIKACJI INTERNETOWEJ

Makropolecenia w Excelu

REFERAT PRACY DYPLOMOWEJ Temat pracy: SUDOKU - Algorytmy tworzenia i rozwiązywania

Utworzenie funkcji użytkownika w Visual Basic

Edycja szablonu artykułu do czasopisma

Wykład 9: Polimorfizm i klasy wirtualne

Zacznij Tu! Poznaj Microsoft Visual Basic. Michael Halvorson. Przekład: Joanna Zatorska

Podstawy programowania. Ćwiczenie. Pojęcia bazowe. Języki programowania. Środowisko programowania Visual Studio

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

Informatyka- wykład. Podstawy programowania w Pythonie. dr Marcin Ziółkowski

SZYBKO ZROZUMIEĆ VISUAL BASIC 2012 Artur Niewiarowski -

Przedmiot: Informatyka w inżynierii produkcji Forma: Laboratorium Temat: Zadanie 4. Instrukcja warunkowa.

( x) Równanie regresji liniowej ma postać. By obliczyć współczynniki a i b należy posłużyć się następującymi wzorami 1 : Gdzie:

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab

AKADEMIA MORSKA KATEDRA NAWIGACJI TECHNICZEJ

Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop Spis treści

Program szkolenia VBA (VISUAL BASIC FOR APPLICATIONS) W EXCELU PRZEKROJOWY.

Programowanie. Pascal - język programowania wysokiego poziomu. Klasa 2 Lekcja 9 PASCAL

Informatyka II. Laboratorium Aplikacja okienkowa

Podstawy Programowania 2

Wymagania edukacyjne z informatyki dla klasy szóstej szkoły podstawowej.

Podstawy programowania Laboratorium. Ćwiczenie 2 Programowanie strukturalne podstawowe rodzaje instrukcji

Algorytm. a programowanie -

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

1. Nagłówek funkcji: int funkcja(void); wskazuje na to, że ta funkcja. 2. Schemat blokowy przedstawia algorytm obliczania

GPSz2 WYKŁAD 15 SZCZEGÓŁOWA WYSOKOŚCIOWA OSNOWA GEODEZYJNA

Wykład z Technologii Informacyjnych. Piotr Mika

ciężkości. Długości celowych d są wtedy jednakowe. Do wstępnych i przybliżonych analiz dokładności można wykorzystywać wzór: m P [cm] = ± 0,14 m α

Koncepcja pomiaru i wyrównania przestrzennych ciągów tachimetrycznych w zastosowaniach geodezji zintegrowanej

Dodawanie grafiki i obiektów

LibreOffice Calc VBA

Układy VLSI Bramki 1.0

Zad. 3: Układ równań liniowych

Zajęcia: VBA TEMAT: VBA PROCEDURY NUMERYCZNE Metoda bisekcji i metoda trapezów

Programowanie w języku C++ Grażyna Koba

System zarządzający grami programistycznymi Meridius

Rys. 1. Główne okno programu QT Creator. Na rysunku 2 oznaczone zostały cztery przyciski, odpowiadają kolejno następującym funkcjom:

Niwelacja C-Geo. Zad.1 Dany dziennik pomiaru ciągu niwelacji technicznej o reperach nawiązania RpA i RpB. Wprowadzić dane i obliczyć wysokości

Pascal - wprowadzenie

Programowanie w środowisku graficznym GUI

Układ równań liniowych

Wyrównanie sieci niwelacyjnej w WinKalk

Cechy systemu X Window: otwartość niezależność od producentów i od sprzętu, dostępny kod źródłowy; architektura klient-serwer;

16) Wprowadzenie do raportowania Rave

WYKONANIE APLIKACJI WERYFIKUJĄCEJ PIONOWOŚĆ OBIEKTÓW WYSMUKŁYCH Z WYKORZYSTANIEM JĘZYKA C++ 1. Wstęp

Praca w środowisku Visual Studio 2008, Visual C

Instrukcje pętli przykłady. Odgadywanie hasła. 1) Program pyta o hasło i podaje adres, gdy hasło poprawne lub komunikat o błędnym haśle.

W wielu obliczeniach w matematyce bądź fizyce wykonanie niektórych kroków zależy od spełnienia warunku.

Ewidencja oznakowania w oparciu o system wideorejestracji.

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

Visual Basic dla AutoCAD

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

Podstawy informatyki

Tak przygotowane pliki należy umieścić w głównym folderze naszego programu. Klub IKS

Podstawy i języki programowania

ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ NIELINIOWYCH PRZY POMOCY DODATKU SOLVER PROGRAMU MICROSOFT EXCEL. sin x2 (1)

Zadanie egzaminacyjne

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

MS Access formularze

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

Programowanie strukturalne i obiektowe. Funkcje

EXCEL Prowadzący: dr hab. inż. Marek Jaszczur Poziom: początkujący

System mapy numerycznej GEO-MAP

INFORMATYKA TECHNICZNA Badanie możliwości wykorzystania interfejsu automatyzacji OLE w systemie CAx

INSTRUKCJA OBSŁUGI ⓫ Dodatki

Transkrypt:

Jan Ruchel, Łukasz Świontek Zastosowanie Visual Basic do tworzenia pomocniczych aplikacji dla geodetów Acta Scientifica Academiae Ostroviensis nr 32, 95-105 2009

Z as tosowanie V isual Basic D o T worzenia Pomocniczych A plikacji 95 Jan Ruchel Łukasz Swiontek ZASTOSOWANIE VISUAL BASIC DO TWORZENIA POMOCNICZYCH APLIKACJI DLA GEODETÓW Pomiary wykonywane w geodezji związane z pomiarem sieci, zarówno poziomych jak i pionowych, dostarczają dużej ilości danych które następnie trzeba opracować. Opracowanie danych z tych pomiarów polega na wyrównaniu wyznaczanych wartości oraz określeniu dokładności z jaką został wykonany pomiar, a także określenie błędów jakimi są obarczone wyniki wyrównania. Realizacja obliczeń w pracach geodezyjnych wymaga posiadania przez geodetę odpowiedniej aplikacji, umożliwiającej ich wykonanie. Pracownicy firm mają więc do wyboru zakupienie programu wykonującego interesujące ich obliczenia lub też mogą spróbować stworzyć własna aplikację do ich realizacji, z możliwością ustalenia szczegółów prezentacji wyników. Własny program może realizować zagadnienia, od najprostszych obliczeń po skomplikowane analizy. To my zadecydujemy jakie funkcje będzie realizowała napisana przez nas aplikacja. Komercyjne programy dostępne obecnie na rynku oferują gotowe wyniki, nie pozwalając na wgląd do wyników pośrednich, będących niejednokrotnie niezbędnymi danymi do wykonania analizy, szczególnie przy kłopotach z obliczeniami. Pisząc własny program do obliczeń możemy zapewnić sobie wgląd do pośrednich wyników w dowolnym interesującym nas etapie obliczeń. Aplikację wykonującą interesujące nas obliczenia można wykonać na wiele sposobów: napisać program od podstaw, wykorzystując istniejące na rynku narzędzia do programowania (np. Visual Basic, Pascal, C++, Delphi), wykorzystać popularny program Excel, wchodzący w skład Microsoft Office. Posiada on wbudowane elementy programowania makropoleceń, przy użyciu języka Visual Basic, co również umożliwia tworzenie kompletnej aplikacji.

96 Zastosowanie V isual Basic D o T worzenia Pomocniczych A plikacji W niniejszej pracy pokazany zostanie przykład wykorzystania języka programowania Visual Basic do stworzenia aplikacji wyrównującej sieci niwelacyjne. Visual Basic wywodzi się z bardzo popularnego języka BASIC, wykorzystywanego do nauki programowania. Programiści zaczynający swoją przygodę z programowaniem, używali go zanim przeszli na bardziej zaawansowane języki programowania. Twórcy tego narzędzia programistycznego postawili sobie za cel stworzyć najprostszą drogę dla wszystkich, którzy chcą programować dla własnych, jak i komercyjnych potrzeb (co też w znacznym stopniu się powiodło). Pomimo swojej prostej budowy stanowi on bardzo atrakcyjne narzędzie do tworzenia własnych aplikacji. Program posiada bardzo przyjazny interfejs umożliwiający wygodne tworzenie aplikacji. Po prawej stronie okna głównego programu znajdują się; okno projektu (Solution Explorer) zawierające wszystkie części składowe naszego projektu Są to odpowiednie katalogi i pliki wygenerowane automatycznie przez Visual Basic, oraz formy i moduły dodane w trakcie tworzenia projektu przez programistę, okno cech (Properties) pokazujące aktualne wartości wszystkich cech dla aktywnego w oknie projektu obiektu. W oknie tym możemy modyfikować wartości wybranych cech dla wskazywanego obiektu. W razie potrzeby cechy mogą być zmieniane z poziomu kodu programu, podczas realizacji poszczególnych procedur. Rysunek 1 Okno projektu i okno cech obiektu.

Zastosowanh; V isual B asic Do T worzenia Pomocniczych A plikacji 97 Program tworzony za pomocą Visual Basic składa się z dwu części: interfejs użytkownika, czyli graficzny układ okna (formularza) i obiektów do niego przypisanych, Oczywiście projekt rozbudowany może składać się z wielu formularzy (okien). kod programu, zawierający odpowiednie procedury z zestawem instrukcji, które maja być wykonane po zaistnieniu odpowiedniego zdarzenia, powiązanego z obiektem (tworzony program jest typu zdarzeniowego - czyli wystąpienie, lub nie wystąpienie odpowiedniego zdarzenia warunkuje kolejność wykonywanego kodu programu). W środkowej części okna głównego Visual Basic (w oknie projektowania - View Designer) w trybie graficznym można projektować wygląd naszej aplikacji. W następnym etapie tworzy się kod programu W oknie kodu programu - View Code), składający się z procedur przypisanych do poszczególnych obiektów i powiązanych z nim zdarzeń. Rysunek 2 Okno Visual Basic z fragmentem kodu aplikacji do wyrównania sieci niwelacyjnej w trybie edycji kodu programu.

98 Z astosowanie V isual B asic D o T worzenia Pomocniczych A plikacji W trybie graficznym programu po lewej stronie umieszczone jest okno (Toolbox) przybornika, zawierające (odpowiednio pogrupowane) listy dostępnych obiektów. Rysunek 3 Okno Visual Basic z fragmentem projektu (interfejsu użytkownika) aplikacji do wyrównania sieci niwelacyjnej. Dodawanie obiektów do naszego projektu polega na umieszczeniu ich za pomocą kursora myszki na formularzu i określenie jego wielkości i położenia przy wykorzystaniu myszy i mechanizmów dotyczących elementów graficznych w środowisku Windows. Wykorzystując okno właściwości (Properties) ustalamy wartości poszczególnych cech dla danego obiektu. Aplikacje napisane w tym języku są programami typu zdarzeniowego, oznacza to, że odpowiednia procedura do realizacji jest wywoływana po zaistnieniu odpowiedniego zdarzenia powiązanego z wybranym obiektem. Zdarzenie, czyli np. wykonanie przez użytkownika czynności takiej jak: kliknięcie klawiszem myszy, wciśnięcie odpowiedniego klawisza na klawiaturze, zaznaczenie kursorem itp., bądź też zdarzenie wynikające z upływu czasu. Zdarzenie musi być powiązane z konkretnym obiektem. Procedura obsługi zdarzenia na następującą składnię:

Zastosowanie V isual Basic D o T worzenia Pomocniczych A plikacji... 99 Private Sub Przycisk_click (parametry procedury) lista instrukcji przypisanych do obiektu PRZYCISK i zdarzenia CLICK end sub Jak widać, nazwa procedury zawiera nazwę obiektu i skojarzone z tym obiektem zdarzenie. Ewentualnie zawiera odpowiednie parametry powiązane z rodzajem obiektu i typem zdarzenia. Nagłówki procedur są generowane automatycznie przez Visual Basic. Visual Basic jest przyjaznym językiem programowania ze względu na wbudowaną kontrolę błędów. Błędy pojawiające się podczas pisanie programu można podzielić na kilka grup: pomyłki w edycji tekstu - można je ominąć poprzez staranne skontrolowanie tego, co napisaliśmy, nie są to błędy groźne dla powstałej aplikacji, błędy ujawniane podczas kompilacji - są to błędy które uniemożliwiają skompilowanie programu, ponieważ w kodzie programu są nieścisłości (niezgodności składni dla deklaracji bądź instrukcji), lub błędy identyfikacji poszczególnych elementów programu. błędy wykonania programu - błędy te pojawiają się podczas wykonywania fragmentu algorytmu, może to np. być przypadek, gdy wystąpi dzielenie przez 0. Wystąpienie takiego błędu jest groźne w skutkach, ponieważ powoduje ono zawieszenie programu, a tym samym stratę danych (tych które nie zostały zapisane). Należy się więc stosować odpowiednie zabezpieczenia podczas pisania kodu programu. błędy logiczne - jest to najgroźniejszy rodzaj błędów, gdyż powoduje on uzyskiwanie błędnych wyników. Jest to błąd najtrudniejszy do wykrycia, ponieważ nie jest on sygnalizowany żadnymi komunikatami. Jest to najczęściej wynik błędnego algorytmu.

100 Z astosowanie V isual B asic D o T worzenia P omocniczych A plikacji Program Visual Basic posiada wbudowane mechanizmy pozwalające na zabezpieczanie się i kontrolę błędów wykonywania programu. Przystępując do pisania aplikacji musimy mieć starannie opracowane założenia dotyczące celu, jaki stawiany jest przed tworzonym programem oraz opracowany i sprawdzony algorytm postępowania, prowadzący do zrealizowania postawionego celu. Tworząc aplikację do obliczeń musimy zaprojektować (i zarezerwować na te dane odpowiednie zasoby pamięci) odpowiednie struktury, gdzie będą przechowywane nasze dane. Działanie to nazywamy deklarowaniem. Nasze stałe bądź też zmienne są najczęściej typu: typ liczby całkowite - Integer typ liczby rzeczywiste - Single typ logiczny - Boolean typ ciąg znaków - String typ macierzowy - Array Visual Basic pozwala także na tworzenie własnych typów złożonych, czyli takich, które będą odpowiadać danym geodezyjnym. Przykładem mogą być tablice zawierające odpowiednio dane typu: reper - reprezentowany przez numer, wysokość, klasę, dokładność wyznaczenia wysokości punkt osnowy - reprezentowany przez numer, współrzędne, dokładność wyznaczenia, klasę itp.. Mając już tak zadeklarowane zmienne, oraz wartości stałe występujące w naszej aplikacji, możemy przystąpić do pisania właściwego kodu programu. Pisząc kod programu niejednokrotnie zdarza się sytuacja wymagająca, aby pewien fragment kodu wykonywał się wielokrotnie, bądź też będzie nałożony warunek, w którym będzie determinowane wykonanie określonego kodu. Do rozwiązania takiego problemu możemy się posłużyć pętlami. Do najpopularniejszej pętli należy blok instrukcji For. Ma ona następującą budowę: For i=l to n blok instrukcji powtarzanych

Zastosowanie V isual B asic D o T worzenia P omocniczych A plikacji... 101 Next i Powyższa instrukcja pozwala nam na wykonanie n - razy ciągu instrukcji, dla określonego (zmieniającego się) parametru i. Bardzo ważną konstrukcją, także często występującą w kodzie programu jest blok instrukcji warunkowej: If (warunek) then blok instrukcji dla spełnionego warunku Else blok instrukcji dla niespełnionego warunku End If Dla powyższego przykładu instrukcji warunkowej przypisane zostały dwa bloki instrukcji zależne od warunku. W przypadku, gdy zostanie spełniony warunek, zostanie wykonany pierwszy blok instrukcji, zaś drugi zostanie pominięty. Znając podstawy programowania każdy może napisać taki program komputerowy, który umożliwi wykonanie dowolnego procesu obliczeń geodezyjnych. Do wykonania takiej aplikacji konieczna jest wiedza potrzebna do rozwiązania problemu. Możemy rozróżnić następujące typowe sieci geodezyjne Sieć niwelacyjna, Sieć liniowa, Sieć kątowa, Sieć kątowo-liniowa i Sieć przestrzenna. Do rozwiązania poszczególnych zadań konieczna jest znajomość algorytmu prowadzącego do rozwiązania zagadnienia. W przypadku obliczania sieci niwelacyjnych należy postępować według następującego algorytmu (algorytm wyrównania metodą najmniejszych kwadratów) : 1. Obliczenie ilości spostrzeżeń i niewiadomych, oraz ustalenie wag Warunkiem koniecznym do rozwiązania zadania jest posiadanie większej liczby spostrzeżeń niż niewiadomych, czyli:

102 Z astosowantf. Y isijal B asic D o T worzenia Pomocniczych A plikacji gdzie: n k = n u n - liczba spostrzeżeń (pomierzonych ciągów niwelacyjnych) u - liczba niewiadomych (wyznaczanych reperów) nk - liczba spostrzeżeń nadliczbowych Wagi spostrzeżeń są konieczne do zrównoważenia spostrzeżeń o różnej dokładności. Dla sieci jednakowo dokładnej przyjmuje się, że wagi są sobie równe (z wartością -1), dla różno dokładnych wagi możemy wyznaczyć: cl 1 P i= Tc 0 TLt T =T Lj gdzie: L, - długość i-tego ciągu niwelacyjnego lub 1 Pi = ni gdzie: n* - liczba stanowisk w danym ciągu niwelacyjnym 2. Obliczenie wartości przybliżonych Obliczamy je na podstawie znanej wysokości, co najmniej jednego punktu, do której dodajemy kolejne różnice (lub sumy różnic) wysokości między reperami mierzonymi (zgodnie z wykonanym pomiarem). 3. Ułożenie równań poprawek H i = H ł l h, (Hpa + dhay Hp = hfs + V, (HPAidHA)-(H;;idHA)=hfUv2 Równania poprawek w zapisie macierzowym: V =Axi L gdzie: V- macierz wartości poprawek A - macierz współczynników przy niewiadomych w układzie równań poprawek x - macierz niewiadomych L - macierz wyrazów wolnych w równaniach poprawek 4. Rozwiązanie układu równań normalnych

Zastosowanie V isual Basic Do T worzenia Pomocniczych A plikacji... 103 (ATpAyx**= (ArpL) x = (ArpA)1*(ArpL) 5. Obliczenie współrzędnych wyrównanych Ha = Hpa + dha 6. Obliczenie poprawek do spostrzeżeń Do obliczenia poprawek do spostrzeżeń i zarazem wyrównanych ich wartości korzystamy z równań poprawek w postaci macierzowej. V =Ax+ L 7. Wykonanie analizy dokładności. Rozpoczynamy od błędu średniego typowego spostrzeżenia (estymatora wariancji resztowej). Vn- u Aby obliczyć dokładność wyznaczonych przyrostów do przybliżonych wysokości reperów należy obliczyć macierz cov(x), której elementy przekątniowe są kwadratami błędów na poszczególnych punktach. cov(x) = ml(arpa) 1 Podobnie jak w przypadku obliczenia dokładności wyrównanych spostrzeżeń (funkcji niewiadomych) co\{l) - A cov(x) At Macierze te można wykorzystać do wykonania poszerzonej analizy dokładności. 8. Zestawienie wyników Piszemy kod programu tak, aby interesujące nas wyniki były prezentowane na ekranie monitora w żądanej postaci i ewentualnie udostępniamy możliwość zapisania ich w pliku (np. tekstowym). Przykładowe okna ze zrealizowanej ww. sposób aplikacji

104 Z astosowanie Y isiiai. B asic D o T worzenia Pomocniczych A plikacji Rysunek 4 Okno startowe gotowej aplikacji do wyrównywania sieci niwelacyjnych. Rysunek 5 Okno główne (po wykonaniu obliczeń) gotowej aplikacji do wyrównywania sieci niwelacyjnych.

Z astosowanie V isual Basic: Do T worzenia Pomocniczych A plikacji 105 Literatura: 1. Instrukcja techniczna 0-1, Warszawa 1988 2. Kamela C., Warchałowski E., Włoczewski F., Wyrzykowski T.: Niwelacja Precyzyjna, Niwelacja geometryczna, trygonometryczna, satelitarna i hydroniwelacja, PPWK, Warszawa-Wrocław 1993. 3. Łoś A.: Rachunek wyrównawczy, PWN, Warszawa 1973. 4. MacDonald M.: Visual Basic 2004 Wprowadzenie do programowania 5. Osada E.: Geodezja, Oficyna Wydawnictwa Politechniki Wrocławskiej, Wrocław 2001. 6. Swiontek Ł.: Program do wyrównywania sieci niwelacyjnej (Visual Basic), praca dyplomowa WSBIP WGiK Ostrowiec Świętokrzyski, rok 2008.