Typy
3.1 Typy podstawowe
Dział zatytułowany „3.1 Typy podstawowe”Każda zmienna ma typ, który mówi, co może przechowywać: tekst, liczbę całkowitą, liczbę dziesiętną, tak lub nie, datę i godzinę, unikalny identyfikator (GUID). Pieniądze mają grosze, więc liczba całkowita nie wystarczy. Jeśli zmienisz NetAmount na liczbę całkowitą, analizator od razu pokaże niezgodność. Ustaw NetAmount i Discount jako decimal.
3.2 Listy i wartości opcjonalne
Dział zatytułowany „3.2 Listy i wartości opcjonalne”Każdy typ może stać się listą: LineAmounts to lista liczb dziesiętnych. Niektórych wartości może brakować: typ opcjonalny mówi, że to w porządku. Przykład: zmienna CouponCode, bo klient może podać kod kuponu albo nie. Analizator zmusza cię do obsłużenia pustej wartości wszędzie tam, gdzie wartość jest wymagana.
3.3 Twój własny typ: OrderLine
Dział zatytułowany „3.3 Twój własny typ: OrderLine”Typy proste nie wystarczą do opisania całej pozycji zamówienia, więc zdefiniuj typ własny (typedef) OrderLine z trzema polami: Name (tekst), Quantity (liczba całkowita), UnitPrice (liczba dziesiętna). Po zapisaniu pojawi się on w wyborze typu obok typów wbudowanych.
3.4 Używamy OrderLine
Dział zatytułowany „3.4 Używamy OrderLine”- Zmień
LineAmountsnaOrderLines: wybierz typ użytkownikaOrderLinei zaznacz pole tablicy (array), żeby system wiedział, że pozycji może być więcej niż jedna. - Wypełnij listę kilkoma pozycjami. W edytorze użyj
new, potem nazwy modułu, kropki i nazwy typu; IntelliSense pokaże wymagane właściwości. Rozszerzone okno edytora daje więcej miejsca. - W
ForEachelementem jest teraz jedna pozycja zamówienia. Użyj jej pól:NetAmount = NetAmount + Quantity * UnitPrice.
Jeśli edytor zgłasza int?, znak zapytania oznacza wartość opcjonalną: odznacz pole nullable, żeby typ pasował do typu pola. Nadawaj blokom czytelne nazwy, żeby na kanwie było widać, która zmienna jest tworzona.
3.5 Zmienne wejściowe i wyjściowe procesu
Dział zatytułowany „3.5 Zmienne wejściowe i wyjściowe procesu”Zamień proces w prawdziwą funkcję. Zmienne wejściowe i wyjściowe są w menu po lewej, w osobnej sekcji.
- Wejściowa:
Lines(listaOrderLine). - Wyjściowe:
NetAmountiDiscount.
Usuń aktywności CreateVariable, które one zastępują. Proces ma teraz jasny kontrakt: na wejściu pozycje, na wyjściu kwota netto i rabat.