Forum Użytkownicy Oprogramowania Humansoft Strona Główna Użytkownicy Oprogramowania Humansoft
Nieoficjalne forum użytkowników oprogramowania firmy Humansoft (Hermes SQL, Corax)
 
 FAQFAQ   SzukajSzukaj   UżytkownicyUżytkownicy   GrupyGrupy   GalerieGalerie   RejestracjaRejestracja 
 ProfilProfil   Zaloguj się, by sprawdzić wiadomościZaloguj się, by sprawdzić wiadomości   ZalogujZaloguj 

Tworzenie własnego modułu branżowego

 
Napisz nowy temat   Odpowiedz do tematu    Forum Użytkownicy Oprogramowania Humansoft Strona Główna -> Pomoc
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Thorvaldsen
Administrator



Dołączył: 06 Lip 2015
Posty: 71
Przeczytał: 0 tematów

Pomógł: 1 raz
Ostrzeżeń: 0/5

PostWysłany: Pon 12:03, 04 Kwi 2016    Temat postu: Tworzenie własnego modułu branżowego

Poniżej opiszę krok po kroku jak stworzyć swój najprostszy moduł branżowy do Hermes SQL. Najprostszy moduł czyli po prostu kawałek kodu który jest ładowany przy logowaniu użytkownika. Może on zawierać różne funkcje, procedury czy zmienne które od tego momentu stają się dostępne z każdego miejsca w programie. Pokażę także jak uruchomić dowolny kod w momencie zalogowania.

0. Przygotowanie
Uruchamiamy Microsoft SQL Server Management Studio i łączymy się z naszą bazą danych.
W dowolnym miejscu na dysku (może to być katalog użytkownika, zmapowany dysk sieciowy, katalog Hermesa) tworzymy katalog w którym będzie przechowywany kod modułu. Tam utworzymy plik prg z kodem naszego modułu.

1. Tworzenie bazy
W pierwszej kolejności tworzymy bazę danych naszego modułu. Baza może mieć dowolną nazwę i musi znajdować się na tym samy serwerze SQL co baza Hermes.

2. Tworzenie niezbędnych tabel
W naszej bazie musimy stworzyć 3 tabele. Poniżej podaję kod SQL do utworzenia każdej z nich.

CONFIG
Kod:
CREATE TABLE [CONFIG] (
        [NR_WERSJI] [numeric](10, 0) NOT NULL CONSTRAINT [DF_CONFIG_NR_WERSJI] DEFAULT (0),
        [NAZWA] [VARCHAR] (50) COLLATE Polish_CI_AS NOT NULL CONSTRAINT [DF_CONFIG_NAZWA] DEFAULT (''),
        [PATH_APP] [VARCHAR] (254) COLLATE Polish_CI_AS NOT NULL CONSTRAINT [DF_CONFIG_PATH_APP] DEFAULT (''),
        [NAME_APP] [VARCHAR] (50) COLLATE Polish_CI_AS NOT NULL CONSTRAINT [DF_CONFIG_NAME_APP] DEFAULT (''),

        CONSTRAINT [PK_CONFIG] PRIMARY KEY  CLUSTERED
        (
                [NAZWA]
        ) ON [PRIMARY]
)


M_FIRMA
Kod:

CREATE TABLE [M_FIRMA] (
        [NR_WERSJI] [numeric](10, 0) NOT NULL CONSTRAINT [DF_M_FIRMA_NR_WERSJI] DEFAULT (0),
        CONSTRAINT [PK_CONFIG] PRIMARY KEY  CLUSTERED
        (
                [NR_WERSJI]
        ) ON [PRIMARY]
)


M_MENU
Kod:

CREATE TABLE [M_MENU] (
        [NR] [tinyint] NOT NULL CONSTRAINT [DF_M_MENU_NR] DEFAULT (''),
        [MENU] [tinyint] NOT NULL CONSTRAINT [DF_M_MENU_MENU] DEFAULT (''),
        [OPIS] [varchar] (100) COLLATE Polish_CI_AS NOT NULL CONSTRAINT [DF_M_MENU_OPIS] DEFAULT (''),
        [ICO] [varchar] (254) COLLATE Polish_CI_AS NOT NULL CONSTRAINT [DF_M_MENU_ICO] DEFAULT (''),
        [AKCJA] [varchar] (254) COLLATE Polish_CI_AS NOT NULL CONSTRAINT [DF_M_MENU_AKCJA] DEFAULT (''),
        CONSTRAINT [PK_M_MENU] PRIMARY KEY  CLUSTERED
        (
                [NR],
                [MENU]
        )  ON [PRIMARY]
)


3. Edycja tabel i wstawianie danych
Na początku tabelę CONFIG naszego modułu uzupełniamy podstawowymi wartościami.
Kod:

INSERT INTO CONFIG(nr_wersji, nazwa, path_app, name_app) VALUES([b]0[/b],'[b]Nazwa modułu[/b]','[b]C:\Przyklad\Sciezki\[/b[','[b]firma.prg[/b]')


Są tam 4 parametry:

  • Pierwsza wartość to numer wersji można wstawić dowolny numer, a następnie go aktualizować, jeżeli Hermes wykryje zmianę to uruchamiana jest procedura aktualizacji, ale nie będę jej tu omawiał. Na początek może być 0 albo 1. Oczywiście musi to być liczba całkowita!
  • Nazwa modułu jest dowolna.
  • Ścieżka do folderu z modułem. Musi kończyć się znakiem '\'. Tutaj można wykorzystać zmienną _xsc\ za którą zostanie podstawiona ścieżka do katalogu Hermesa.
  • Nazwa pliku prg (z rozszerzeniem). Teoretycznie może to być nawet plik exe, albo dll czy inny obsługiwany przez Hermesa.


Kolejna rzecz to tabela M_FIRMA tam wstawiamy tylko numer wersji. UWAGA - taki sam jak w tabeli CONFIG.
Kod:

INSERT INTO M_FIRMA(nr_wersji) VALUES(0)


Tabelę M_MENU w tym najprostszym przykładzie pomijamy. Może zostać pusta.

Ostatni etap to aktualizacja danych w tabeli firmy natywnej bazy Hermes, tam edytujemy pole baza_mod dla wybranej firmy i wpisujemy tam nazwę uprzednio utworzonej bazy naszego modułu.

4. Utworzenie pliku prg
W uprzednio stworzonym katalogu tworzymy plik prg zgodny z tym co wpisalismy w pole name_app w tabeli CONFIG. W pliku możemy tworzyć normalne procedury i funkcje w języku FOXPRO.

5. Tworzenie kodu który uruchamia się zawsze po załadowaniu modułu
W tym celu wystarczy zdefiniować w pliku modułu procedurę o nazwie M_AUTORUN w niej dodajemy dowolny kod który będzie się wywoływał po każdym logowaniu. Można tam ładować zewnętrzne biblioteki, aktualizować zmienne globalne, odczytywać dane z bazy itp.

Przykład:
Kod:

PROCEDURE M_AUTORUN   
        ALERT("WITAJ SWIECIE!")
ENDPROC


Po każdym zalogowaniu pojawi się komunikat z przyciskiem OK i komunikatem WITAJ SWIECIE!.


Post został pochwalony 0 razy

Ostatnio zmieniony przez Thorvaldsen dnia Pon 11:27, 03 Paź 2016, w całości zmieniany 2 razy
Powrót do góry
Zobacz profil autora
Wyświetl posty z ostatnich:   
Napisz nowy temat   Odpowiedz do tematu    Forum Użytkownicy Oprogramowania Humansoft Strona Główna -> Pomoc Wszystkie czasy w strefie EET (Europa)
Strona 1 z 1

 
Skocz do:  
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach

fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB © 2001, 2005 phpBB Group
Regulamin