QBS >> Q-Line 3000 Szybki Start >> Atrybuty pól i maska edycji Chcę zapytać

Atrybuty pól i maska edycji

Czas ćwiczenia:
  15 min.
Cel:
  Ustawianie atrybutów pól i maski edycji
Kroki:
  Ustawianie maski na polach imię i nazwisko
  Ustawianie maski na polu kod pocztowy

Mamy już "chodzący" program! Można dopisywać rekordy adresowe, za pomocą klawiszy strzałkowych można przewijać adresy w górę i w dół...
Niestety musimy włożyć trochę wysiłku by nazwiska i imiona wprowadzać z dużej litery, czasami zapominamu o kreseczce w kodzie pocztowym...

A przecież mówili, że "Q-Line 3000" sobie z tym radzi...

Imię i nazwisko z dużej litery!

Czy przypadkiem nie domyślacie się gdzie trzeba nadać atrybuty poszczególnym polom? Ależ oczywiście, że w naszym pliku struct.qcon
Zmieńcie fragment definiujący pola w rekordzie adresowym na następujący:

{
ID            LEN     TYPE           NAME                           ;
ID            8       INT            "Id"                           ;
NAME          30      STRING         "Imię"        ATTRIB=(FCAPITAL);
LASTNAME      40      STRING         "Nazwisko"    ATTRIB=(FCAPITAL);
ZIPCODE       8       STRING         "Kod pocztowy"                 ;
CITY          30      STRING         "Miasto"      ATTRIB=(CAPITAL );
STREET        40      STRING         "Ulica"       ATTRIB=(FCAPITAL);
}
Jeżeli parametrowi pola ATTRIB przypiszemy
wartość (FCAPITAL) oznacza, że chcemy by
wszystkie słowa w tym polu zaczynały się
z dużej litery. Jeżeli przypiszemy wartość
(CAPITAL) oznacza, że chcemy by wszystko
w tym polu było pisane dużymi literami.

Proszę uruchomić program i spróbować dopisać jeden rekord do spisu adresowego. Na ekranie pojawi się okno edycji adresu:

Po wprowadzeniu imienia, nazwiska i pozostałych danych zwróćmy uwagę na to jak program wpisał pola nazwisko i imię. Proszę wcisnąć klawisz [F10] w celu zatwierdzenia tego rekordu adresowego.

Pilnuj poprawnego wprowadzania pola "Kod pocztowy"!

Napewno niejeden z was zauważył, że w polu Kod pocztowy zamiast kreseczki jest gwiazdka. Czyżby "Q-Line 3000" zawiodła? Nic z tych rzeczy! Po prostu trzeba li tylko poinformować program, żeby pilnował tego typu spraw. Gdzie poinformować? W pliku struct.qcon. Z tym tylko, że nie robi się tego atrybutem ATTRIB lecz atrybutem MASK.

Nie pozostaje nam nic inneg jak dopisać odpowiednia informację przy definicji pola Kod pocztowy - ZIPCODE

{
ID            LEN     TYPE      NAME                                  ;
ID            8       INT       "Id"                                  ;
NAME          30      STRING    "Imię"         ATTRIB=(FCAPITAL)      ;
LASTNAME      40      STRING    "Nazwisko"     ATTRIB=(FCAPITAL)      ;
ZIPCODE       8       STRING    "Kod pocztowy" MASK  =MASK("00\\-000");
CITY          30      STRING    "Miasto"       ATTRIB=(CAPITAL )      ;
STREET        40      STRING    "Ulica"        ATTRIB=(FCAPITAL)      ;
}

Rodzajów masek może być bardzo dużo. Na przykład
data, czas może również zachodzić potrzeba
stworzenia własnej maski edycji (tak jak przy polu
"kod pocztowy") wówczas stosujemy składnię
MASK=MASK(<definicja>); W naszym przykładzie
pierwsza cyferka "0" oznacza, że pierwszym znakiem
pola kod pocztowy może być tylko cyfra, drugim też
trzeci znak to zawsze "-" (minusik) i kolejne trzy
znaki to cyfry.

Proszę sprawdzić czy działa. Jeżeli się nie mylę to znaczek "-" program wstawia sam! Szerzej o możliwościach MASK'a mówimy w odpowiednim podręczniku znajdującym się na naszych stronach.

Powrót