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



Podobne dokumenty
Automatyzacja pracy w AutoCAD

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

Instrukcje cykliczne (pętle) WHILE...END WHILE

Skrypty i funkcje Zapisywane są w m-plikach Wywoływane są przez nazwę m-pliku, w którym są zapisane (bez rozszerzenia) M-pliki mogą zawierać

Wprowadzenie do programowania w VBA

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

Tablice. Jones Stygar na tropie zmiennych

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

1 Podstawy c++ w pigułce.

Algorytmika i Programowanie VBA 1 - podstawy

Visual Basic for Applications. Wstęp

LibreOffice Calc VBA

Materiały do laboratorium MS ACCESS BASIC

Pętle instrukcje powtórzeo

Podstawy Programowania C++

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Pętle. Programowanie komputerowe

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.

Skrypty powłoki Skrypty Najcz ciej u ywane polecenia w skryptach:

INSTRUKCJA SKOKU GOTO

Technologia informacyjna programowanie Janusz Uriasz

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Procedury i funkcje. Programowanie komputerowe

Pascal - wprowadzenie

Ćwiczenie: JavaScript Cookies (3x45 minut)

TABLICA (ang. array) pojedyncza zmienna z wieloma komórkami, w których można zapamiętać wiele wartości tego samego typu danych.

PHP: bloki kodu, tablice, obiekty i formularze

Programowanie w języku Python. Grażyna Koba

1 Podstawy c++ w pigułce.

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

Laboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych

Bloki anonimowe w PL/SQL

Podstawy bioinformatyki 2017/18

Podstawy JavaScript ćwiczenia

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

Plan wykładu BAZY DANYCH II WYKŁAD 3. Zasięg zmiennych. Zasięg zmiennych

Systemy operacyjne 11

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

System operacyjny Linux

Komentarze w PHP (niewykonywane fragmenty tekstowe, będące informacją dla programisty)

Składowane procedury i funkcje

Laboratorium Programowania Kart Elektronicznych

Ćwiczenie 1. Wprowadzenie do programu Octave

Python wprowadzenie. Warszawa, 24 marca PROGRAMOWANIE I SZKOLENIA

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

COMARCH IT AKADEMIA. Programista VBA w Microsoft Excel (microbootcamp)

Podstawy programowania. Wykład: 9. Łańcuchy znaków. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

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

Instrukcja do programu BASIC PR-02

Wykład 4. Tablice. Pliki

Obsługa blędów i zewnętrznych plików

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

Laboratorium Programowania Kart Elektronicznych

Tablice (jedno i wielowymiarowe), łańcuchy znaków

Tablice, DataGridView

PHP w-3. Sterowanie w PHP

Pliki. Operacje na plikach w Pascalu

AHDL - Język opisu projektu. Podstawowe struktury języka. Komentarz rozpoczyna znak i kończy znak %. SUBDESIGN

Umieszczanie kodu. kod skryptu

Elementy języka C. ACprogramislikeafastdanceonanewlywaxeddancefloorbypeople carrying razors.

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

2.1 Funkcje - na przykładzie wyceny europejskiej

Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu.

Programowanie. Projektowanie funkcje programu tworzenie algorytmu i struktur danych. Programowanie implementacja algorytmu kompilacja programu

Oracle PL/SQL. Paweł Rajba.

Programowanie mikrokontrolerów - laboratorium

Ćwiczenie 1. Wprowadzenie do programu Octave

VBA praca z makrami w Excelu: piszemy kod! Ulepszamy program! 0. Parę uwag o samym edytorze

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

Dynamiczne przetwarzanie stron. dr Beata Kuźmińska-Sołśnia

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

Przetwarzanie sygnałów

12. Skrypty w Linux - funkcje, instrukcje sterujące i obliczenia arytmetyczne

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

DIAGRAMY SYNTAKTYCZNE JĘZYKA TURBO PASCAL 6.0

Maxima i Visual Basic w Excelu

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

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

Zapis algorytmów: schematy blokowe i pseudokod 1

OPERACJE NA PLIKACH. Podstawowe pojęcia:

KOTLIN. Język programowania dla Androida

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

Nazwa implementacji: Nauka języka Python wyrażenia warunkowe. Autor: Piotr Fiorek. Opis implementacji: Poznanie wyrażeń warunkowych if elif - else.

M a k r a i d o d a t k o w e f o r m a n t y

Wykład III PASCAL - iteracja cz, 2, - liczby losowe, - tablice

Argumenty wywołania programu, operacje na plikach

Visual Basic dla AutoCAD

ForPascal Interpreter języka Pascal

Lekcja 1. Składnia języka zmienne i podstawowe instrukcje PHP. Do wyświetlania tekstu służy instrukcja echo echo Hello world ;

Akademia Morska w Szczecinie Wydział Nawigacyjny TRANSPORT MORSKI

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

Struktura pliku projektu Console Application

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

Pętla for. Matematyka dla ciekawych świata -19- Scilab. for i=1:10... end. for k=4:-1:1... end. k=3 k=4. k=1. k=2

Zadanie. Menu Plik niech posiada dwie pozycje: Tekstowy i Excel, a każda z nich niech posiada dwie pozycje Otwórz i Zapisz, patrz rys. 2.

Jak zawsze wyjdziemy od terminologii. While oznacza dopóki, podczas gdy. Pętla while jest

Funkcje i instrukcje języka JavaScript

INFORMATYKA Studia Niestacjonarne Elektrotechnika

Materiał Typy zmiennych Instrukcje warunkowe Pętle Tablice statyczne Wskaźniki Tablice dynamiczne Referencje Funkcje

Pętle. Dodał Administrator niedziela, 14 marzec :27

Podstawy programowania. Podstawy C# Tablice

Transkrypt:

Uwagi dotyczące notacji kodu! Wyrazy drukiem prostym -- słowami języka VBA. Wyrazy drukiem pochyłym -- inne fragmenty kodu. Wyrazy w [nawiasach kwadratowych] opcjonalne fragmenty kodu (mogą być, ale nie muszą). Uwaga! Te fragmenty w kodzie używamy bez nawiasów []. W nawiasach {} umieszczam alternatywę przedzielaną znakiem. Np. {0 1} oznacza 0 lub 1. Oczywiście w kodzie jedno lub drugie bez {}. Trzy kropki oznaczają i tak dalej nie występują oczywiście w kodzie! Moduły Kod programu VBA przechowywany jest w modułach (proste programy w pojedynczym module). Rozróżniamy trzy rodzaje modułów: 1. Moduł klasy moduł zawierający definicję klasy, czyli szablonu obiektu; wszystkie procedury w nim zapisane są metodami obiektów tej klasy. 2. Moduł formularza moduł zawierający kod formularza, czyli okna dialogowego; tworzymy go, gdy projektujemy własne formularze. 3. Moduł kodu źródłowego moduł zawierający właściwy kod programu lub inne funkcje i procedury nie będące metodami (możemy np. cały zbiór takich funkcji i procedur zdefiniować w osobnym module niż programowy). Struktura modułu Instrukcje zapisane w module pogrupowane są w procedury i funkcje. Moduł może zawierać również zapisane na początku opcje. Opcje modułu (niektóre) Option Base {0 1} ustala, od jakiej liczby zaczyna się indeksowanie tablicy domyślnie jest to 0 Option Explicit wymusza deklarowanie wszystkich zmiennych Procedury Deklaracja procedury [Public Private Friend] [Static] Sub nazwa_proc [(lista_argumentów)] deklaracje zmiennych lokalnych (jeśli są) [Exit Sub] End Sub W najprostszej postaci: Sub nazwa_proc End Sub Wywołanie procedury nazwa_proc [wart_arg1, wart_arg2, ] lub Call nazwa_proc [(wart_arg1, wart_arg2, )]

Funkcje Deklaracja funkcji [Public Private Friend] [Static] Function nazwa_fun [(lista_argumentów)] As typ deklaracje zmiennych lokalnych (jeśli są) nazwa_fun = wyrażenie [Exit Function] nazwa_fun = wyrażenie End Function W najprostszej postaci: Function nazwa_fun (argument) As typ nazwa_fun = wyrażenie 'niekoniecznie na końcu (może być gdzieś w środku kodu, a nawet kilka razy) End Function Wywołanie funkcji nazwa_zmiennej=nazwa_fun [wart_arg1, wart_arg2, ] Zmienne Deklaracja zmiennych Dim nazwa_zm As typ_zm Zmienna wywołana w tej postaci jest dostępna z poziomu wywołania (wewnątrz procedury, wewnątrz funkcji lub wewnątrz modułu, jeśli zadeklarujemy ją w module). Deklaracja zmiennych tablicowych Dim nazwa_zm(indeks_górny) As typ_zm Tu indeks dolny tablicy wynosi 0 lub 1 (jeśli tak zadeklarowaliśmy w Option Base). Albo: Dim nazwa_zm(indeks_dolny To indeks_górny) As typ_zm Dla tablic wielowymiarowych (można do 60 wymiarów), kolejne indeksowania oddzielamy przecinkami. Deklaracja zmiennych tablicowych dynamicznych Dim nazwa_zm() As typ_zm Rozmiar tak zadeklarowanej tablicy trzeba kiedyś zadeklarować; robi się to tak: ReDim nazwa_zm(indeksy) Uwaga! Polecenie to można wywołać wiele razy (można wiele razy zmieniać rozmiar tablicy), ale niszczy ono za każdym razem zawartość tablicy! Żeby zachować zawartość tablicy, robimy to tak: ReDim Preserve nazwa_zm(indeksy) Uwaga! W ten sposób możemy zmieniać tylko górny indeks ostatniego wymiaru! W przeciwnym wypadku dostaniemy błąd! Przypisanie zmiennej wartości innej zmiennej: nazwa_zm = nazwa_innej_zm funkcji: nazwa_zm = nazwa_fun(argumenty) wyrażenia: nazwa_zm = wyrażenie Zmiennej tablicowej przypisujemy wartości poprzez odwoływanie się do jej elementów poprzez indeksy.

Instrukcje wyboru Instrukcja If If Warunek Then Instrukcja Lub dla kilku krótkich instrukcji: If Warunek Then Instrukcja1:Instrukcja2: Lub w postaci blokowej: If Warunek Then Instrukcja (lub instrukcje) wykonywane są tylko wtedy, gdy warunek jest spełniony. Instrukcja If Else If Warunek Then Instrukcja1 Else Instrukcja2 Można wrzucić kilka krótkich instrukcji, oddzielając je dwukropkami, ale wszystko musi być w jednej linii. Nie będę podawał składni analogiczna jak wyżej. Postać blokowa: If Warunek Then 1 Else 2 Instrukcja (lub instrukcje) po Then wykonywane są, gdy warunek jest spełniony; po Else, gdy warunek nie jest spełniony. Instrukcja If ElseIf Stosujemy ją wtedy, gdy zagnieżdżamy kilka warunków: If Warunek1 Then 1 ElseIf Warunek2 Then 2 [ElseIf Warunek3 Then 3 [ElseIf WarunekN Then N ]] [Else pozostałych ] Uwaga! Warunki sprawdzane są po kolei i wykonywany jest tylko jeden blok instrukcji. Instrukcja Select Case W poniższej składni sprawdzamy, czy Wyrażenie przyjmuje wymienione wartości: Case Wartość1 1 Case Wartość2 2 [Case Wartość3 3 [Case WartośćN N ]] [Case Else dla pozostałych przypadków] Zmiennej tablicowej przypisujemy wartości poprzez odwoływanie się do jej elementów poprzez indeksy.

Instrukcja Select Case Is W przypadku, kiedy nie chodzi nam o równość Wyrażenie = Wartość, ale o inną relację, wtedy używamy konstrukcji: Case Is Relacja1 1 Oczywiście można to mieszać ze zwykłymi Case. Instrukcja Select Case To W przypadku, kiedy nie chodzi nam o równość Wyrażenie = Wartość, ale o zakres pomiędzy dwiema wartościami, wtedy używamy konstrukcji: Case Wart1dolna To Wart1górna 1 Oczywiście można to mieszać ze zwykłymi Case. Pętle Pętla Do Until Do Until (Warunek) Loop jest wykonywany dopóki warunek nie jest spełniony. Pętla Do Loop Until Do Loop Until (Warunek) Różni się od poprzedniej tym, że warunek jest sprawdzany na końcu pętli, a więc blok instrukcji będzie wykonany przynajmniej raz. Pętla Do While Do While (Warunek) Loop jest wykonywany tak długo, jak długo warunek jest spełniony. Pętla Do Loop While Do Loop While (Warunek) Różni się od poprzedniej tym, że warunek jest sprawdzany na końcu pętli, a więc blok instrukcji będzie wykonany przynajmniej raz. Pętla For For Licznik = Wart_Pocz To Wart_Końc [Step Krok] Next [Licznik] Pętla wykonywana określoną liczbę razy dla licznika od wartości początkowej do wartości końcowej. Krok podajemy wtedy, kiedy jest on inny niż 1. Pętla kończy się, kiedy licznik przekroczy wartość końcową.

Obsługa plików Aby na pliku wykonać jakąś operację (odczyt, zapis), należy wykonać następujące czynności: 1. Otworzyć plik z deklaracją w jakim celu. 2. Dokonać na nim operacji odczytu lub zapisu. 3. Zamknąć plik. Podam tu tylko instrukcje potrzebne do odczytu z i zapisu do pliku tekstowego wartości zmiennych. Otwarcie pliku Podaję tu tylko składnię konieczną (bez dodatkowych składników opcjonalnych). Open Ścieżka For Tryb As [#]NrPliku Ścieżka, to oczywiście ścieżka dostępu do pliku w systemie. Podajemy ją w postaci łańcucha znakowego (w cudzysłowach " ") lub w postaci zmiennej łańcuchowej przechowującej wartość tego łańcucha. Tryb, to cel otwarcia pliku: Input do odczytu, Output do zapisu (niszczy zawartość pliku), Append do dopisania na końcu pliku. Te trzy tryby używamy do plików tekstowych, pozostałe to: Binary i Random. NrPliku, to pierwszy dostępny (nie zajęty!) numer w zakresie 1-511. Odczyt z pliku Input [#]NrPliku, ListaZmiennych Kolejne wartości w pliku muszą odpowiadać sekwencyjnie typom zmiennych z podanej listy. LineInput [#]NrPliku, ZmienaŁańcuchowa Do zmiennej zwracana jest wartość całej linii (do znaku powrotu karetki Chr(13) lub sekwencji znaków powrotu karetki i końca linii ichr(13)+chr(10)) w postaci łańcucha znakowego. Zapis do pliku Write [#]NrPliku [, ListaWart] Jeżeli pominiemy listę wartości, to zapisana zostanie pusta linia. Wartości w pliku oddzielane są przecinkami, a łańcuchy znakowe wpisywane w cudzysłowach, ana końcu każdej listy wartości wstawiany jest znak końca linii. Lista wartości może być podana bezpośrednio, albo za pośrednictwem zmiennych. Print [#]NrPliku, [ListaWy] W tym wypadku mamy większe możliwości sterowania sposobem zapisu (wstawianie spacji, tabulatorów, ustawianie miejsca wpisu w linii, itd.). Zamknięcie pliku Close [ListaNrPlików] Pominięcie listy numerów powoduje zamknięcie wszystkich plików.