Wydział Transportu l’W
l.ahoratorium z informatyki seni.ll./ ćw. 8 Deklaracje zmiennych
Deklaracje zmiennych zaczynają się od słowa kluczowego var, po którym następują nazwy zmiennych z określeniem typu. Zmienne tego samego typu oddzielone przecinkami mogą tworzyć listy. Określenie typu jest poprzedzone dwukropkiem i zakończone średnikiem. Zmienne różnych typów mogą być zadeklarowane w tej samej deklaracji, np.:
var x,j: Integer; a,b,c: string;
Zmienne zadeklarowane pod nagłówkiem procedury (funkcji) nazywamy lokalnymi; ich zasięg dostępności ogranicza się do treści procedury, w której je zadeklarowano.
Zmienne zadeklarowane w części implementacyjnej modułu poza deklaracjami procedur, są dostępne w tym module i jego procedurach poniżej miejsca deklaracji.
Zmienne zadeklarowane w części publicznej modułu (między słowami kluczowymi interface oraz implementation) mogą być dostępne w innych modułach aplikacji, o ile w ich klauzulach użycia (uses) umieszczono nazwę modułu, w którym występuje deklaracja.
Deklaracja pól w obrębie formy ma podobną postać z pominięciem słowa kluczowego var. Pola formy są bezpośrednio dostępne w obrębie metod (procedur i funkcji) związanych z formą. Aby użyć ich poza metodami formy należy poprzedzić ich nazwę odpowiednim kwalifikatorem w postaci nazwy formy zakończonej kropką, np. Forml .X
Tablica jest strukturą danych zawierająca uporządkowany zbiór elementów tego samego typu.
Tablice mogą być jedno- lub wielowymiarowe. Tablica jednowymiarowa odpowiada matematycznemu pojęciu wektora, dwuwymiarowa - macierzy, o elementach ustawionych w wiersze i kolumny.
Tablice można zadeklarować w programie jako zmienne lub pola typu tablicowego: nazwa zmiennej-, array [zakresy indeksów] of typ elementu:,
Na przykład zastosowana w naszej aplikacji deklaracja:
var T: array [1..15J of Integer;
jest deklaracją 15 elementowej tablicy liczb całkowitych.
Inne przykłady: A : array [-20 .. 20] of string; tablica 41 elementów typu łańcuchowego
B : array [1.. 5, 1. .10] of Real; tablica dwuwymiarowa liczb rzeczywistych
o 5 wierszach i 10 kolumnach
Elementy tablicy wskazujemy za pomocą indeksów, np.:T[l], T[i*j],A[-i] B[i,j+2].
W obliczeniach wykonywanych na tablicach wykorzystuje się często instrukcje iteracyjne, np. pętlę for.
Liczby losowe można generować za pomocą wbudowanej funkcji Random.
Funkcja Random(n) zwraca losową wartość całkowitą z przedziału <0, n).
Funkcja bezparametrowa Random zwraca losową wartość rzeczywistą z przedziału <0,1).
Liczby losowe całkowite z przedziału domkniętego <K, L> można uzyskać stosując wzór:
Liczby losowe rzeczywiste z przedziału (A, B) można uzyskać stosując wzór:
Procedura Randomize wyznacza losowo zarodek (wartość zmiennej systemowej RandSeed) generatora liczb losowych, a więc wartość, od której zależy postać całego generowanego ciągu liczb losowych. Procedurę tę wywołujemy jednokrotnie, przed pierwszym wywołaniem funkcji Random, można umieścić to wywołanie w procedurze zdarzenia OnCreate formy.
Zdarzenia OnSetEditText i OnGetEditText dla siatki tekstowej
Zdarzenie OnSetEditText komponentu StringGrid jest związane z każdą zmianą wartości komórki w trakcie edycji tekstu. Występuje ono tylko w przypadku, gdy opcjagoEditing ma wartość True.
W procedurze obsługującej to zdarzenie można np. umieścić czynności związane z kontrolą poprawności danych (jak w naszej aplikacji) lub zmianą ich formatu.
Podobne zdarzenie OnGetEditText występuje w chwili nadawania wartości komórce siatki tekstowej.