KORPORACYJNE SYSTEMY ZARZĄDZANIA INFORMACJĄ



Podobne dokumenty
KORPORACYJNE SYSTEMY ZARZĄDZANIA INFORMACJĄ

Informatyzacja Przedsiębiorstw

Informatyzacja Przedsiębiorstw

KORPORACYJNE SYSTEMY ZARZĄDZANIA INFORMACJĄ

Programowanie RAD Delphi

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

DIAGRAMY SYNTAKTYCZNE JĘZYKA TURBO PASCAL 6.0

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

Materiały do laboratorium MS ACCESS BASIC

Bloki anonimowe w PL/SQL

Politechnika Gdańska Katedra Optoelektroniki i Systemów Elektronicznych

Kiedy i czy konieczne?

1 Podstawy c++ w pigułce.

Języki programowania zasady ich tworzenia

Programowanie w środowisku graficznym GUI

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

Inżynieria Programowania Laboratorium 3 Projektowanie i implementacja bazy danych. Paweł Paduch paduch@tu.kielce.pl

2. W oknie dialogowym Choose Toolbox Items w zakładce.net Framework Components naciskamy przycisk Browse...

DECLARE VARIABLE zmienna1 typ danych; BEGIN

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

Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania

Właściwości i metody obiektu Comment Właściwości

Sage Migrator 2019.e Migracja do Sage 50c wersja 2019.a i 2019.b

Symfonia Produkcja Instrukcja instalacji. Wersja 2013

Informatyka II. Laboratorium Aplikacja okienkowa

LibreOffice Calc VBA

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

Programowanie obiektowe

Informatyka 1. Przetwarzanie tekstów

Microsoft IT Academy kurs programowania

Programowanie w Turbo Pascal

Wstęp do programowania. Różne różności

Programowanie obiektowe

Język ludzki kod maszynowy

Programowanie w SQL procedury i funkcje. UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika

DECLARE <nazwa_zmiennej> typ [(<rozmiar> )] [ NOT NULL ] [ { := DEFAULT } <wartość> ];

Tworzenie własnych komponentów

Wstęp do programowania

Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja, - liczby losowe

Informatyka 1. Wyrażenia i instrukcje, złożoność obliczeniowa

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

Programowanie komputerowe. Zajęcia 1

Scenariusz lekcji. Scenariusz lekcji 1 TEMAT LEKCJI: 2 CELE LEKCJI: 2.1 Wiadomości: 2.2 Umiejętności: 3 METODY NAUCZANIA: 4 ŚRODKI DYDAKTYCZNE:

Podstawy Programowania 2

Składowane procedury i funkcje

Instrukcja laboratoryjna cz.3

Pracownia internetowa w szkole ZASTOSOWANIA

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.

C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów

1 Podstawy c++ w pigułce.

CoDeSys 3 programowanie w języku drabinkowym LD

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

Instrukcja instalacji programu SYSTEmSM

Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek].

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki

UWAGA!!! Przed przystąpieniem do zamknięcia roku proszę zrobić kopie bezpieczeństwa

Języki skryptowe w programie Plans

Funkcje i instrukcje języka JavaScript

Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.

INSTRUKCJA PUSTA. Nie składa się z żadnych znaków i symboli, niczego nie robi. for i := 1 to 10 do {tu nic nie ma};

Informatyzacja Przedsiębiorstw

Pomoc dla usługi GMSTHostService. GMSTHostService. Pomoc do programu 1/14

Podstawowe części projektu w Javie

Programowanie Obiektowe GUI

Programowanie w języku Python. Grażyna Koba

CoDeSys 3 programowanie w języku CFC

Platforma.NET laboratorium 1. Visual Basic.NET podstawowe elementy języka. Wykonanie warunkowe If End If

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

Pascal - wprowadzenie

PHP: bloki kodu, tablice, obiekty i formularze

1 Wprowadzenie do algorytmiki

Delphi podstawy programowania. Środowisko Delphi

Wykład 2 Składnia języka C# (cz. 1)

MS Windows Vista. Spis treści. Autor: Jacek Parzonka, InsERT

Ćwiczenia 2 IBM DB2 Data Studio

MODUŁ INTEGRUJĄCY ELEKTRONICZNEGO NADAWCĘ Z WF-MAG SPIS TREŚCI

Tutorial prowadzi przez kolejne etapy tworzenia projektu począwszy od zdefiniowania przypadków użycia, a skończywszy na konfiguracji i uruchomieniu.

Zapytania i wstawianie etykiet z bazy danych do rysunku

Serwer WWW Apache. Plik konfiguracyjny httpd.conf Definiujemy m.in.: Aktualne wersje 2.4.6, , zakończony projekt

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Podstawy VBA cz. 1. Programowanie komputerowe

Notatka Aplikacyjna NA 03006PL Maj 2016

Aplikacje w środowisku VBA. Visual Basic for Aplications

CoDeSys 3 programowanie w języku FBD

I - Microsoft Visual Studio C++

Makropolecenia w Excelu

Podstawy programowania skrót z wykładów:

Użycie Visual Basic for Applications ("VBA")

MATERIAŁY DYDAKTYCZNE. Streszczenie: Z G Łukasz Próchnicki NIP w ramach projektu nr RPMA /15

ZMIENNE. Podstawy PHP

Obiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody

WIADOMOŚCI WSTĘPNE WPROWADZENIE DO JĘZYKA TURBO PASCAL. Klawisze skrótów. {to jest właśnie komentarz, moŝna tu umieścić dowolny opis}

PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy.

Zarządzanie Infrastrukturą IT. Jak ręcznie utworzyć instancję EAUDYTORINSTANCE na SQL Serwerze

Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach?

Połączenie AutoCad'a z bazą danych

Przypisywanie bibliotek w architekturze SAS

Informatyzacja Przedsiębiorstw

Instalacja Webroot SecureAnywhere przy użyciu GPO w Active Directory

Wykład 15. Literatura. Kompilatory. Elementarne różnice. Preprocesor. Słowa kluczowe

Transkrypt:

KORPORACYJNE SYSTEMY ZARZĄDZANIA INFORMACJĄ Wykład 2 Katedra Inżynierii Komputerowej Jakub Romanowski jakub.romanowski@kik.pcz.pl

Budowanie biblioteki DLL Projekt typu Class Library Zmiana właściwości projektu innego typu niż Class Library

Zmiana właściwości projektu innego typu niż Class Library Właściwości projektu => Properties Zakładka Application => wartość pola Output Type ustawiamy na Class Library Kolejno w tej samej zakładce klikamy Assembly Information Pojawia się okno konfiguracyjne gdzie należy zaznaczyć opcję Make assembly COM-Visible

Projekt typu Class Library (1) W wypadku występowania błędów kompilacji należy sprawdzić czy ustawienia projektu są takie jak w przypadku zmiany właściwości projektu innego typu. Ewentualnie w wypadku Windows 7 podczas kompilacji może wystąpić błąd próby rejestracji biblioteki.

Projekt typu Class Library (2) Aby uniknąć wyżej wymienionego błędu ponownie wybieramy właściwości projektu => Properties Kolejno zakładkę Build, w której odznaczamy Register for Com interop

Używanie COM-a Dodanie referencji do biblioteki W projekcie klauzulą Using definiujemy zakres przestrzeni nazw z dołączonej biblioteki Tworzymy obiekt klasy zawarte w bibliotece Poprzez instancje obiektu odnosimy się do metod jego klasy

Rejestracja COM-a w systemie Regsvr32.exe Konto administratora Uruchom => net user Administrator /active:yes

Język C/AL C/AL (Client/server Application Language) jest językiem programowania działającym w środowisku C/SIDE. C/SIDE(Client/Server Integrated Development Environment) to zintegrowane środowisko stosowane w Microsoft Dynamics NAV. C/AL z założenia ma zastosowanie bazodanowe głównie do operacji na tabelach aplikacji MS Dynamics NAV

C/AL. (1) W C/SIDE głównym celem języka programowania jest manipulacja danymi. W języku C/AL można tworzyć reguły, które zapewnią spójność danych przechowywanych w tabelach, zgodnie z założeniami i sposobem prowadzenia firmy. W tym środowisku można przenosić dane z jednej tabeli do innej. Jeśli zachodzi potrzeba wyświetlenia danych z wielu tabel w jednej formatce programu lub utworzenia raportu z wielu tabel,trzeba zaprogramować to w C/AL.

C/AL. (2) Do pisania programów służy edytor C/AL udostępniany w środowisku Dynamics NAV. Po wybraniu obiektu, który chcemy edytować pojawi się okno edytora podzielone na segmenty nazwane tutaj triggerami (wyzwalaczami). Pod każdym z triggerów umieszczany jest kod określający jego funkcjonalność. Przestrzeń dla poszczególnych wyzwalaczy nie musi być wypełniona kodem. Trigger nie zawierający kodu nazywany jest pustym.

C/AL. (3) Wyróżnia się trzy rodzaje wyzwalaczy: Documentation() w rzeczywistości nie jest to typowy trigger i zawartość jego kodu nie jest wykonywana. Pełni on rolę dokumentacji lub części opisowej dla edytowanego obiektu. Jest to element pomocniczy i każdy obiekt posiada taki wyzwalacz. On triggery tego typu służą do obsługi zdarzeń. Przykładowo OnRun() kod takiego obiektu wykonywany jest przy jego uruchomieniu. Jeśli taki wyzwalacz nie zawiera kodu to podczas uruchomienia obiektu po prostu nic się nie wydarzy. Każdy obiekt posiada szereg możliwych do oprogramowania wyzwalaczy obsługujących zdarzenia.

C/AL. (4) Wyzwalacz Funkcji to ostatni rodzaj wyzwalacza. Ten typ triggera tworzony jest w momencie, gdy dla danego obiektu zostaje utworzona nowa funkcja. Kod tego wyzwalacza wykonywany jest w momencie wywołania funkcji

C/AL. (5)

C/AL. (6) W momencie zamknięcia okna edytora C/AL, pod warunkiem, że były dokonywane jakieś zmiany w kodzie, pojawi się okienko umożliwiające zapis zmian, anulowanie lub ich pominięcie. Ważnym elementem, w omawianym okienku, jest możliwość zaznaczenia pola Compiled, które odpowiada za kompilacje kodu danego obiektu w momencie jego zapisu. W wypadku wystąpienia jakichś błędów pojawi się kolejne okienko MessageBox ze wskazówkami o błędach w kodzie.

C/AL. (7) Dane i typy danych C/AL nie odbiega typami danych od innych języków programowania. W skład zestawu danych wchodzą typy numeryczne, dane typu String, data, czas, dane typu Bool. Na zamienną w C/AL składa się nazwa, typ oraz wartość. Zgodnie z zasadami składni tego języka nie można używać szeregu nazw jako nazwy zmiennych, przykładowo, nie można używać nazw jak BEGIN lub END określających blok kodu w programie. Nawy zmiennych muszą być unikatowe, ponadto nie ma znaczenia wielkość liter.

C/AL. (8) Zakres zmiennych Możemy wyróżnić dwa podstawowe rodzaje zakresu widoczności zmiennej, mianowicie zmienne o zakresie globalnym i lokalnym. Te pierwsze widoczne są dla wszystkich obiektów działających w środowisku Dynamics NAV. Drugi rodzaj zmiennych widoczny jest jedynie w obrębie wybranego obiektu i istnieje jedynie podczas działania tego obiektu.

C/AL. (9) Istnieje jeszcze jeden typ zmiennych - Zmienne Systemowe, czyli zmienne definiowane przez system automatycznie. Każdy obiekt ma zestaw zdefiniowanych automatycznie tylko dla niego zmiennych systemowych. Programista może używać tych zmiennych, ale bez operacji, inicjalizacji czy przypisania wartości.

C/AL. (10) Jak definiujemy dane w tym środowisku? Nie robi się tego jak w językach typu C# czy C++, czyli przez utworzenie zmiennej, przypisanie jej wartości w kodzie programu, ale przez menu C/AL Global. Po wybraniu tej opcji pojawia się okno, którego wnętrze zbudowane jest jako lista w postaci tabelki. Dwie pierwsze kolumny są najważniejszymi w kwestii definicji nowej zmiennej oraz jej typu. Pierwsza kolumna to Name, czyli nazwa zmiennej, natomiast druga, to DataType, czyli określenie typu dla naszej zmiennej. Po dodaniu zmiennych w tym oknie edycyjnym, możemy używać ich w naszym obiekcie, jak i we wszystkich innych dostępnych obiektach.

C/AL. (11) Po wyedytowaniu kodu w C/AL należy zapisać i skompilować projekt i kolejno w Object designer wybrać opcje Run.

C/AL. (12) Jak używać zewnętrznej biblioteki w Dynamics NAV? Rejestracja zmiennej dokonywana jest w C/AL Globals lub w C/AL Locals. Jako typ tej zmiennej wymagany jest Automation kolejno w celu wyboru podtypu (Subtype) wskazany jest wybór w polu Subtype co spowoduje wyświetlenie nowego okna, a oczekiwany element w tym oknie to Automation Server. W polu Automation Server kolejnym wyborem jest strzałka, powodująca wyświetlenie wszystkich zarejestrowanych w systemie komponentów typu COM

C/AL. (13) Po odnalezieniu interesującego elementu, wybierając go, przedstawiona zostanie lista jego klas i metod. Po dokonaniu wyboru odpowiedniej klasy możemy używać metod zawartych w bibliotece dll bazując na zmiennej zadeklarowanej jako Automation.

C/AL. Typy danych (1) - rozwinięcie Char Składuje pojedyncze znaki Może być swobodnie konwertowany między cyframi a znakami (można dokonywać operacji jak na zmiennych numeycznych) Zastosowania C := "A"; C := S[2]; C := 65;

C/AL. Typy danych (2) Decimal Odpowiada typowi znanemu z MS SQL DateTime i Duration Duration prezentuje różnicę między dwoma obiektami DateTime w milisekundach Prrzykad: DateTime1 := CREATEDATETIME(010109D, 080000T); // Styczeń 1, 2009 08:00:00 AM DateTime2 := CREATEDATETIME(050509D, 133001T); // Maj 5, 2009 1:30:01 PM Duration := DateTime2 - DateTime1; MESSAGE(FORMAT(Duration)); //Rezultat : 124 days 4 hours 30 minutes 1 second

C/AL. Typy danych (3) Integer Od -2,147,483,647 do 2,147,483,647 Code Specyficzna odmian typu string Wszystkie litery przypisane to tego typu zmiennej zamieniane są na duże litery Wycinane są spacje na końcu i początku ciągu znaków

C/AL. Typy danych (4) Code przykład c := 'AbC'; 'ABC' Długość 3 c := '1'; '1' Długość 1 c := ''; '' (pusty string) Długość 0 c := '2'; '2' Długość 1 c := '1 2'; '1 2' Długość 3

C/AL. Typy danych (5) Text Odpowiednik typu string Długość od 1 do 1024 znaków Zakładamy że max długość zmiennej t to 6. t := 'AbC' t := '123456abx'; Zmienna zawiera "AbC" Zwróci: run-time error ponieważ długość 9 przekracza dopuszczaną, która wynosi 6

Text przykład C/AL. Typy danych (6) t := 'AbC'; STRLEN(t); // Zwróci 3. MAXSTRLEN(t); // Zwróci 6. t := '12345'; STRLEN(t); // Zwróci 5. MAXSTRLEN(t); // Zwróci 6.

C/AL. Typy danych (6) Boolean Wartości TRUE/FALSE BLOB -Binary Large Object. Mają zmienną długość Mogą przechowywać duże teksty, obrazy, i typy definiowane przez użytkowników. Maksymalny rozmiar tego typu zależny jest od wielkości dysku, ale domyślnie wynosi 2GB

C/AL. Słowa kluczowe ASSERTERROR BEGIN CASE DO DOWNTO ELSE END EXIT FOR IF OF REPEAT THEN TO UNTIL WHILE WITH Obok słów kluczowych istnieje lista nazw rezerwowanych przez zmienne systemowe, funkcje, procedury itp. Pełna lista słów kluczowych dostępna jest na: http://msdn.microsoft.com/en-us/library/ee414230.aspx

C/AL. Operatory (1) [ ] indeksy :: - przestrzeń nazw +,-,*,/ - operacje matematyczne MOD modulo <, >, <=, >=, =, <> -znaki porównań AND, OR, NOT, XOR operacje logiczne

C/AL. Operatory (2) number + number string + string 2 + 3 * 4 // wynik 14 (2 + 3) * 4 // wynik 20

C/AL. Funkcje (1) FUNCTION([Optional1] [, Optional2] [, Optional3]) Dopuszczalne wywołania tej funkcji to: FUNCTION(Optional1, Optional2) FUNCTION(, Optional2, Optional3)

C/AL. Funkcje (2) Funkcje mogą zwracać rezultaty ReturnVal := Function(Param1); Można umieszczać je w instrukcjach warunkowych IF (Function(Param1)) THEN <operacja 1> ELSE <operacja 2>

C/AL. Instrukcje programu (1) Operacje złożone w języku C/AL. Wymagają znaczników BEGIN i END BEGIN <Operacja 1>; < Operacja 2>;.. < Operacja n>; END

C/AL. Instrukcje programu (2) IF (x = y) AND (a = b) THEN BEGIN x := a; y := b; END;

C/AL. Instrukcje programu (3) IF (xxx = yyyyyyyyyy) AND (aaaaaaaaaa = bbb) THEN BEGIN x := a; END x := y; a := y; ELSE BEGIN y := x; y := a; END;

C/AL. Instrukcje warunkowe IF IF <Warunek1> THEN <Operacja1> [ELSE < Operacja 2>] IF <Warunek1> THEN IF <Warunek2> THEN < Operacja 1> ELSE < Operacja 2>

C/AL. Instrukcje warunkowe IF (2) IF (xxxxxxxxxx = yyy) AND (aaa = bbbbbbbbbb) THEN x := a ELSE y := b; IF x < y THEN EXIT(TRUE) ELSE BEGIN x := x * 2; y := y - 1; END;

C/AL. Instrukcja FOR FOR <Control Variable> := <Start Number> TO <End Number> DO <Operacja> FOR Count := 1000 TO 100000000000000 DO..

C/AL. Instrukcja WHILE WHILE <Warunek> DO <Operacje> WHILE <Warunek> DO BEGIN <Operacja 1>; < Operacja 2>; END;

Bibliografia Microsoft Dynamics NAV 2005 Application Designer s Guide Microsoft Dynamics NAV Programming Guide Microsoft Official Training Materials for Microsoft Dynamics C/AL. Functions http://msdn.microsoft.com/enus/library/dd355277.aspx