Opis modułu STERFORM.DLL i STERF32.DLL

Moduł SterForm.dll jest przeznaczony dla Windows 3.1 i 3.11. Moduł Sterf32.dll dla Windows 95,98 i NT.

Moduł służy do sterowania oknami formularzy programu "Formularze IPS".
Pozwala na otwieranie okien formularzy do edycji, przeglądania i wydruku.
Program "Formularze IPS" musi być zainstalowany.

Autor: Marcin Konopka
e-mail: mmarcin.konopka@ips-infor.com.pl
tel.0-602-245-732

Moduł jest przeznaczony do bezpłatnego wykorzystania.

Opis typów parametrów

Longint - liczba całkowita ze znakiem 4 bajty
Word - liczba całkowita 2 bajty
PChar - wskaźnik do ciągu znaków zakończonych zerem
Bool - typ logiczny - 2 bajty
HWnd - identyfikator okna formularza - zależny od typu Windows
PWord - wskaźnik do liczby całkowitej typu Word.

Procedury

FormulExists index 9,

LoadSerwer index 10,

FreeSerwer index 11,

FormVersion index 12,

CreateFormul index 13,

DeleteFormul index 14,

OpenWidokFormul index 15,

SetTextFormul index 16,

GetTextFormul index 17,

OpenWydrukFormul index 18,

PrintFormul index 19,

SetStrukPodDoch index 20,

BylWydruk index 21,

BylaZmiana index 22,

DeleteFormul2 index 23,

OpenWydrukFormul_C index 24,

BylWydruk_C index 25,

PrintFormulToPrinter index 26,

LoadSerwerFree index 27,

OpenWidokFormul32 index 28,

Opis procedur modułu.

function FormulExists:bool;

Funkcja informuje czy został zainstalowany program Formularze IPS.

Rezultat

function LoadSerwer:word;

Funkcja odszukuje program "Formularze IPS" i uruchamia jako serwer formularzy, jeśli do tej pory nie został uruchomiony.
Rezultatem funkcji jest uchwyt okna serwera jeśli został poprawnie uruchomiony lub odszukany. Jeśli brak jest formularzy to rezultatem jest zero.

function LoadSerwerFree(path:PChar):word;

Funkcja uruchamia "Serwer Formularzy IPS" - plik FORMSERW.EXE, jeśli do tej pory nie został uruchomiony.
Rezultatem funkcji jest uchwyt okna serwera jeśli został poprawnie uruchomiony lub odszukany. Jeśli brak jest formularzy to rezultatem jest zero.

parametr funkcji:

procedure FreeSerwer;

Procedura kończy działanie serwera formularzy jeśli wszystkie formularze zostały wcześniej zwolnione funkcją DeleteFormul.

function FormVersion:longint;

Funkcja zwraca numer wersji serwera formularzy. Pierwsza wersja ma numer 1. Następne będą zwiększane o jeden jeśli nastąpią zmiany, które musi lub może uwzględnić aplikacja sterująca.

function CreateFormul(symbol,identyfikator:pChar; param:longint):longint;

Funkcja tworzy w pamięci formularz i zwraca jego identyfikator.

Parametry funkcji:

Rezultat:

function DeleteFormul2(formul:longint; param:longint):bool;

Funkcja usuwa formularz.

Parametry funkcji:

Rezultat:

Formularz może nie zostać usunięty jeśli jest np. edytowany i w polu są wpisane błędne dane lub trwa wydruk formularza.

function OpenWidokFormul(formul:longint; opis:pChar; parent:hWnd; param:longint):word;

function OpenWidokFormul32(formul:longint; opis:pChar; parent:hWnd; param:longint):dword;

Funkcja otwiera okienko formularza.

Parametry funkcji:

Rezultat:

Funkcja ByłWydruk informuje czy użytkownik wydrukował formularz z poziomu otwartego okna.
Funkcja ByłaZmiana
informuje czy użytkownik edytował pola formularza.

function SetTextFormul(formul:longint; tx:pChar; formatuj,przelicz:bool):longint;

Funkcja przesyła do formularza wartości pól.

Parametry funkcji:

Rezultat:

function GetTextFormul(formul:longint; tx:pChar; maxTx:longint; konwertuj:bool):longint;

Funkcja odczytuje z formularza zawartość jego pól.

Parametry funkcji:

Rezultat:

function OpenWydrukFormul_C(formul:Longint; opis:PChar; parent:HWnd; odStr,doStr:PWord; param:Longint):bool;

Funkcja wywołuje okienko parametrów wydruku formularza.

Parametry funkcji:

Rezultat:

function PrintFormul(formul:longint; opis:pChar; parent:hWnd; odStr,doStr:word; param:longint):bool;

Funkcja drukuje formularz bez wywoływania parametrów wydruku. Funkcja jest przydatna do wydruku seryjnego formularzy. Należy wtedy umożliwić użytkownikowi ustawienie parametrów wydruku pierwszego formularza funkcją OpenWydrukFormul.
Jeśli OpenWydrukFormul
jest true to można drukować poprzez PrintFormul następne formularze tego samego typu z ustawieniami wybranymi przez użytkownika.
Zakres stron do wydruku należy przenieść do
PrintFormul z OpenWydrukFormul.

Parametry funkcji:

Rezultat

function SetStrukPodDoch(formul:longint; struk:pChar):longint;

Funkcja służy do przesłania dla formularza skali podatku dochodowego, jeśli ten wykorzystuje ją do obliczeń podatku oraz jeśli obliczenia mają być wykonywane - parametr przelicz w SetTextFormul.
Przesłanie skali podatku powoduje że formularz blokuje edycję własnej skali podatku i obliczenia opiera na przesłanych danych.

Parametry funkcji:

Skala podatkowa składa się z progów podatkowych, procentów podatku zależnych od progu podatkowego i kwot podatku, które należy dodać do podatku obliczonego od nadwyżki nad danym progiem podatkowym.
Format danych jest następujący.
W jednej linii tekstu przed znakiem równości jest słowo kluczowe a po znaku równości wartość.
Słowo kluczowe dla kwoty progu: doKwoty_NP_Rok, gdzie NP to numer progu. Rok w postaci 4 cyfrowej.
Słowo kluczowe dla stopy podatku: proc_NP_Rok.
Słowo kluczowe dla kwoty podatku od nadwyżki: kwota_NP_Rok.

Przykład skali podatkowej na podstawie lat 1997 i 1998.
doKwoty_1_1997=20868.00
kwota_1_1997=-278.20
proc_1_1997=20.00
doKwoty_2_1997=41736.00
kwota_2_1997=3895.40
proc_2_1997=32.00
doKwoty_3_1997=0.00
kwota_3_1997=10573.16
proc_3_1997=44.00
doKwoty_1_1998=25252.00
kwota_1_1998=-336.60
proc_1_1998=19.00
doKwoty_2_1998=50504.00
kwota_2_1998=4461.28
proc_2_1998=30.00
doKwoty_3_1998=0.00
kwota_3_1998=12036.88
proc_3_1998=40.00
Kwoty ujemne występujące w pierwszym progu są kwotami wolnymi od podatku.

function BylWydruk_C(formul:Longint; odStr,doStr:PWord):bool;

Funkcja jest pomocna do sprawdzenia czy użytkownik wydrukował formularz z poziomu okna formularza.

Parametry funkcji:

Rezultat

function BylaZmiana(formul:longint):bool;

Funkcja informuje czy użytkownik edytował pole formularza w jego otwartym oknie.

Parametry funkcji:

Rezultat