newsletter luty_popr

Transkrypt

newsletter luty_popr
Tworzenie okna dialogowego w edytorze
raportu SigmaNEST – część 3
W poprzednich częściach newslettera omówiliśmy sposób, w jaki można zdefiniować
okna dialogowe dla raportów SigmaNEST oraz jak edytować poszczególne kontrolki.
Jednak do tej pory przy ich pomocy niemożliwe było prowadzenie jakichkolwiek
interakcji w stosunku do drukowanego raportu. Dlatego też kliknięcie przycisku [OK]
zdefiniowanego
w
oknie
dialogowym,
umożliwiające
utworzenie
raportu,
nie powodowało wprowadzania jakichkolwiek zmian w jego wnętrzu.
Jednym
ze sposobów edycji raportów przy użyciu okien dialogowych jest wykorzystanie
skryptów. Poniżej przedstawiliśmy w jaki sposób można wprowadzić informacje
tekstowe do raportu przy użyciu kontrolek okien dialogowych oraz linii kodu.
Dodanie pola wyświetlania Memo do raportu
W pierwszej kolejności po utworzeniu okna dialogowego należy przełączyć
się z zakładki [DialogPage1] do zakładki szablonu raportu [Page1].
Rys.1. Widok zakładki Page1.
W celu dodania notatki dotyczącej np. malowania elementów, w szablonie raportu,
należy dodać obiekt tekstowy memo [
], dostępny z lewej strony z paska narzędzi.
Po wybraniu tej opcji należy kliknąć w odpowiednie miejsce w sekcji [MasterData],
a następnie nadać mu nazwę (np. „Notes:”).
Rys.2. Dodawanie notatki do elementu Memo.
Następnie należy dodać pole, w którym znajdować się będzie notatka dla operatora.
Ponownie wykorzystajmy obiekt Memo. Aby dodać do niego obramowanie skorzystaj
z poziomego paska narzędzi znajdującego się w górnej części okna i wciśnij ikonkę
[All Frame Lines].
Rys.3. Widok strony raportu po umieszczeniu obiektu Memo wraz z jego obramowaniem.
W wyniku uruchomienia podglądu raportu możemy podejrzeć zmiany jakie zawszły
w układzie naszego raportu.
Rys.4. Widok podglądu raportu z naniesionymi zmianami.
Następnie można dodać jeszcze więcej obiektów memo, jednak tym razem w innej
lokalizacji – np. w sekcji [PageHeader]. Obiekt memo wykorzystamy w celu
wprowadzenia dodatkowych informacji.
Rys.5. Widok nagłówka raportu z dodanymi obiektami memo.
Kiedy już wszystkie komponenty raportu zostaną utworzone oraz odpowiednio nazwane
będziemy mogli połączyć je ze sobą przy pomocy skryptu.
Dodanie skryptu
W związku z tym, że nasze pola z Uwagami odnośnie malowania znajdują się w sekcji
[MasterData], musimy dodać kod do zdarzenia OnBeforePrint. W tym celu wybierz sekcję
(kliknij w żółty pasek), a następnie otwórz zakładkę [Event]. Kliknij dwukrotnie myszką
w obszar [OnBeforeArea], a następnie wklej kod skryptu do otwartego okna.
Rys.6. Widok zakładki Event w sekcji MasterData.
W celu wykonania naszej procedury możemy wkleić poniższy kod:
procedure Page1OnBeforePrint(Sender: TfrxComponent);
begin
TorchDetailData.Visible := (<Nest-Torch."TorchDist"> > 0);
TorchDetailHeader.Visible := TorchDetailData.Visible;
end;
procedure NestDataOnBeforePrint(Sender: TfrxComponent);
begin
//Set report memo's text to equal the dialog page's memo box's text
NotesMemo.Text := NoteMemoBox.Lines.Text;
//Make the report paint memo visible if the dialog page's checkbox is checked
PaintPartsMemo.Visible := PaintCheckBox.Checked;
end;
procedure BasePageHeaderOnBeforePrint(Sender: TfrxComponent);
begin
ShipBayMemo.Text := ShipComboBox.Text;
end;
begin
end.
Uruchomienie zdarzenia [OnBeforeArea] jest konieczne dla każdej sekcji, która zawiera
obiekty memo, jakie chcemy wyświetlić na raporcie.
Rys.7. Widok zakładki Event dla sekcji PageHeader.
Po ponownym uruchomieniu Widok zakładki Event.iu podglądu raportu możemy
sprawdzić, jakie zmiany zachodzą w raporcie po umieszczeniu dodatkowych informacji
z poziomu okna dialogowego. W polu memo oznaczonym jako „Informacja
dla operatora” wprowadź dowolny tekst. Dodatkowo z listy rozwijanej „Wysyłki” wybierz
którąś z dostępnych opcji, a następnie zamknij okno przyciskiem [OK]. Jeśli skrypt został
poprawnie napisany oraz dodany w odpowiedni sposób, na wydrukowanym raporcie
powinniśmy znaleźć nasze informacje.
Rys.8. Widok okna dialogowego oraz wydrukowanego raportu z dodanymi zmianami.
Jeśli masz jakieś wątpliwości dotyczące pracy z oknami dialogowymi w edytorze
raportów SigmaNEST, skontaktuj się z nami! Z przyjemnością odpowiemy na wszelkie
pytania:
Tel.: +48 12 346 58 00
E-mail: [email protected]
mgr inż. A.Szpak

Podobne dokumenty