logo
small logo
  • Produkty
  • Zamów
  • Wsparcie techniczne
  • Articles
  • Customer panel Wsparcie techniczne
    • en
    • pt
    • es
    • de
    • pl
    • JP
    • ZH
  • Glówna strona
  • /
  • Articles
  • /
  • Wgrywanie obiektów do VCL FastReport za pomocą protokołów http i https
  • Wykorzystanie interaktywnych map w FastReport VCL 2021

    30 kwietnia 2021

    To już ostatni artykuł z cyklu kursów programu edukacyjnego Akademik. W poprzednich publikacjach rozważaliśmy

    read more
  • Tworzenie raportów za pomocą formularzy dialogowych

    26 kwietnia 2021

    W naszych poprzednich artykułach w ramach programu edukacyjnego "Akademik" nauczyliśmy się instalować FastReportw Lazarusie, opanowaliśmy

    read more
  • Jak działa kod kreskowy ITF-14 w Delphi / Lazarusie i jak go dopasować?

    7 września 2021

    W FastReport VCL 2021.2 został dodany nowy kod kreskowy ITF-14. Przypomnę, że ITF-14 (Interleaved Two

    read more
  • How to remove object intersection in FastReport VCL

    29 marca 2022

    In the new version of FastReport VCL 2022.2, we have added new functions to

    read more
  • Wykorzystanie zasobów do przechowywania raportów FastReport

    1 grudnia 2021

    Czasami możesz potrzebować ograniczyć użytkownikom możliwość edycji i kopiowania raportów. Kluczem jest zrobienie tego tak,

    read more

Wgrywanie obiektów do VCL FastReport za pomocą protokołów http i https

13 września 2021

Jednym z kluczowych zadań generatora raportów jest pobieranie danych. Najczęściej bazy danych są wykorzystywane do przechowywania i pobierania danych. Jednak co zrobić, jeśli do przechowywania określonych danych używa się zdalnej pamięci masowej w chmurze? Jak wgrać logo firmy przez http do swojego raportu, aby było zawsze aktualne?

Aby rozwiązać te problemy w FastReport VCL 2021.3 dodaliśmy wsparcie dla protokołów i możliwość przesyłania danych poprzez protokoły do obiektów takich jak: Mapy, obraz, tekst, obiekt PDF, obiekt HTML. Szereg obiektów posiada nową właściwość DataLink, która zawiera dodatkowe właściwości do obsługi linków. Linki te zawsze zaczynają się od nazwy schematu, po której następuje delimiter. Przykład <schemat>:[//ścieżka] . Schematami w większości przypadków są protokoły takie jak http i https.

Pobieranie danych poprzez linki w FastReport VCL

FastReport VCL jest oparty na architekturze modułowej, funkcjonalność http i https nie jest wyjątkiem, i jest umieszczona w oddzielnym pakiecie razem z portami internetowymi. Dlatego, aby linki http i https działały, w sekcji uses aplikacji musi być włączony moduł frxTransportHTTP lub do formularza aplikacji musi być dodany jeden z portów internetowych.

Lista transportów internetowych na palecie komponentów

 

Uwaga! Do poprawnego działania protokołu https wymagane są następujące biblioteki Open SSL: ssleay32.dll oraz libeay32.dll, które znajdują się w katalogu z główną aplikacją demo.

Uruchom kreator raportów i utwórz nowy raport. Dodaj do strony raportu pasek "Nagłówek raportu" oraz zdjęcie obiektu. Raport powinien wyglądać tak jak poniżej.

Przykład wygenerowanego raportu

Wyróżnij obiekt "Picture" i przejdź do Inspektora Obiektów. W Inspektorze obiektów znajdź właściwość DataLink. Do szybkiego wyszukiwania można użyć filtru wbudowanego w Inspektorze Obiektów, wpisując nazwę szukanej właściwości.

Szukaj właściwości DataLink

Rozważ znaczenie właściwości pochodnych DataLink:

Link - link ze schematem (protokołem), w formacie <schemat>:[//ścieżka]. Dane zostaną załadowane z określonego łącza.

LoadingType - typ pobierania danych, określa, w którym momencie dane zostaną załadowane. Może przyjmować następujące wartości:

[] - Puste. Dane wczytywane są w trybie edycji szablonu, po kliknięciu przez użytkownika na edytor wczytywania. Używane, jeśli chcesz tylko raz pobrać dane i zapisać je w szablonie.

Przycisk Załaduj edytor w projektancie raportów

  • [dltOnGetData]- Default. Dane są ładowane do obiektu podczas tworzenia raportu. W tym przypadku dane obiektu nie są zapisywane w szablonie. Przy każdym budowaniu obiekt otrzymuje nowe dane za pomocą linku.

  • [dltOnPreview] - Dane są wczytywane w momencie podglądu, eksportu lub wydruku raportu. W tym przypadku zbudowany raport przechowuje link do danych i ładuje je za każdym razem, gdy użytkownik ładuje zbudowany raport. Może być używany do pobierania aktualnych danych w skonstruowanym raporcie, bez konieczności jego ponownego budowania.
  • [dltOnGetData, dltOnPreview] - Tryb hybrydowy. Podczas wytwarzania obiekt pobiera dane przez referencję i zapisuje je do wykonanego raportu. W ten sam sposób zachowane jest łącze do danych. Podczas wczytywania zbudowanego raportu przy pomocy takiego obiektu, obiekt będzie próbował wczytać dane podobnie jak przy [dltOnPreview] lecz jeżeli wczytanie danych nie powiodło się, to zostaną wyświetlone dane odebrane podczas budowania raportu.
  • ProcessingType - wartość określająca sposób przetwarzania linku podczas budowania raportu: dpString - jako zwykły łańcuch znaków, dpExpression - jako wyrażenie skryptu raportu.

Ustawmy właściwość DataLink.Link obiektu "Picture" jako link np. do obrazka ze strony internetowej. Rozpocznijmy wykonywanie raportu.

Przykład wygenerowanego raportu

Inne obiekty takie jak Text, Picture, Maps, HTMLView, PDFView mogą być załadowane w ten sam sposób.

Możesz użyć linków, aby uzyskać dostęp do Web API w celu pobrania danych, takich jak mapy OSM.

Stwórzmy nowy raport z paskiem "Nagłówek raportu" i obiektem Mapy z pustą warstwą (jak stworzyć obiekt "Mapy' można zobaczyć w naszej dokumentacji).

Utworzony raport z mapą

Teraz zaznacz MapFileLayer1 i przejdź do właściwości DataLink.Link w Inspektorze Obiektów. Możesz użyć API OpenStreetMap, aby załadować mapy OSM. Spróbujmy wyświetlić wybrany obszar w FastReport VCL. Link API będzie wyglądał następująco: https://www.openstreetmap.org/api/0.6/map?bbox=-6.7234%2C61.6283%2C-6.697%2C61.6379. Wstaw go do właściwości DataLink.Link. Przejdźmy do wykonania raportu.

Raport z API OpenStreetMap w trybie podglądu

Dane z serwera zostały automatycznie wczytane do obiektu mapy.

Więcej niż tylko hiperłącza

W FastReport VCL wszystkie schematy i protokoły właściwości DataLink są obsługiwane przez fabrykę. To pozwala deweloperom na rozszerzenie funkcjonalności aplikacji o nowe schematy i protokoły bez zmian w kodzie źródłowym FastReport VCL. Dodatkowo, FastReport VCL automatycznie rejestruje transporty internetowe w fabryce jako nowe protokoły. Pozwala to na dostęp do prywatnej pamięci masowej w chmurze i pobieranie z niej danych do raportu, bez konieczności przesyłania lub przechowywania jakichkolwiek danych autoryzacyjnych w raporcie. Schemat interakcji właściwości DataLink z fabryką protokołów można zobaczyć poniżej.

Schemat interakcji Właściwości łącza danych z fabryką protokołu

Jak więc dodać port internetowy i korzystać z linków do prywatnego dysku Google Drive?

Można to zrobić w zaledwie kilku krokach:

  1. Otwórz listę komponentów z dostępem do kanałów internetowych.
  2. Dodaj TfrxGoogleDriveIOTransport do formularza aplikacji.
  3. Nadaj komponentowi nazwę. Nazwa ta zostanie użyta jako protokół schematu na łączu dostępu. W przykładzie nazwaliśmy go "GDRIVE".

FastReport VCL

  1. Nawiąż połączenie z Google Drive poprzez menu "Edytuj połączenie" (szczegóły w naszym innym artykule).

FastReport VCL

  1. Uruchom projektanta raportów i wygeneruj raport, postępując zgodnie z krokami podanymi na początku artykułu przy tworzeniu raportu z obrazem.
  2. We właściwości DataLink.Link podaj link do pliku w Google Dive, ale zamiast schematu (protokołu) podaj nazwę transportu. W naszym przypadku jest to "GDRIVE". Link będzie wyglądał następująco GDRIVE://LogoF.PNG. Można teraz uruchomić raport w celu jego wykonania.

FastReport VCL

Ważne! Jeśli dane nie zostaną pobrane, sprawdź, czy połączenie z pamięcią masową w chmurze zostało nawiązane prawidłowo i czy zapisano token autoryzacyjny podczas połączenia.

W ten sam sposób można połączyć się z innymi źródłami dostępu do Internetu. Jest to jedno z kilku potężnych narzędzi, które pojawiły się wraz z wydaniem FastReport VCL 2021.3, które możesz wykorzystać do ulepszenia swoich projektów.

about product pobierz zamów
avatar
Den Zubov
VCL Development
Fast Reports Team: Den Zubov - VCL Development at Fast Reports
VCL Lazarus FastReport Delphi HTTPS

Add comment
logo
  • 800-985-8986 (English, US)
  • +4930568373928 (German)
  • +55 19 98147-8148 (Portuguese)
  • info@fast-report.com
  • 901 N Pitt Str #325 Alexandria VA 22314
  • Zamów
  • Pobierz
  • Dokumentacja
  • Opinie użytkowników
  • Jak odinstalować nasze produkty
  • Ticket system
  • FAQ
  • Tutorial Video
  • Forum
  • Articles
  • Our News
  • Prasa o nas
  • Partnerzy
  • Extended licensing
  • Kontakty

© 1998-2022 by Fast Reports Inc.

  • Poufność