Encyklopedie funkcí Delphi
Podpora pro Delphi založená na zapouzdření WinBase602 API

viz také Podpora pro Delphi založená na funkcích a zprávách z WinBase602 API

Podpora představuje implementaci čtyř základních tříd:

TWBaseServer602 	nevisuální komponenta jakožto předek rámcového okna

jednotka : MSGFRAME.PAS  (bitmapa je v MSGFRAME.DCR).

TMsgFrame 	nevisuální komponenta pro obsluhu zpráv WinBase602 rámcového okna

jednotka : MSGFRAME.PAS  (bitmapa je v MSGFRAME.DCR).

TWBNavig 	obdoba standardní komponenty z Delphi TDBNavigator

jednotka: WBNAVIG.PAS  (bitmapa  je v  WBNAVIG.DCR).

TView602 	nevisuální komponenta pro formulář

jednotka: VIEW602.PAS  (bitmapa  je v  VIEW602.DCR).


třída TWBaseServer602
TWBaseServer602

TWBaseServer602 = class(TForm)

Popis

Používá se jako předek pro hlavní  (rámcové) MDI okno Vaší Delphi aplikace.

Třída především:

1) zapouzdřuje funkčnost pro napojení k a odpojení od databázového serveru WinBase602,

2) zajišťuje předávání zpráv mezi databázovým serverem WinBase602 a Delphi.

Proti TForm nemá žádné nové vlastnosti  (properties) ani události. Pro zpracování zpráv WinBase602 zasílaných rámcovému oknu poskytuje příslušné události samostatná komponenta TMsgFrame.

Metody

WBInit	funkce naváže spojení s databázovým serverem, přihlásí uživatele a nastaví databázovou aplikaci.
WBEnd	procedura implementuje odpojení od serveru WinBase602.
Create	konstuktor komponenty TWBaseServer602
Destroy	destuktor komponenty TWBaseServer602
WBInitErr	procedura zobrazi okénka chybových hlášení pro případné chyby vzniklé ve funkci WBInit,
WndProc	procedura slouží k automatickému předávání zpráv hlavního okna MDI aplikace do WinBase602, která provede svou vlastni (nutnou) obsluhu některých zpráv.
WMCommand	procedura třídy TWBBaseServer602 pro zpracování automatických a uživatelských zpráv (a příp.ostatních zpráv WM_COMMAND, které již nepocházejí z WinBase602)
SZMSetStatusText	procedura třídy TWBBaseServer602 pro ovládání stavové lišty Delphi
SZMSetToolBar	procedura třídy TWBBaseServer602 pro nastavení a výběr nástrojové lišty Delphi.


Komponenta TMsgFrame
TMsgFrame

TMsgFrame = class(TComponent)

Popis:

Používá se jako nevisuální komponenta pro obsluhu událostí odpovídajících zprávám WinBase602 zasílaných rámcovému oknu. K ničemu jinému neslouží. Název události se vytvoří z názvu příslušné zprávy náhradou předpony NOTIF_  ( u  automatických zpráv) resp.předpony SZM_ (u zpráv týkajících se lišt) předponou On.

Události:	viz společný popis

OnCreate	formulář byl otevřen
OnDestroy	formulář byl uzavřen
OnRecenter	vybrán nový záznam ve formuláři
OnChange	změněna složka formuláře
OnReset_Record	vybraný záznam se překresluje
OnReset_View	celý formulář se překresluje
OnSubCursor	formulář přechází k subkurzoru QBE
OnSuperCursor	formulář se vrací k superkurzoru
OnCreate_Dependent	otevřen závislý formulář
OnDestroy_Dependent	uzavřen závislý formulář
OnCreate_Editor	otevřen textový editor
OnDestroy_Editor	uzavřen textový editor
OnCreate_Viewer	otevřeno okno s obrázkem
OnDestroy_Viewer	uzavřeno okno s obrázkem
OnOtherWMCmdFrom602	uživatelská zpráva - pro čísla 1001 až 6000
OnSetToolBar	WinBase602  žádá o změnu ovládací lišty
OnSetStatusText	WinBase602 žádá o umístění textu nebo čísel na stavový řádek


Metoda TWBNavig
TWBNavig

TWBNavig = class(TCustomPanel)

Popis:

Obdoba standardní komponenty z Delphi TDBNavigator (jejch kódy jsou velmi podobné) lišící se od ní v těchto bodech:

1) Nemá property DataSource, neboť není určena pro rozhraní BDE, ale pro WinBase602 API - napojeni TWBNavig na data je automatické, komponenta si sama zjistí právě aktivní formulář, pak tabulku (či dotaz), nad kterou je tento formulář vystavěn a operace provádí nad touto tabulkou (dotazem).

2) Oproti standardní komponentě TDBNavigator je vybavena řadou událostí typu OnBeforeDelete. Potřebujeme-li tedy provést operaci spjatou s některým z tlačítek z TWBNavig, umožňuje komponenta TWBNavig ještě před provedením této operace provést nějakou činnost (např. dotázat se uživatele či nějakou předběžnou kontrolu dat) a případně - dle výsledku této činnosti - operaci zakázat (např. zákaz mazání záznamu pro OnBeforeDelete). Pokračování - provedení operace - nastane jen v případě, že v příslušném event handleru jsme nastavili logický parametr OkClick na TRUE. Implicitní hodnota pro OkClick je TRUE; Tyto události jsou typu

 TWBNavEvent = procedure(Sender:TObject; var IsOk:Boolean) of object.

S událostí OnBeforeDelete souvisí nová property WBIgnoreBefDel typu Boolean, která po nastavení na TRUE způsobí ignorování události  OnBeforeDelete. Pro hodnotu FALSE se událost respektuje a provede se k ní příslušející event handler, je-li nějaký.

3) Nepodporuje tlačítka Edit, Cancel a Post.

4) Operace spjaté s jednotlivými tlačítky navigátoru jsou implementovány pomocí API WinBase602 funkcí a zpráv jako tyto metody

Metody:	viz společný popis

Prior	předchozí záznam
Next	další záznam
First	první záznam
Last	poslední záznam
Insert	vložit záznam
Delete	smazat záznam
Refresh	aktualizovat záznam


komponenta TView602
TView602

TView602 = class(TComponent)

Popis:

Nevisuální komponenta zapouzdřující formulář na tabulku (či na dotaz) vytvořený ve WinBase602 Vnitřně je založena na API funkci Open_view pro otevření formuláře a na Windows technice zvané subclassing. Rozhraní komponenty je tvořeno vlastnostmi (properties), událostmi a metodami:

Vlastnosti 	viz společný popis

Wbviewdef	specifikace formuláře, který má být otevřen.
Wbbase	otevřený kursor nebo konstanta NO_REDIR. Default hodnota je NO_REDIR
Wbflags	příznaky. Default hodnota je nula.
Wbposition	číslo prvního záznamu
Wbparent_id	handle formuláře, který má být vždy pod otevřeným formulářem, nebo nula. Default hodnota je nula.
Wbhandle	handle formuláře, který má být otevřen
Metody

Open	funkce otevře formulář specifikovaný vlastností Wbviewdef  (a dalšími vlastnostmi)
Close	funkce slouží k uzavření formuláře.
Toggle	otevře formulář, pokud již otevřen není. Pokud tento formulář již otevřen je, zavře jej.
Události 	viz společný popis

OnRecEnter	vybrán nový záznam ve formuláři
OnChange	změněna složka formuláře
OnReset_Record	vybraný záznam se překresluje
OnReset_View	celý formulář se překresluje
OnSubCursr	formulář přechází k subkurzoru QBE
OnSuperCursor	formulář se vrací k superkurzoru


Podpora pro Delphi aplikace založená na funkcích a zprávách z WinBase602 API
Podpora pro Delphi založená na funkcích a zprávách z WinBase602 API

Podpora je realizována :

1) implementací třídy TWBMainForm v jednotce WBPARENT.PAS,

2) komunikační jednotkou WINBASE.PAS, která vyváží typy, konstanty a procedury API.

Existuje více objektová varianta této podpory spočívající v zapouzdření WinBase602 API do komponent.


Metoda TWBaseServer602.WBinit
WBinit

function TWBaseServer602.WBinit(Server, Name, Password, Appl : PChar) : boolean;

Přístupová práva

public, virtual

Parametry

Server	Cesta k serveru (viz. parametr path funkce link_kernel)
Name	Jméno uživatele.Je-li parametrem hodnota NIL, zobrazí se přihlašovací dialogbox.
Password	Heslo přidělené uživateli
Appl	Jméno databázové aplikace.

Popis

Public metoda. Implementuje napojení na server WinBase602. Funkce naváže spojení s databázovým serverem, přihlásí uživatele a nastaví databázovou aplikaci.

Hodnota funkce

V případě úspěchu vrací TRUE. Dojde-li při navazování komunikace k chybě, nepodaří-li se přihlášení, nebo jestliže zadaná aplikace v databázi není, zavolá metodu WBInitErr a vrátí FALSE.

Příklad

Dodané vzorové projekty provádějí ruční logování (připojování se k databázi) z menu. Požadujete-li automatické logování při startu Delphi aplikace, pak vhodným místem pro volání WBInit je buď obsluha události onActivate či události onShow dle toho, zda se chcete připojit po čí před zobrazením hlavního okna aplikace Delphi.

Úkol: Přihlásit hned po startu Delphi aplikace uživatele na server WB5 a nastavit aplikaci PER_AGENDA

Příklad 1: Automatické logování po zobrazení hlavního okna aplikace:

// TMainForm = class(TWBaseServer602)

procedure TMainForm.FormActivate(Sender: TObject);

const	Server = 'WB5';

Name = nil;

Password = nil;

Appl = 'PER_AGENDA';

var Uspech: Boolean;

begin

// Klient se napojí na WinBase602 a spustí aplikaci PER_AGENDA :

 if not WBInit(Server, Name, Password, Appl) then close;

 Uspech := Open_project('MIN_PLAT');

 if (Uspech = False) then Info_box('Chyba','Nelze otevřít projekt');

end;

Příklad 2: Automatické logování před zobrazením hlavního okna aplikace:

procedure TMainForm.FormShow(Sender: TObject);

const	Server = 'WB5';

Name = nil;

Password = nil;

Appl = 'PER_AGENDA';

var Uspech: Boolean;

begin

// Klient se napojí na WinBase602 a spustí aplikaci PER_AGENDA :

 if not WBInit(Server, Name, Password, Appl) then close;

 Uspech := Open_project('MIN_PLAT');

 if (Uspech = False) then Info_box('Chyba','Nelze otevřít projekt');

end;


Metoda TWBaseServer602 WBEnd
WBEnd

procedure TWBaseServer602.WBEnd;

Přístupová práva

public

Popis

Implementuje odpojení od serveru WinBase602. V podstatě volá sekvenci API funkcí WinBase602

Close_all_views, Logout, interf_close.

Je volána v destruktoru TWBaseServer602.Destroy, čímž je zajištěno automatické odpojení aplikace Delphi od serveru při jejím uzavření. Není tedy nutné ji ve vaší Delphi aplikaci volat. Chcete-li provést odpojení ještě před uzavřením vaší Delphi aplikace, musíte provést explicitní volání WBEnd např. z menu.


Metoda TWBaseServer602 Create
Create

constructor TWBaseServer602.Create(AOwner : TComponent);

Přístupová práva

public, virtual

Popis

Jde o přepsanou (override) virtuální metodu předka TForm. Provádí inicializaci proměnné kontextu komunikace cd voláním API procedury :

cdp_init(@cd);

Dále nastavuje parametry hlavniho MDI okna, které pak předává do WinBase602 voláním dvou API funkcí

Init_window_env(WindowHandle, ClientHandle, WndMnuIndex, Flags)	Register_ext_menu(WindowHandle,hHlMenu,hWinMenu)

Programátor bude tento konstruktor volat nanejvýš v příkazu inherited konstruktoru potomka.

Parametr Flags ve Init_window_env může nabývat tří hodnot:  WBF_NO_TOOLBAR nebo WBF_NO_STATUSBAR nebo 0:

WBF_NO_TOOLBAR	Hlavní okno nebude používat ovládací lištu z WinBase602, bude však používat stavovou lištu z WinBase602
WBF_NO_STATUSBAR	Hlavní okno nebude používat stavovou lištu z WinBase602, bude však používat ovládací lištu z WinBase602
0 (nula)	Hlavní okno bude používat ovládací lištu i stavovou lištu z WinBase602.
Neni možné kombinovat lišty z WinBase602 a Delphi tj. nelze použít ovladací lištu z WinBase602 a stavovou lištu z Delphi či naopak.

Pro Flags roven WBF_NO_TOOLBAR or WBF_NO_STATUSBAR nebude hlavní okno používat žádnou líštu WinBase602. Právě tato hodnota je napevno nastavena v konstruktoru, neboť podpora založená na komponentách předpokládá použití formulářů vytvořených ve WinBase602, zatímco menu a lišty jsou vesměs z Delphi.


Metoda TWBaseServer602 Destroy
Destroy

destructor TWBaseServer602.Destroy

Přístupová práva

public, virtual

Popis

Jde o přepsanou (override) virtuální metodu předka TForm. Zajisti automatické odpojeni od WinBase602, jak vyplývá z kódu:

Příklad:

destructor TWBaseServer602.Destroy;

begin

  WBEnd;

  inherited Destroy;

end;


Metoda TWBaseServer602 WBInitErr
WBInitErr

procedure TWBaseServer602.WBInitErr(ErrType : TIniErr; err : integer);

Přístupová práva

protected, virtual

Parametry:

ErrType	zdroj chyby, může mít některou z následujících hodnot:
WBINI_LINKERR	funkce link_kernel vrátila chybu
WBINI_INTERFERR	funkce interf_init vrátila chybu
BINI_LOGERR	chybné jméno nebo heslo
WBINI_SETAPPLERR	aplikace nenalezena v databázi
err	kód chyby vrácené funkcí link_kernel, interf_init resp. sz_error
Popis

Zobrazí okénka chybových hlášení pro případné chyby vzniklé ve funkci WBInit, která proceduru WBInitErr volá.


Metoda TWBaseServer602 WndProc
WndProc

Metody zajišťující předávání zpráv mezi databázovým serverem WinBase602 a Delphi

procedure TWBaseServer602.WndProc(var Msg: TMessage);

Přístupová práva

public, virtual

Popis

Jde o přepsanou (override) standardní virtuální metodu předka TForm. Slouží k automatickému předávání zpráv hlavního okna MDI aplikace do WinBase602, která provede svou vlastni (nutnou) obsluhu některých zpráv. WndProc předává zprávy do WinBase602 voláním WinBase602 funkce WinBaseFrameProc.Tím, že je tato funkce umístěna do WndProc, provede se nejdříve zpracování zpráv ve WinBase602 a teprve pak zpracování v Delphi (v EventHandlerech či MessageHandlerech atd.).

Chcete-li toto pořadí změnit, umístěte vlastní zpracování do TWBaseServer602.WndProc před volání funkce WinBaseFrameProc či do TMainForm.WndProc ( kde TMainForm zde označuje vaše hlavni MDI okno, které odvodíte jako potomka třídy TWBaseServer602 ) před volání inherited WndProc.Tato druhá možnost je rozumnější, neboť nevyžaduje přestavbu knihovny komponent, jelikož nemodifikujete kód komponenty TWBaseServer602.


Metoda TWBaseServer602 SZMSETTOOLBAR
SZMSetToolBar

procedure TWBaseServer602.SZMSetToolBar(var Msg: TMessage);

Přístupová práva

protected

Popis

Klasický message handler pro obsluhu zprávy WinBase602 SZM_SETTOOLBAR. Přijme-li hlavní formulář vaší MDI aplikace zprávu SZM_SETTOOLBAR, spustí se handler SZMSetToolBar, jenž volá event handler TMsgFrame.OnSetToolBar (napsali jste-li nějaký), který obdrží parametry této zprávy. Do tohoto event handleru pak umístěte vlastní kód pro obsluhu (nastavení čí výměnu) Delphi toolbaru v závislosti na typu aktivního formuláře popsaného zprávou SZM_SETTOOLBAR.


Metoda TWBaseServer602 SZMSETSTATUSTEXT
SZMSetStatusText

procedure TWBaseServer602.SZMSetStatusText(var Msg: TMessage);

Přístupová práva

protected

Popis

Klasický message handler pro obsluhu zprávy WinBase602 SZM_SETSTATUSTEXT. Přijme-li hlavní formulář vaší MDI aplikace zprávu SZM_SETSTATUSTEXT, spustí se handler SZMSetStatusText, jenž volá event handler TMsgFrame.OnSetStatusText (napsali jste-li nějaký), který obdrží parametry této zprávy. Do tohoto event handleru pak umístěte vlastní kód pro nastavení textu a čísel v Delphi statusbaru v závislosti na parametrech zprávy SZM_SETSTATUSTEXT.


Metoda TWBaseServer602 WMCOMMAND
WMCommand

procedure TWBaseServer602.WMCommand(var Msg: TMessage);

Přístupová práva

protected

Popis

Klasický message handler pro obsluhu zprávy WM_COMMAND. Slouží ke zpracování zpráv WM_COMMAND generovaných WinBase602. Tyto zprávy se dělí na automatické (LOWORD(Msg.wParam) = 999) a uživatelské. ((1000 < Msg.wParam) and (Msg.wParam < 60001)). Automatické zprávy tento handler jednak opět zasílá zpět vždy tomu formuláři, který zprávu vyslal (a které si odchytává komponenta TView602, která tento formulář zapouzdřuje a která implementuje příslušné event handlery) , jednak volá některý z event handlerů (napsali jste-li nějaký) komponenty TMsgFrame (např. pro NOTIF_RECENTER volá event handler TMsgFrame.OnRecenter).

Automatické zprávy lze tedy zpracovat jak na úrovni rámcového MDI okna (události komponenty TMsgFrame), tak na úrovni dětského MDI okna (odpovídající události komponenty TView602).

Rovněž pro uživatelské zprávy WM_COMMAND volá tento message handler obsluhu události OnOtherWMCmdFrom602 komponenty TView602, napsali jste-li nějakou.


Události třídy TMsgFrame

Událost 	Odpovídající zpráva WinBase602 zaslaná rámcovému oknu

OnCreate	NOTIF_CREATE - formulář byl otevřen
OnDestroy	NOTIF_DESTROY - formulář byl uzavřen
OnRecenter	NOTIF_RECENTER - vybrán nový záznam ve formuláři
OnChange	NOTIF_CHANGE - změněna složka formuláře
OnReset_Record	NOTIF_RESET_RECORD - vybraný záznam se překresluje
OnReset_View	NOTIF_RESET_VIEW - celý formulář se překresluje
OnSubCursor	NOTIF_SUBCURSOR - formulář přechází k subkurzoru QBE
OnSuperCursor	NOTIF_SUPERCURSOR - formulář se vrací k superkurzoru
OnCreate_Dependent	NOTIF_CREATE_DEPENDENT - otevřen závislý formulář
OnDestroy_Dependent	NOTIF_DESTROY_DEPENDENT - uzavřen závislý formulář
OnCreate_Editor	NOTIF_CREATE_EDITOR - otevřen textový editor
OnDestroy_Editor	NOTIF_DESTROY_EDITOR - uzavřen textový editor
OnCreate_Viewer	NOTIF_CREATE_VIEWER - otevřeno okno s obrázkem
OnDestroy_Viewer	NOTIF_DESTROY_VIEWER - uzavřeno okno s obrázkem
OnOtherWMCmdFrom602	WM_COMMAND - uživatelská zpráva - pro čísla 1001 až 6000
OnSetToolBar	SZM_SETTOOLBAR - WinBase602 žádá o změnu ovládací lišty
OnSetStatusText	SZM_SETSTATUSTEXT - WinBase602 žádá o umístění textu nebo čísel na stavový řádek

Události odpovídající automatickým zprávám jsou typu

TWBEvent = procedure(Sender: TObject; var Msg: TMessage) of object;

Událost OnSetToolBar je typu

TWBsetToolBarEvent = procedure(Sender: TObject; WB_TB_Typ: TWB_TB_Typ) of object.

Možné typy toolbarů spjatých se zprávou SZM_SETTOOLBAR definuje výčtový typ

TWB_TB_Typ = (wttUNKNOWN, wttDEFAULT, wttVIEW, wttVIEWNOMOVE, wttVIEWPROJ, wttVIEWQUERY, wttHIST, wttINDEX, wttEDITTEXT, wttPREVIEW).

Označení odpovídá symbolickým konstantám uvedeným v manuálu, např. wttUNKNOWN odpovídá WB_TB_UNKNOWN atd.

Událost OnSetStatusText je typu

TWBsetStatusTextEvent = procedure (Sender: TObject; TypObsahu: TWBTypObsahu; Obsah: string) of object

WBTypObsahu = (toText,toNoRecord).

Je-li TypObsahu  = toNoRecord, má Obsah význam čísla resp. čísel (nejčastěji. interní/externí číslo aktualního záznamu), je-li TypObsahu = toText, má parametr Obsah význam textu (např. nápověda k položkám menu).


Metody TWBNavig
Metody komponenty TWBNavig

Přístupová práva

protected, virtual

procedure Prior	předchozí záznam
procedure Next	další záznam
procedure First	první záznam
procedure Last	poslední záznam
procedure Insert	vložit záznam
procedure Delete	smazat záznam
procedure Refresh	aktualizovat záznam


Vlastnosti TView602

Published vlastnosti:

property WBviewdef: string	Specifikace formuláře, který má být otevřen.
property WBbase : tcursnum	Otevřený kursor nebo konstanta NO_REDIR. Default hodnota je NO_REDIR
property WBflags: uns32	Příznaky. Default hodnota je nula.
property WBposition: LongInt	Číslo prvního záznamu. Default hodnota je nula.

Public vlastnosti:

property WBparent_id: window_id	Handle formuláře, který má být vždy pod otevřeným formulářem, nebo nula. Default hodnota je nula.
property WBhandle: window_id	Pouze pro čtení. Poskytuje handle formuláře, který jste otevřeli metodou Open. Tuto hodnotu též vrací metoda Open.
Výše uvedené vlastnosti odpovídají parametrům API funkce Open_View. Nastavení hodnot těchto vlastností má efekt jen před voláním metody Open, neboť metoda Open tyto parametry předá jednorázově funkci Open_View. Parametr filter (procedura zachytávající zprávy formuláře) ve funkci Open_View se ve verzi 5 nepoužívá (má vždy hodnotu NIL), proto nemá mezi vlastnostmi komponenty TView602 svůj protějšek. Proceduru zachytávající zprávy formuláře nahrazují události komponenty TView602.


Události třídy TView602

Jelikož message handler TWBaseServer602.WMCommand(var Msg: TMessage) třídy TWBaseServer602 zasílá přijaté automatické zprávy zpět vždy tomu formuláři, který zprávu rámcovému oknu poslal , je možné tyto zprávy ve window proceduře formuláře odchytit a spustit v okamžiku odchycení příslušné event handlery, což komponenta TView602 dělá . Tyto zprávy je tedy možné obsloužit na dvou úrovních :na úrovni rámcového okna (komponenta TMsgFrame) či na úrovni formuláře (komponenta TWBView).Tyto události a jim odpovídající zprávy jsou podmnožinou oněch, jež jsou popsány v třídě TMsgFrame. Jedná se o tyto události:

OnRecEnter, OnChange, OnReset_Record, OnReset_View, OnSubCursr, OnSuperCursor

Další automatické zprávy kromě výše uvedených vyvolají událost OnOtherWMCmd999

Další události si může uživatel do zdrojového kódu komponenty TView602 doplnit podle vzoru výše uvedených událostí. Události jsou vesměs typu

TWBEvent = procedure(Sender: TObject; var Msg: TMessage) of object;


Metoda TView602.Open
Open

function TView602.Open : window_id

Přístupová práva

public, virtual

Popis

Při prvním volání otevře formulář specifikovaný vlastností WBviewdef (a dalšími vlastnostmi) a vrátí jeho handle. Při dalším volání již nový exemplář otevřeného formuláře nevytvoří, pouze vrátí handle již dříve otevřeného formuláře (tento handle poskytuje též vlastnost WBhandle). Teprve po uzavření formuláře vede její volání k otevření nového formuláře. Otevření formuláře provádí voláním funkce API Open_View.

Tato metoda používá Windows techniku zvanou subclassing. Jelikož zná handle zapouzdřovaného formuláře (poskytuje jí ho funkce Open_view), může definovat novou window proceduru (tj provést subclassing) otevíraného formuláře a v ní zpracovávat zprávy či - spíše - volat event handlery pro tyto zprávy, což také dělá. Tedy teprve od okamžiku, kdy zavoláme metodu Open, budou spouštěny event handlery příslušnými událostmi. Do té doby komponenta TView602 o žádných událostech neví.

Hodnota funkce

Jako u API funkce Open_View.


Metoda TView602.Close
Close

procedure TView602.Close

Přístupová práva

public, virtual

Popis

Slouží k uzavření formuláře.


Metoda TView602.Toggle
Toggle

procedure TView602.Toggle

Přístupová práva

public, virtual

Popis

Otevře formulář, pokud již otevřen není. Pokud tento formulář již otevřen je, zavře jej.


Metody třídy TView602

Open - funkce otevře formulář specifikovaný vlastností WBviewdef (a dalšími vlastnostmi)

Close - funkce slouží k uzavření formuláře.

Toggle - Otevře formulář, pokud již otevřen není. Pokud tento formulář již otevřen je, zavře jej.


Třída TWBMainForm
TWBMainForm

TWBMainForm = class(TForm)

Popis

Třídu TWBMainForm budete používat jako předka rámcového (hlavního) okna (které v dodaném vzorovém projektu nazýváme TMainForm - viz jednotka MAIN.PAS) vaší MDI aplikace Delphi.

Třída je velmi podobná třídě TWBaseServer602 jak pokud jde o vnitřní kód, tak pokud jde o její používání a funkci. TWBaseServer602 je již popsána, proto se zde omezíme jen na odlišnosti obou tříd.

1) Pro zpracování zpráv nemá, žádného pomocníka v podobě speciální komponenty k tomu určené (u třídy TWBaseServer602 plní tuto úlohu TMSGFrame), proto zprávy budete obsluhovat na úrovní jejích message handlerů. Třída obsahuje tři message handlery:

WMCommand	pro zpracování automatických a uživatelských zpráv (a příp. ostatních zpráv WM_COMMAND, které již nepocházejí z WinBase602)
SZMSetStatusText	pro ovládání stavové lišty Delphi.
SZMSetToolBar	pro nastavení a výběr nástrojové lišty Delphi.
Tyto message handlery můžete umístit též do potomka třídy TWBMainForm tj. vašeho rámcového MDI formuláře.

2) Aplikace vystavěné na této třídě mohou používat jak lišty z Delphi, tak lišty z WinBase602 (na rozdíl od aplikací založených na komponentách, kde se používají jen lišty z Delphi). Není možné však kombinovat lišty z WinBase602 a Delphi tj. použít nástrojovou lištu z WinBase602 a stavovou listu z Delphi či naopak. Abyste sdělili WinBase602, čí lišty budete používat, musíte nastavit proměnnou Flags v konstruktoru Create takto

Hodnota Flags	Význam
0	Obě lišty z WinBase602
WBF_NO_TOOLBAR or WBF_NO_STATUSBAR	Žádná lišta z WinBase602
WBF_NO_TOOLBAR	Jen stavová lišta z WinBase602
WBF_NO_STATUSBAR.	Jen nástrojová lišta z WinBase602

Je tedy vidět, že pokud jde o používání třídy, budete - na rozdíl od TWBaseServer602 - pracovat částečně (byť jednoduše) s jejím zdrojovým kódem a tento kód (důkladně okomentovaný a ne příliš složitý) byste měli pochopit než začnete vytvářet Delphi aplikaci.

Jednotka WBPARENT.PAS bude součástí Vašeho projektu.


Pohled WinBase602 jako ActiveX

Jednou z možností, jak zpřístupnit uživateli data spravovaná databázovým systémem WinBase602, je použití  formulářů jako tzv. ActiveX komponent.Vývojář může např. do aplikace ve Visual Basicu, Visual C/C++, Borland Delphi nebo do HTML stránky na WWW umístit objekt ActiveX typu WinBase602 PohledX a tím začlenit plnohodnotný formulář WinBase602 do cizího prostředí. Specifikováním vlastností tohoto objektu (jméno serveru, jméno aplikace, jméno pohledu, ...) určí vzhled pohledu a zdroj dat. Po spuštění aplikace nebo aktivaci HTML stránky se komponenta automaticky přihlásí k zadanému serveru a umožní editovat data jako běžný pohled.

Mechanismus ActiveX je v současné době nejužívanějším nástrojem k vytváření distribuovaných objektů a k i integraci nezávisle implementovaných objektů do aplikací.

Starší označení pro ActiveX je OCX.

WinBase602 PohledX má toto CLSID:

32F34910-9288-101B-96B8-04021C007002

Viz:

Vlastnosti          Metody           Události


Vlastnosti komponenty "WinBase602 PohledX"
Vlastnosti komponenty WinBase602 PohledX

Vlastnosti (properties) představují základní charakteristiky komponenty. WinBase602 PohledX má následující vlastnosti:

Server	Jméno databázového serveru
ServerIP	IP adresa databázového serveru
UserName	Jméno uživatele
Password	Heslo uživatele
Application	Jméno databázové aplikace
Project	Jméno projektu (programu), v jehož kontextu bude objekt pracovat
ViewSrc	Jméno formuláře uloženého v databázi nebo zdrojový text popisu pohledu
ViewSrcCateg	Rozlišuje variantu ViewSrc
DataSrc	Jméno tabulky, dotazu uloženého v databázi nebo zdrojový text dotazu
DataSrcCateg	Rozlišuje variantu DataSrc
TopRec	Číslo záznamu, na kterém se formulář otevře

Vlastnosti mají význam pouze při vytváření objektu, vzhled a chování aktivního formuláře už nemohou ovlivnit. K tomu aby bylo možné WinBase602 PohledX aktivovat je třeba specifikovat minimálně vlastnosti: Server, Application a ViewSrc nebo DataSrc.


Metody komponenty "WinBase602 PohledX"
Metody komponenty WinBase602 PohledX

ActiveX komponenta WinBase602 PohledX neposkytuje žádné uživatelské rozhraní, metody komponenty slouží k napojení ovládání pohledu na uživatelské rozhraní cílové aplikace. K dispozici jsou tyto skupiny metod:

Pohyb mezi záznamy a složkami

FirstRec	Na první záznam
LastRec	Na poslední záznam
NextRec	Na další záznam
PrevRec	Na předchozí záznam
NextPage	Na další stránku
PrevPage	Na předchozí stránku
FirstItem	Na první složku v záznamu
LastItem	Na poslední složku v záznamu
NextTab	Na další složku v záznamu
PrevTab	Na předchozí složku v záznamu
UpItem	O složku výš
DownItem	O složku níž
GetCurItem	Vrátí identifikátor aktuální složky
GetCurPos	Vrátí číslo aktuálního záznamu
SetCurPos	Přejde do zadané složky v zadaném záznamu

Dotazy a uspořádání

OpenQBE	Přepne pohled do režimu zadávání QBE dotazu
OpenSort	Přepne pohled do režimu zadávání uspořádání
AcceptQuery	Akceptuje QBE dotaz nebo zadané uspořádání
CancelQuery	Zruší QBE dotaz nebo uspořádání
QBEState	Vrátí indikaci režimu zadávání QBE nebo uspořádání

Editace složky

Cut	Vystřihne vybranou část editované položky a uloží ji do clipboardu
Copy	Zkopíruje vybranou část editované položky do clipboardu
Paste	Vlepí do aktuální položky obsah clipboardu

Editace v textovém okně

EditFind	Najde výskyt řetězce v textu
EditFormat	Přeformátuje text
EditRefind	Najde další výskyt řetězce v textu
EditReplace	Otevře dialog pro náhradu řetězce
EditSave	Uloží editovaný text

Vkládání a rušení záznamů

Insert	Vloží nový záznam
DelAsk	Smaže všechny záznamy
DelRec	Smaže aktuální záznam
UnbindDel	Odváže zrušené záznamy

Čtení a zápis hodnoty složky

GetItemValue	Vrátí hodnotu atributu, do kterého vede zadaná složka pohledu
SetItemValue	Zapíše zadanou hodnotu do složky v pohledu i do příslušného atributu

Synchronizace změn v pohledu a v databázi

Reset	Uvede do souladu obsah pohledu s obsahem databáze
Commit	Zapíše změny provedené v pohledu do databáze
RollBack	Zruší změny provedené v pohledu

Tisky

Print	Vytiskne pohled na tiskárnu
PrintOpt	Nastaví parametry generované sestavy
PrintOptDlg	Otevře dialog pro nastavení parametrů generování sestavy
PrintSel	Umožňuje programově zvolit tiskárnu a její parametry
PrintSelDlg	Otevře dialog pro volbu tiskárny

Pomocná okna

MultiAttrs	Otevře okno s hodnotami multiatributu
EditText	Otevře editor pro textovou složku
OpenPicture	Otevře okno s obrázkem
Help	Otevře okno s lokální nápovědou
Locks	Otevře dialog s nabídkou zamykání záznamů

Ostatní

ExecStatements	Provede posloupnost příkazů vnitřního programovacího jazyka
PickApplication	Spustí aplikaci, které patří aktuální formulář, jako samostatného klienta WinBase602 v samostatném hlavním okně
V popisu parametrů a výstupních hodnot byla použita syntaxe vnitřního programovacího jazyka.


Události komponenty "WinBase602 PohledX"
Události komponenty WinBase602 PohledX

Prostřednictvím událostí informují ActiveX objekty klientskou aplikaci o svém stavu. Klientská aplikace může, ale nemusí na události reagovat. Komponenta WinBase602 PohledX poskytuje tyto události:

OnCreate	Formulář byl otevřen
OnClose	Formulář byl uzavřen
OnNextRecord	Uživatel přešel na nový záznam
OnItemChanged	Uživatel změnil hodnotu složka
OnResetRecord	Záznam se překresluje
OnReset	Celý formulář se překresluje
OnSubcursor	Formulář přechází k subkurzoru QBE
OnSupercursor	Formulář se vrací k superkurzoru
OnOpenQuery	Uživatel přešel do formuláře pro zadání QBE nebo uspořádání
OnCloseQuery	Uživatel uzavřel formulář pro zadání QBE nebo uspořádání
OnOpenEdit	Uživatel otevřel okno pro editaci sloupce typu Text
OnCloseEdit	Uživatel uzavřel okno pro editaci sloupce typu Text
OnOpenPict	Uživatel otevřel okno pro zobrazení obrázku
OnClosePict	Uživatel uzavřel okno pro zobrazení obrázku

Pokračování:

Ošetření událostí


Ošetření události
Ošetření událostí

Má-li uživatelská aplikace reagovat na některou událost, je třeba vytvořit obslužnou rutinu a napojit ji na příslušnou událost. V Microsoft Visual Basicu nebo Borland Delphi se o napojení postará automaticky vývojové prostředí. Pro zvolený objekt nabídne seznam událostí, které jsou k dispozici a po té, co si vývojář nějakou vybere, vygeneruje vývojové prostředí rámec obslužné rutiny, do kterého stačí doplnit pouze vlastní příkazy. V HTML se obslužná rutina napojí na událost pomocí parametru FOR a EVENT v prvku <SCRIPT>. Například ošetření události OnNextRecord (výpis čísla záznamu (interního i externího) na status bar browseru) může v JavaScriptu vypadat například takto:

<OBJECT

CLASSID="clsid:32F34910-9288-101B-96B8-04021C007002"

ALIGN=CENTER WIDTH=275 HEIGHT=156 BORDER=1 HSPACE=5

ID=Formular>

<SCRIPT FOR=Formular EVENT="OnNextRecord(iRec, eRec, Subf)" LANGUAGE="JavaScript">

  window.status = iRec.toString(10) + "/" + eRec.toString(10);

</SCRIPT>

Ve VBScriptu lze vedle této použít také syntaxi:

<SCRIPT LANGUAGE="VBScript">

  Sub Formular_OnNextRecord(iRec, eRec, Subf)

window.Status  = Cstr(iRec) + "/" + Cstr(eRec)

  end sub

</SCRIPT>

V C++ je třeba obslužné rutiny událostí “zabalit” do rozhraní IDispatch. V inicializační části aplikace se po aktivaci komponenty najde pomocí metody IconnectionPointContainer::FindConnectionPoint její styčný bod a tomu se předá ukazatel na rozhraní IDispatch. Události komponenty WinBase602 PohledX mají ID rovno {32F34913-9288-101B-96B8-04021C007002}. Inicializace obsluhy událostí může vypadat např. takto:

DEFINE_GUID(WBFORM_EVENT_ID, 0x32F34913L, 0x9288, 0x101B, 0x96,

            0xB8, 0x04, 0x02, 0x1C, 0x00, 0x70, 0x02);

void CWBFormItem :: InitEventHandler()

{

    LPCONNECTIONPOINTCONTAINER lpConPtCont = NULL;

    if (m_lpObject->QueryInterface(IID_IConnectionPointContainer,

        (LPVOID *)&lpConPtCont) != NOERROR)

        return;

    if (lpConPtCont->FindConnectionPoint(WBFORM_EVENT_ID,

        &m_EVConPt) == NOERROR)

        m_EVConPt->Advise((LPDISPATCH)this, &m_EVCookie);

    if (lpConPtCont)

        lpConPtCont->Release();

}

Komponenta pak vyvolává jednotlivé události prostřednictvím metody IDispatch::Invoke.

STDMETHODIMP CWBFormItem :: Invoke(DISPID dispid, REFIID riid,

    LCID lcid, WORD Flags, DISPPARAMS *Params, VARIANT *pRes,

    EXCEPINFO *pexcepinfo, UINT *puArgErr)

{

    if (Flags == DISPATCH_METHOD)

    {

        switch (dispid)

        {

        case DID_ONNEXTRECORD:

            .

            .

            .

            break;

 case DID_ONITEMCHANGED:

            .

            .

            .

            break;

       .

       .

       .

    }

    return(NOERROR);

}

V rámci uvolňování komponenty je třeba styčný bod uvolnit:

void CWBFormItem :: ReleaseEventHandler()

{

    if (m_EVConPt)

    {

        if (m_EVCookie)

            m_EVConPt->Unadvise(m_EVCookie);

        m_EVConPt->Release();

    }

}


ActiveX vlastnost Server
Server	[OCX vlastnost]

Identifikátor

 	DID_SERVER 	(1)

Popis

Jméno databázového serveru, ze kterého bude pohled čerpat data. Musí být zadáno. Pokud daný server není na klientské straně zaregistrován, je třeba ve vlastnosti ServerIP specifikovat jeho IP adresu.


ActiveX vlastnost ServerIP
ServerIP	[OCX vlastnost]

Identifikátor

 	DID_SERVERIP 	(2)

Popis

IP adresa databázového serveru. Musí být zadána, jestliže na klientské straně není server zaregistrován.


ActiveX vlastnost UserName
UserName	[OCX vlastnost]

Identifikátor

DID_USERNAME	(3)

Popis

Jméno uživatele pro přístup k databázi. Není-li specifikováno, bude se objekt hlásit k databázi jako uživatel Anonymous.


ActiveX vlastnost Password
Password	[OCX vlastnost]

Identifikátor

DID_PASSWORD	(4)

Popis

Heslo uživatele pro přístup k databázi. Není-li specifikováno, bude se objekt hlásit k databázi s prázdným heslem. Je-li vlastnost Password = ”?”, zobrazí se při aktivaci pohledu přihlašovací dialog. Komponenta heslo při persistentním ukládání vlastností nijak nešifruje, proto pokud uživatelská aplikace potřebuje používat neprázdné heslo, musí si jeho skrytí před nežádoucími zraky zabezpečit sama.


ActiveX vlastnost Application
Application	[OCX vlastnost]

Identifikátor

DID_ APPLICATION	(5)

Popis

Jméno databázové aplikace, ke které zdroj pohledu patří. Musí být zadáno.


ActiveX vlastnost Project
Project	[OCX vlastnost]

Identifikátor

DID_ PROJECT	()

Popis

Jméno projektu (programu), v jehož kontextu bude objekt pracovat.


ActiveX vlastnost ViewScr
ViewSrc	[OCX vlastnost]

Identifikátor

DID_VIEWSRC	(6)

Popis

Zdroj popisu otevíraného pohledu. Může jím být jméno pohledu uloženého v databázi nebo přímo zdrojový text pohledu. Kategorii zdroje popisu pohledu určuje vlastnost ViewSrcCateg. Není-li zdroj popisu pohledu zadán, předpokládá se, že je zadán zdroj dat a vytvoří se implicitní pohled do daného zdroje. Pokud není zadán ani zdroj dat, pokus o otevření pohledu zkrachuje. Jsou-li specifikovány obě vlastnosti DataSrc i ViewSrc, otevře se zadaný pohled do zadaného zdroje dat (zdroj dat z DataSrc musí mít stejné atributy jako zdroj dat specifikovaný v popisu pohledu).


ActiveX vlastnost ViewScrCateg
ViewSrcCateg	[OCX vlastnost]

Identifikátor

DID_VIEWSRCTG	(106)

Popis

Kategorie zdroje popisu pohledu. Může mít některou z následujících hodnot:

CTG_VIEWNAME	(1)	Zdrojem je pohled uložený v databázi
CTG_VIEWSRC	(2)	Zdrojem je text specifikovaný ve ViewSrc
Není-li kategorie specifikována, použije se CTG_VIEWNAME.


ActiveX vlastnost DataScr
DataSrc	[OCX vlastnost]

Identifikátor

DID_DATASRC	(7)

Popis

Zdroj dat pro otevíraný pohled. Může se jednat o jméno databázové tabulky (např. ”MojeTabulka”), jméno SQL dotazu uloženého v databázi (např. ”MujDotaz”) nebo přímo text dotazu (např. ”SELECT * FROM MojeTabulka WHERE ID > 0”). Kategorii zdroje specifikuje vlastnost DataSrcCateg. Není-li zdroj dat zadán, předpokládá se, že bude specifikován v popisu pohledu (viz. vlastnost ViewSrc).


ActiveX vlastnost DataScrCateg
DataSrcCateg	[OCX vlastnost]

Identifikátor

DID_DATASRCTG	(107)

Popis

Kategorie zdroje dat pro pohled. Může mít některou z následujících hodnot:

CTG_TABLE 	(1)	Zdrojem dat je databázová tabulka

CTG_CURSOR 	(2)	Zdrojem dat je SQL dotaz uložený v databázi

CTG_SELECT	(3)	Zdrojem  dat je text SQL příkazu SELECT

Není-li kategorie specifikována, použije se CTG_TABLE.


ActiveX vlastnost TopRec
TopRec	[OCX vlastnost]

Identifikátor

DID_TOPREC	(101)

Popis

Číslo záznamu, na kterém se pohled otevře. Implicitní hodnota je 0.


ActiveX metoda AcceptQuery
AcceptQuery	[OCX metoda]

Procedure AcceptQuery;

Identifikátor

DID_ACCEPTQ	(203)

Popis

Ukončí zadávání QBE dotazu nebo uspořádání a obnoví pohled do dat omezených zadanými podmínkami.

Viz

OpenQBE, OpenSort, CancelQuery, QBEState


ActiveX metoda CancelQuery
CancelQuery	[OCX metoda]

Procedure CancelQuery;

Identifikátor

DID_CANCELQ	(204)

Popis

Zruší zadaný QBE dotaz nebo uspořádání a obnoví pohled do původního neomezeného zdroje dat.

Viz

OpenQBE, OpenSort, AcceptQuery


ActiveX metoda Commit
Commit	[OCX metoda]

function Commit(can_ask, report_error : Boolean) : Boolean;

Identifikátor

DID_COMMIT	(302)

Parametry

can_ask	příznak, smí-li se objevit dotaz na uložení dat, není-li zadán, dotaz se neobjeví
report_error	příznak, má-li se v případě chyby otevřít okno s jejím popisem, není-li zadán, okno se neotevře
Popis

Zapíše změny v aktuálním záznamu v záznamově synchronizovaném pohledu do databáze, aniž by bylo třeba opouštět záznam. Přibližně odpovídá akci ”Uložit změny v pohledu”. Bližší popis je uveden v encyklopedii v popisu funkce Commit_view.

Hodnota funkce

Funkce vrací TRUE, pokud se zápis provedl, FALSE v případě chyby.

Viz

RollBack


ActiveX metoda Copy
Copy	[OCX metoda]

Procedure Copy;

Identifikátor

DID_COPY	(218)

Popis

Zkopíruje vybranou část editované položky do clipboardu.

Viz

Cut, Paste


ActiveX metoda Cut
Cut	[OCX metoda]

Procedure Paste;

Identifikátor

DID_CUT	(217)

Popis

Vystřihne vybranou část editované položky a uloží ji do clipboardu.

Viz

Copy, Paste


ActiveX metoda DelAsk
DelAsk	[OCX metoda]

Procedure DelAsk;

Identifikátor

DID_DELASK	(222)

Popis

Po dotazu smaže všechny záznamy v tabulce, do které pohled vede.

Viz

DelRec, UnbindDel


ActiveX metoda DelRec
DelRec	[OCX metoda]

Procedure DelRec;

Identifikátor

DID_DELREC	(221)

Popis

Smaže aktuální záznam.

Viz

DelAsk, UnbindDel


ActiveX metoda DownItem
DownItem	[OCX metoda]

Procedure DownItem;

Identifikátor

DID_DOWNITEM	(216)

Popis

Přejde v pohledu o složku níže.

Viz

FirstItem, LastItem, PrevTab, NextTab, UpItem


ActiveX metoda EditFind
EditFind	[OCX metoda]

Procedure EditFind;

Identifikátor

DID_ED_FIND	(229)

Popis

Otevře dialog pro vyhledání řetězce v textovém editačním okně.

Viz

EditText, EditSave, EditReplace, EditRefind, EditFormat


ActiveX metoda EditFormat
EditFormat	[OCX metoda]

Procedure EditFormat;

Identifikátor

DID_ED_FORMAT	(232)

Popis

Přeformátuje text v textovém editačním okně.

Viz

EditText, EditSave, EditFind, EditReplace, EditRefind


ActiveX metoda EditRefind
EditRefind	[OCX metoda]

Procedure EditRefind;

Identifikátor

DID_ED_REFIND	(231)

Popis

Zopakuje poslední vyhledání nebo náhradu řetězce v textovém editačním okně.

Viz

EditText, EditSave, EditFind, EditReplace, EditFormat


ActiveX metoda Editreplace
EditReplace	[OCX metoda]

Procedure EditReplace;

Identifikátor

DID_ED_REPLACE	(230)

Popis

Otevře dialog pro náhradu řetězce v textovém editačním okně.

Viz

EditText, EditSave, EditFind, EditRefind, EditFormat


ActiveX metoda EditSave
EditSave	[OCX metoda]

Procedure EditSave;

Identifikátor

DID_ED_SAVE	(228)

Popis

Uloží text editovaný v textovém editačním okně.

Viz

EditText, EditFind, EditReplace, EditRefind, EditFormat


ActiveX metoda EditText
EditText	[OCX metoda]

function EditText(Item : integer; Pos : trecnum; x, y, cx, cy : integer) : Boolean;

Identifikátor

DID_EDITTEXT	(314)

Parametry

Item	číslo složky, není-li zadáno nebo má-li hodnotu -1, bude se editovat text aktuální složky
Pos	interní (pořadové) číslo záznamu, není-li zadáno nebo má-li hodnotu NORECNUM, vezme se složka v aktuálním záznamu
x, y	pozice okna editoru v klientských souřadnicích hlavního okna aplikace, nejsou-li zadány otevře se editor na pozici 40, 40
cx, cy	rozměry okna editoru, nejsou-li zadány bude, mít okno rozměry 500 x 200
Popis

Otevře editační okno pro textovou složku.

Hodnota funkce

V případě úspěchu vrací funkce TRUE, pokud složka neobsahuje text nebo pokud se nepodařilo editor otevřít, vrací FALSE.

Viz

EditFind, EditReplace, EditRefind, EditFormat


ActiveX metoda ExecStatements
ExecStatements	[OCX metoda]

function ExecStatements( var statements : string) : Integer;

Identifikátor

DID_EXECSTTMNTS	(317)

Popis

Metoda provede posloupnost příkazů vnitřního programovacího jazyka zapsanou v parametru statements.


ActiveX metoda FirstItem
FirstItem	[OCX metoda]

Procedure FirstItem;

Identifikátor

DID_FIRSTITEM	(211)

Popis

Přejde na první složku v aktuálním záznamu.

Viz

LastItem, PrevTab, NextTab, UpItem, DownItem


ActiveX metoda FirstRec
FirstRec	[OCX metoda]

Procedure FirstRec;

Identifikátor

DID_FIRSTREC	(205)

Popis

Přejde na první záznam v pohledu.

Viz

PrevPage, PrevRec, NextRec, NextPage, LastRec


ActiveX metoda GetCurItem
GetCurItem	[OCX metoda]

function GetCurItem(SubNum : integer) : integer;

Identifikátor

DID_GETCURITEM	(304)

Parametry

SubNum	identifikace (číslo složky) subpohledu, není-li zadána nebo má-li hodnotu 0, vrátí identifikaci vybrané složky superpohledu, jinak  subpohledu s tímto číslem.

Popis

Vrátí identifikaci právě vybrané složky pohledu.

Viz

GetCurPos, SetCurPos, GetItemValue, SetItemValue


ActiveX metoda GetCurPos
GetCurPos	[OCX metoda]

function GetCurPos(SubNum : integer) : trecnum;

Identifikátor

DID_GETCURPOS	(305)

Parametry

SubNum	identifikace (číslo složky) subpohledu, není-li zadána nebo má-li hodnotu 0, vrátí číslo aktuálního záznamu v superpohledu, jinak v subpohledu s tímto číslem.

Popis

Vrátí interní (pořadové) číslo aktuálního záznamu v pohledu.

Viz

GetCurItem, SetCurPos, GetItemValue, SetItemValue


ActiveX metoda GetItemValue
GetItemValue	[OCX metoda]

function GetItemValue(Item : integer; Pos : trecnum; SubNum : integer) : BSTR;

Identifikátor

DID_GETITEMVAL	(307)

Parametry

Item	číslo složky, není-li zadáno nebo má-li hodnotu -1, bude se číst hodnota aktuální složky
Pos	interní (pořadové) číslo záznamu, není-li zadáno nebo má-li hodnotu NORECNUM, vezme se složka v aktuálním záznamu
SubNum	identifikace (číslo složky) subpohledu, není-li zadána nebo má-li hodnotu 0, zjišťuje se obsah složek v superpohledu, jinak v subpohledu s tímto číslem.

Popis

Zjistí skutečný obsah atributu do kterého vede složka Item v záznamu Pos. Bližší popis je uveden v encyklopedii v popisu funkce Get_item_value.

Hodnota funkce

Funkce vrací hodnotu atributu jako řetězec, v případě chyby vrací řetězec “???”.

 Viz

GetCurItem, GetCurPos, SetCurPos, SetItemValue


ActiveX metoda Help
Help	[OCX metoda]

Procedure Help;

Identifikátor

DID_HELP	(227)

Popis

Otevře okno s lokální nápovědou.


ActiveX metoda Insert
Insert	[OCX metoda]

Procedure Insert;

Identifikátor

DID_INSERT	(220)

Popis

Vloží do pohledu nový záznam.


ActiveX metoda LastItem
LastItem	[OCX metoda]

Procedure LastItem;

Identifikátor

DID_LASTITEM	(212)

Popis

Přejde na poslední složku v aktuálním záznamu.

Viz

FirstItem, PrevTab, NextTab, UpItem, DownItem


ActiveX metoda LastRec
LastRec	[OCX metoda]

Procedure LastRec;

Identifikátor

DID_LASTREC	(210)

Popis

Přejde na poslední záznam v pohledu.

Viz

FirstRec, PrevPage, PrevRec, NextRec, NextPage


ActiveX metoda Locks
Locks	[OCX metoda]

Procedure Locks;

Identifikátor

DID_LOCKS	(226)

Popis

Otevře dialog s nabídkou zamykání záznamů.


ActiveX metoda MultiAttrs
MultiAttrs	[OCX metoda]

Procedure MultiAttrs;

Identifikátor

DID_INDEX	(225)

Popis

Otevře okno s hodnotami multiatributu.


ActiveX metoda NextPage
NextPage	[OCX metoda]

Procedure NextPage;

Identifikátor

DID_NEXTPAGE	(209)

Popis

Přejde na následující stránku v pohledu.

Viz

FirstRec, PrevPage, PrevRec, NextRec, LastRec


ActiveX metoda NextRec
NextRec	[OCX metoda]

Procedure NextRec;

Identifikátor

DID_NEXTREC	(208)

Popis

Přejde na následující záznam v pohledu.

Viz

FirstRec, PrevPage, PrevRec, NextPage, LastRec


ActiveX metoda NextTab
NextTab	[OCX metoda]

Procedure NextTab;

Identifikátor

DID_NEXTTAB	(213)

Popis

Přejde na další složku v aktuálním záznamu.

Viz

FirstItem, LastItem, PrevTab, UpItem, DownItem


ActiveX metoda OpenPicture
OpenPicture	[OCX metoda]

function OpenPicture(Item : integer; Pos : trecnum) : Boolean;

Identifikátor

DID_OPENPICTURE	(315)

Parametry

Item	číslo složky, není-li zadáno nebo má-li hodnotu -1, zobrazí se obrázek z aktuální složky
Pos	interní (pořadové) číslo záznamu, není-li zadáno nebo má-li hodnotu NORECNUM, vezme se složka v aktuálním záznamu
Popis

Zobrazí okno s obrázkem, který je uložen v zadané složce, v samostatném okně, není-li obrázek příliš velký, zobrazí se v původní velikosti.

Hodnota funkce

V případě úspěchu vrací funkce TRUE, pokud složka neobsahuje obrázek nebo pokud se nepodařilo okno otevřít, vrací FALSE.


ActiveX metoda OpenQBE
OpenQBE	[OCX metoda]

Procedure OpenQBE;

Identifikátor

 	DID_QBE	(201)

Popis

Přepne pohled do režimu zadávání QBE dotazu.

Viz

OpenSort, AcceptQuery, CancelQuery, QBEState


ActiveX metoda OpenSort
OpenSort	[OCX metoda]

Procedure OpenSort;

Identifikátor

DID_SORT	(202)

Popis

Přepne pohled do režimu zadávání uspořádání.

Viz

OpenQBE, AcceptQuery, CancelQuery, QBEState


ActiveX metoda Paste
Paste	[OCX metoda]

Procedure Paste;

Identifikátor

DID_PASTE	(219)

Popis

Vlepí do aktuální položky obsah clipboardu.

Viz

Cut, Copy


ActiveX metoda PickApplication
PickApplication	[OCX metoda]

Procedure PickApplication;

Identifikátor

DID_PICKAPPL	(316)

Popis

Spustí aplikaci, které patří aktuální pohled, jako samostatného klienta WinBase602 v samostatném hlavním okně.


ActiveX metoda PrevPage
PrevPage	[OCX metoda]

Procedure PrevPage;

Identifikátor

DID_PREVPAGE	(206)

Popis

Přejde na předchozí stránku v pohledu.

Viz

FirstRec, PrevRec, NextRec, NextPage, LastRec


ActiveX metoda PrevRec
PrevRec	[OCX metoda]

Procedure PrevRec;

Identifikátor

DID_PREVREC	(207)

Popis

Přejde na předchozí záznam v pohledu.

Viz

FirstRec, PrevPage, NextRec, NextPage, LastRec


ActiveX metoda PrevTab
PrevTab	[OCX metoda]

Procedure PrevTab;

Identifikátor

DID_PREVTAB	(214)

Popis

Přejde na předchozí složku v aktuálním záznamu.

Viz

FirstItem, LastItem, NextTab, UpItem, DownItem


ActiveX metoda Print
Print	[OCX metoda]

Procedure Print;

Identifikátor

DID_PRINT	(224)

Popis

Vytiskne pohled na tiskárnu. Nastavení parametrů pro generování sestavy zabezpečuje metoda PrintOpt Tiskárnu lze zvolit pomocí metody PrintOptDlg

Viz

PrintOpt, PrintDlg


ActiveX metoda PrintOpt
PrintOpt	[OCX metoda]

procedure PrintOpt(fRec, lRec : trecnum; fPage, lPage, Copies : short; Collate : boolean; var fName : string);

Identifikátor

DID_PRINTOPT	(309)

Parametry

fRec	interní číslo prvního tištěného záznamu
lRec	interní číslo posledního tištěného záznamu, není-li zadáno, bude se tisknout do posledního záznamu
fPage	číslo první tištěné stránky, není-li zadáno, bude se tisknout od první stránky
lPage	číslo poslední tištěné stránky, není-li zadáno bude se tisknout do poslední stránky
Copies	počet kopií, pokud není zadán bude se tisknout jedna kopie
Collate	příznak, zda snášet kopie, implicitní hodnota je TRUE
fName	jméno výstupního souboru, pokud není zadáno, bude se tisknout na tiskárnu
Popis

Provede nastavení parametrů vytváření sestavy. Nastavení platí až do nového nastavení. Interaktivní nastavení těchže parametrů umožňuje metoda PrintOptDlg

Zatímco záznamy se číslují od 0, stránky se číslují od 1. Čísla stránek se vztahují ke zvolenému intervalu záznamů. Pokud jsou např. 3 záznamy na stránce, tisknete počínaje záznamem 100 a stránkou 5, pak jako první se vytiskne záznam s pořadovým číslem 112.

Viz

Print, PrintOptDlg, PrintSel, PrintSelDlg


ActiveX metoda PrintOptDlg
PrintOptDlg	[OCX metoda]

function PrintOptDlg() : Boolean;

Identifikátor

DID_PRINTOPTDLG	(310)

Popis

Otevře na obrazovce dialog, který umožní zvolit tiskárnu a zadat parametry generování sestavy. Programovou volbu tiskárny provádí metoda PrintSel a programové nastavení parametrů sestavy zabezpečuje metoda PrintOpt.

Hodnota funkce

Funkce vrátí TRUE, pokud uživatel ukončí zadávání parametrů jejich potvrzením. Funkce vrátí FALSE, pokud uživatel požádá stiskem tlačítka v okně s parametry o zrušení akce.

 Viz

Print, PrintDlg, PrintSel, PrintSelDlg


ActiveX metoda PrintSel
PrintSel	[OCX metoda]

function PrintSel(var Printer, Port : string; Orient, PaperSize, PaperBin, Quality, Duplex, Color, TrueTtype : short) : Boolean;

Identifikátor

DID_PRINTSEL	(311)

Parametry

Printer	jméno tiskárny
Port	jméno výstupního portu, není-li zadáno, použije se LPT1:
Orient	orientace papíru, není-li zadána, provede se tisk na výšku
PaperSize	druh a velikost papíru, implicitní hodnota je A4
PaperBin	způsob podávání papíru, není-li specifikován, použije se horní podavač
Quality	rozlišení tiskárny nebo kvalita tisku, není-li zadáno, nastaví se kvalita ”Koncept”
Duplex	duplexní tisk, není-li specifikován, nastaví se simplex
Color	barevný tisk, není-li zadán, požije se imlicitní pro danou tiskárnu
TrueType	způsob tisku TT fontů na laserových tiskárnách, imlicitně se nastaví tisknout jako grafiku
Popis

Funkce Printer_select umožní programově zvolit tiskárnu a nastavit její parametry. Zatímco prvních pět parametrů funguje spolehlivě pro všechny tiskárny, poslední čtyři parametry se uplatní pouze u některých značek. Navíc některé tiskárny mají své vlastní další parametry, které, chcete-li je použít, musíte zadat pomocí funkce PrintSelDlg . Detailní popis všech parametrů je v encyklopedii u funkce Printer_select.

Hodnota funkce

V případě úspěšného nastavení funkce vrací TRUE, v opačném případě FALSE.

Viz

Print, PrintOpt, PrintOptDlg, PrintSel


ActiveX metoda PrintSelDlg
PrintSelDlg	[OCX metoda]

Procedure PrintSelDlg;

Identifikátor

DID_PRINTSELDLG	(312)

Popis

Otevře na obrazovce standardní dialog pro volbu tiskárny. Provedená volba platí až do nové volby nebo do ukončení práce s WinBase602. Volba tiskárny neovlivní jiné aplikace běžící pod Windows. Programovou volbu tiskárny provádí metoda PrintSel.

Viz

Print, PrintOpt, PrintOptDlg, PrintSel


ActiveX metoda QBEState
QBEState	[OCX metoda]

function QBEState() : Boolean;

Identifikátor

DID_QBESTATE	(313)

Popis

Vrací indikaci, zda je pohled právě ve stavu zadávání QBE dotazu nebo uspořádání.

Hodnota funkce

Pokud je pohled právě v režimu zadávání QBE dotazu nebo uspořádání, vrátí TRUE, jinak vrátí FALSE.

 Viz

OpenQBE, OpenSort, AcceptQuery, CancelQuery


ActiveX metoda Reset
Reset	[OCX metoda]

procedure Reset(extent : integer, rec : trecnum);

Identifikátor

DID_RESET	(301)

Parametry

extent	rozsah akcí, není-li zadán, provede se RESET_CONTROLS
rec	interní číslo záznamu v pohledu, není-li zadáno, zaktualizuje se celý obsah pohledu
Popis

Uvede do souladu obsah pohledu na obrazovce s obsahem databáze. Bližší popis je uveden v encyklopedii v popisu funkce Reset_view.


ActiveX metoda RollBack
RollBack	[OCX metoda]

Procedure RollBack;

Identifikátor

DID_ROLLBACK	(303)

Popis

Odvolá změny v aktuálním záznamu v záznamově synchronizovaném pohledu a překreslí pohled zpět s hodnotami z databáze. Procedura odpovídá akci ”Odvolat změny v pohledu”.

Viz

Commit


ActiveX metoda SetCurPos
SetCurPos	[OCX metoda]

function SetCurPos(Pos : trecnum; Item : integer; SubNum : integer) : Boolean;

Identifikátor

DID_SETCURPOS	(306)

Parametry

Pos	interní (pořadové) číslo záznamu, který má být vybrán, má-li hodnotu NORECNUM, záznam se nezmění, změní se pouze složka
Item	číslo složky, která má být vybrána, není-li zadáno nebo má-li hodnotu -1, změní se pouze záznam
SubNum	identifikace (číslo složky) subpohledu, není-li zadána nebo má-li hodnotu 0, vybere se složka v superpohledu, jinak v subpohledu s tímto číslem.

Popis

Vybere v pohledu složku Item v záznamu Pos.

Hodnota funkce

Funkce vrací TRUE po úspěšném provedení akce, jinak vrací FALSE.

 Viz

GetCurItem, GetCurPos, GetItemValue, SetItemValue


ActiveX metoda SetItemValue
SetItemValue	[OCX metoda]

function SetItemValue(Val : untyped; Item : integer; Pos : trecnum; SubNum : integer) : Boolean;

Identifikátor

DID_SETITEMVAL	(308)

Parametry

Val	zapisovaná hodnota
Item	číslo složky, není-li zadáno nebo má-li hodnotu -1, bude se zapisovat do aktuální složky
Pos	interní (pořadové) číslo záznamu, není-li zadáno nebo má-li hodnotu NORECNUM, bude se zapisovat do aktuálním záznamu
SubNum	identifikace (číslo složky) subpohledu, není-li zadána nebo má-li hodnotu 0, nastavuje se obsah složek v superpohledu, jinak složek v subpohledu s tímto číslem.

Popis

Zapíše hodnotu Val do složky Item v záznamu Pos i do atributu, do kterého složka vede. Hodnota může být libovolného typu, funkce ji automaticky převede na typ odpovídající databázovému atributu. Bližší popis je uveden v encyklopedii v popisu funkce Set_item_value.

Hodnota funkce

Funkce vrací TRUE po úspěšném provedení akce, jinak vrací FALSE.

 Viz

GetCurItem, GetCurPos, SetCurPos, GetItemValue


ActiveX metoda UnbindDel
UnbindDel	[OCX metoda]

Procedure UnbindDel;

Identifikátor

DID_UNBINDDEL	(223)

Popis

Odváže zrušené záznamy.

Viz

DelRec, DelAsk


ActiveX metoda UpItem
UpItem	[OCX metoda]

Procedure UpItem;

Identifikátor

DID_UPITEM	(215)

Popis

Přejde o složku výše.

Viz

FirstItem, LastItem, PrevTab, NextTab, DownItem


Externí help
WinBase602 help pro externí jazyky

(součást helpu WB602.HLP)

V tomto souboru jsou popsány následující okruhy:

Podpora pro MFC

Podpora pro Delphi

AciveX komponenta


Knihovny tříd MFC

 viz také Seznam funkcí MFC, seřazený  podle abecedy.

Součástí standardní distribuční sady WinBase602 je i podpora pro aplikační programy psané v jazyce C++ s využitím knihovny tříd MFC, která představuje implementaci tříd:

Třídy objektů

CWBApp	základní třída, pro aplikační programy  WinBase602.
CWBFrameWnd	základní třída pro hlavní okno aplikačního programu WinBase602
CWBTable	třída tabulky
CWBCursor	třída objektů typu kurzor
CWBCursTab	třída objektů typu kurzor nebo tabulka
CWBViewWnd	základní třída pro formuláře
CWBModalViewWnd	základní třída pro modální formuláře


class CWBApp : public CWinApp

Popis

Základní třída, ze které lze derivovat uživatelské třídy aplikačních programů WinBase602.

Zabezpečuje inicializaci programu a navávání spojení se serverm  WinBase602 třídy. Aplikační program může obsahovat pouze jeden objekt vyderivovaný z  třídy CWBApp a musí ho vytvořit jako globální objekt. Dále je třeba přepsat metodu InitInstance která bude zpravidla vytvářet okno třídy CWBFrameWnd a volat funkci WBAppInit.

Metody:

CWBApp	konstruktor objektu
InitInstance	inicializace instance
WBAppInit	navázání spojení s datbázovým serverem
OnInitErr	reakce na chybu inicializace
OnLoginErr	reakce na nespráné jméno nebo heslo
OnSetAppErr	reakce na neúspěšné nastavení aplikace


class CWBFrameWnd : public CMDIFrameWnd

Popis

Základní třída pro hlavní okno aplikačního programu WinBase602.

Ošetřuje vytvoření MDI klienta, ovládací lišty, stavového řádku a zabezpečuje vazbu na WinBaseFrameProc. Při uzavírání hlavního okna zajistí odhlášení uživatele a ukončení komunikace s jádrem. Uživatelský program zpravidla vyderivuje z CWBFrameWnd vlastní třídu, ve které doplní metody ošetřující jednotlivé zprávy. Hlavní okno aplikace se pak vytvoří ve dvou krocích. Nejprve se zkonstruuje nový objekt a okno se otevře voláním metody Create nebo LoadFrame.

Metody:

CWBFrameWnd	konstruktor objektu
DefWinBaseFrameProc	implicitní procedura hlavního okna, neošetřené zprávy předá API
WinBaseFrameProc	implicitní procedura hlavního okna, neošetřené zprávy vrací volající funkci
GetWindowMenuPopup	vrací handle submenu Okna
UpdateMenuProps	informuje WinBase602 o změně menu


Třída CWBViewWnd
class CWBViewWnd : public CMDIChildWnd

Popis

Základní třída pro formuláře WinBase602.

Umožňuje ošetřovat zprávy pro formuláře prostřednictvím standardního mechanizmu knihovny MFC. Uživatelský program zpravidla vyderivuje z  CWBViewWnd vlastní třídu, ve které doplní metody ošetřující jednotlivé zprávy. Formulář se pak otevírá ve dvou krocích. Nejprve se zkonstruuje nový objekt (zpravidla dynamický pomocí new) a vlastní formulář se otevře voláním metody Open, případně Select_records, Relate_record nebo Active_view. Při zpracovávání zpráv je nutné všechny plně neošetřené zprávy předat funkci DefWindowProc nebo Default.

Metody:

Otevírání  a zavírání formuláře

Open	otevření formuláře
Select_records	otevření formuláře s vybranými záznamy
Relate_record	otevření formuláře k editaci relace mezi 2 tabulkami
Register_rec_syn	synchronizování dvou formulářů na stejný záznam
Close_view	uzavření formuláře
PostNcDestroy	zrušení dynamicky vytvořeného objektu třídy CWBViewWnd po uzavření formuláře

Pohyb mezi záznamy a složkami

FirstRec	nastaví formulář na první záznam
LastRec	nastaví formulář na poslední záznam
NextRec	nastaví formulář na následující záznam
PrevRec	nastaví formulář na předchozí záznam
NextPage	nastaví formulář na následující stránku
PrevPage	nastaví formulář na předchozí stránku
FirstItem	přejde na první složku v aktuálním záznamu
LastItem	přejde na poslední složku v aktuálním záznamu
UpItem	přejde o složku výš
DownItem	přejde o složku níž
PrevTab	přejde na předchozí složku v aktuálním záznamu
NextTab	přejde na další složku v aktuálním záznamu
Set_ext_pos	vybrání záznamu ve formuláři dle absolutního čísla
Set_int_pos	vybrání záznamu ve formuláři dle pořadového čísla

Vkládání a mazání záznamů

Insert	vloží do formuláře nový záznam
DelAsk	po dotazu smaže všechny záznamy v tabulce
DelRec	smaže aktuální záznam
UnbindDel	odváže zrušené záznamy

Editace ve formuláři

Cut	vystřihne vybranou část editované položky
Copy	zkopíruje vybranou část editované položky do clipboardu
Paste	vlepí do aktuální položky obsah clipboardu
Get_item_value	zjištění hodnoty ve složce formuláře
Set_item_value	zápis hodnoty do složky formuláře
OpenQBE	přepne formulář do režimu zadávání QBE dotazu
OpenSort	přepne formulář do režimu zadávání uspořádání
AcceptQuery	akceptuje QBE dotaz
CancelQuery	zruší QBE dotaz nebo uspořádání
Reset_view	aktualizace obsahu formuláře
Commit_view	uložení změn ve formuláři do databáze
Roll_back_view	odvolání změn v záznamově synchronizovaném formuláři
EditFind	otevře dialog pro vyhledání řetězce v textovém editačním okně
EditFormat	přeformátuje text v textovem editačním okně
EditRefind	najde další výskyt řetězce v textovém editačním okně
EditReplace	otevře dialog pro náhradu řetězce v textovém editačním okně
EditSave	uloží text editovaný v textovém editačním okně do databáze

Tisk

Print	vytiskne formulář
Print_opt	interaktivní nastavení parametrů tisku sestav
Printer_dialog	volba tiskárny

Stav formuláře

Active_view	zjištění zda je  formulář aktivní
Get_view_pos	zjištění čísla vybraného záznamu ve formuláři
Current_item	vrátí číslo složky formuláře, na níž stojí kurzor
QBE_state	vrací indikaci, zda je formulář v režimu zadávání QBE dotazu

Ostatní

Draw_line	nakreslení úsečky v okně
Put_pixel	nakreslení bodu v okně
Get_fcursor	zjištění kurzoru a parametrů formuláře
Set_fcursor	nastavení kurzoru a parametrů formuláře
Pick_window	vytažení formuláře nad ostatní okna
Select_file	výběr souboru
Select_directory	výběr adresáře
MultiAttrs	otevře okno s hodnotami multiatributu
Help	otevře okno s lokální nápovědou
Locks	otevře dialog s nabídkou zamykání záznamů


Třída CWBModalViewWnd
class CWBModalViewWnd : public CFrameWnd

Popis

Základní třída pro modální formuláře WinBase602.

Umožňuje otevírat a ovládat modální formuláře. Na třídě jsou definovány stejné metody jako na CWBViewWnd.


Třída CWBTable
class CWBTable : public CWBCursTab

Popis

Třída objektů typu tabulka, reprezentuje vlastnosti charakteristické pouze pro tabulky.

Objekt se vytváří ve dvou krocích. Nejprve se zkonstruuje nová instance a vlastní tabulka se zpřístupní voláním metody Open nebo Find_object.

Metody:

Open	otevření tabulky uložené v databázi
Attribute_info	vyhledání sloupce v tabulce
Enable_index	povoluje/zakazuje použití indexů
Enum_attributes	zjištění sloupců v tabulce
Find_object	zjištění čísla objektu
Free_deleted	uvolnění zrušených záznamů v tabulce
Get_data_rights	zjištění práv uživatele k datům
Set_data_rights	nastavení práv k datům
Undelete	obnovení zrušeného záznamu
Uninst_table	uvolnění paměti zabrané tabulkou


Třída CWBCursor
class CWBCursor : public CWBCursTab

Popis

Třída objektů typu kurzor, reprezentuje vlastnosti charakteristické pouze pro kurzory.

Objekt se vytváří ve dvou krocích. Nejprve se zkonstruuje nová instance a vlastní kurzor se pak zpřístupní voláním některé z metod Open, Open_cursor, Open_cursor_direct,  ODBC_open_cursor nebo Open_subcursor.

Metody

Open	otevření kurzoru, jehož definice je uložená v databázi
Open	otevření kurzoru na základě SQL dotazu
Close	uzavření kurzoru
Add_record	přidání záznamu do kurzoru
Close_cursor	uzavření kurzoru
Odbc_open_cursor	otevření proměnného kurzoru v ODBC zdroji dat
Open_cursor	otevření pevného kurzoru z databáze
Open_cursor_direct	otevření proměnného kurzoru zadáním dotazu
Open_subcursor	otevření subkurzoru již otevřeného kursoru
Print_view	tisk sestavy
Super_recnum	převod čísla záznamu v subkurzoru na číslo téhož záznamu v superkurzoru
Translate	konverze čísla záznamu


Třída CWBCursTab
class CWBCursTab

Popis

Tato třída definuje objekt, který může za běhu programu reprezentovat kurzor nebo tabulku.

V uživatelských programech se zpravidla používají objekty tříd CWBTable nebo CWBCursor, které jsou potomkem této třídy. Vlastní objekt třídy CWBCursTab lze zpřístupnit voláním metody Get_fcursor nebo CWBViewWnd :: Get_fcursor.

Metody:

Close	uzavření kurzoru spojeného s daným objektem
IsTable	metoda určuje, zda objekt reprezentuje tabulku nebo kurzor
Append	přidání záznamu na konec tabulky
C_avg	zjištění průměrné hodnoty sloupce v kurzoru
C_count	zjištění počtu záznamů v kurzoru
C_max	zjištění maximální hodnoty sloupce v kurzoru
C_min	zjištění minimální hodnoty sloupce v kurzoru
C_sum	zjištění součtu hodnot sloupce v kurzoru
Data_export	obecná exportní funkce
Delete	zrušení záznamu
Delete_all_records	vymazání všech záznamů tabulky nebo kurzoru
Get_fcursor	zjištění kurzoru a parametrů formuláře
Insert	vložení záznamu do tabulky
Look_up	vyhledání záznamu podle hodnoty ve sloupci
Read	čtení z databáze
Read_ind	čtení obsahu sloupce pevné velikosti z databáze
Read_ind_cnt	zjištění počtu hodnot multiatributu
Read_len	zjištění velikosti attributu proměnné velikosti
Read_lock_record	uzamknutí záznamu pro čtení
Read_lock_table	uzamknutí tabulky nebo kurzoru pro čtení
Read_record	čtení záznamu z databáze
Read_unlock_record	odemknutí záznamu pro čtení
Read_unlock_table	odemknutí tabulky nebo kurzoru pro čtení
Read_var	čtení  obsahu attributu proměnné velikosti z databáze
Rec_cnt	zjištění počtu záznamů v tabulce nebo kurzoru
Set_fcursor	nastavení kurzoru a parametrů formuláře
Write	zápis do databáze
Write_ind	zápis obsahu proměnné do sloupce pevné velikosti
Write_ind_cnt	změna počtu hodnot multiatributu
Write_len	změna velikosti sloupce proměnné velikosti
Write_var	zápis do sloupce proměnné velikosti
Write_lock_record	uzamknutí záznamu pro zápis
Write_lock_table	uzamknutí tabulky nebo kurzoru pro zápis
Write_record	zápis všech atributů do záznamu v tabulce nebo kursoru
Write_unlock_record	odemknutí záznamu pro zápis
Write_unlock_table	odemknutí tabulky nebo kurzoru pro zápis


Konstruktor CWBApp :: CWBApp()
CWBApp :: CWBApp()

CWBApp :: CWBApp(const char * WinAppName = NULL);

Parametry

WinAppName	jméno windowsovské aplikace.

Popis

Konstruktor objektu, jméno aplikace se předává konstruktoru třídy CWinApp.

Příklad

class CMyApp : public CWBApp

{

public:

InitInstance();

};

CMyApp myApp;

CMyApp :: InitInstance()

{

.

.

.


Metoda CWBApp :: InitInstance()
CWBApp :: InitInstance()

virtual BOOL CWBApp :: InitInstance() = 0;

Popis

V programu je nutné vytvořit vlastní instanci této metody, která vedle ostatních inicializací vytvoří hlavní okno aplikace, zabezpečí jeho vazbu na WinBaseFrameProc (viz třída CWBFrameWnd) a provede inicializaci komunikace s jádrem WinBase602, přihlášení uživatele případně nastavení databázové aplikace (viz. metoda WBAppInit).

Hodnota funkce

Funkce vrací TRUE, pokud inicializace proběhla úspěšně, jinak vrací FALSE.

Příklad

class CMainFrame : public CWBFrameWnd

{

.

.

.

};

BOOL CMyApp :: InitInstance()

{

CMainFrame * pMainFrame = new CMainFrame();

DWORD dwStyle = WS_OVERLAPPEDWINDOW | WS_VISIBLE;

if (!pMainFrame->Create(NULL, AfxGetAppName(), dwStyle,

      CFrameWnd::rectDefault, NULL, MAKEINTRESOURCE(WB_APP_MAINMENU)))

  return(FALSE);

pMainFrame->ShowWindow(m_nCmdShow);

pMainFrame->UpdateWindow();

m_pMainWnd = pMainFrame;

if (!WBAppInit("Fakturace", NULL, NULL, "MujServer"))

   return(FALSE);

return TRUE;

}


Metoda CWBApp :: WBAppInit()
CWBApp :: WBAppInit()

BOOL CWBApp:: WBAppInit(const char * ApplName = NULL,
    const char * UserName = NULL, const char * Password = NULL,
    const char * ServerPath = NULL);

Parametry

ApplName	jméno aplikace uložené v databázi

UserName	jméno uživatele

Password	heslo přidělené uživateli

ServerPath	jméno databázového serveru (viz. funkce Link_kernel)

Popis

Funkce naváže spojení se zadaným databázovým serverem, není-li server specifikován, naváže spojení se zaregistrovaným lokálním serverem v aktuálním adresáři, pokud v aktuálním adresáři žádný není, naváže spojení s prvním zaregistrovaným serverem. Dále provede inicializaci komunikace a přihlásí uživatele. Pokud je parametrem UserName prázdný řetězec, přihlásí uživatele Anonymous. Jestliže uživatelské jméno není zadáno, zobrazí se přihlašovací dialogbox. Je-li zadán parametr ApplName, nastaví se příslušná databázová aplikace.

Hodnota funkce

Dojde-li při navazování komunikace k chybě, je-li zadáno neznámé jméno uživatele, případně chybné heslo, nebo je-li zadáno chybné jméno aplikace, vypíše se chybové hlášení a funkce vrátí FALSE. V opačném případě vrací TRUE.

Příklad

.

.

WBAppInit("SKLAD", "Pepa", "Skladnik", "ServerSklad");

.

.


Metoda CWBApp :: OnInitErr()
CWBApp :: OnInitErr()

virtual void CWBApp :: OnInitErr(int err);

Parametry

err	kód chyby vrácený funkcí link_kernel nebo interf_init

Popis

Virtuální metoda, která se volá, jestliže se nepodařilo inicializovat komunikaci se serverem  WinBase602 (funkce link_kernel nebo interf_init nevrátí KSE_OK). Umožňuje uživateli reagovat na vzniklou chybu. Implicitní instance vypíše chybové hlášení odpovídající kódu chyby.

Hodnota funkce

Příklad

void CMyApp :: OnInitErr(int err)

{

   m_pMainWnd->MessageBox("Nelze navázat komunikaci se serverem  WinBase!");

}


Metoda CWBApp :: OnLoginErr()
CWBApp :: OnLoginErr()

virtual void CWBApp :: OnLoginErr();

Popis

Virtuální metoda, která se volá, pokud je mezi parametry funkce WBAppInit uvedeno nesprávné jméno uživatele nebo chybné heslo. Umožňuje uživateli reagovat na vzniklou chybu. Implicitní instance vypíše chybové hlášení Uvedeno nesprávné heslo.

Příklad

void CMyApp :: OnLoginErr()

{

   m_pMainWnd->MessageBox("Nemáte právo přístupu k databázi");

}


Metoda CWBApp :: OnSetAppErr()
CWBApp :: OnSetAppErr()

virtual void CWBApp :: OnSetAppErr();

Popis

Virtuální metoda, která se volá, pokud se nepodařilo nastavit aplikaci zadanou jako parametr funkce WBAppInit. Umožňuje uživateli reagovat na vzniklou chybu. Implicitní instance vypíše chybové hlášení Zadaná aplikace v databázi není.

Příklad

void CMyApp :: OnSetAppErr()

{

    m_pMainWnd->MessageBox("Aplikace SKLAD v databázi

                           není!\n\nJe naimportovaná?");

}


Konstruktor CWBFrameWnd :: CWBFrameWnd()
CWBFrameWnd :: CWBFrameWnd()

CWBFrameWnd :: CWBFrameWnd(UINT fStyle = 0, UINT WinMenu = 0x8000);

Parametry

fStyle	styl hlavního okna

WinMenu	index submenu Okna (Window) v hlavním menu aplikace.

Popis

Konstruktor objektu. Parametr fStyle může být kombinací následujících hodnot:

WBF_NO_TOOLBAR	Okno nebude používat ovládací lištu z  WinBase602, tzn. aplikační program si zabezpečí ovládací lištu ve vlastní režii nebo ji nebude mít vůbec.
WBF_NO_STATUSBAR	Okno nebude používat stavový řádek z  WinBase602, tzn. aplikační program si zabezpečí stavový řádek ve vlastní režii nebo ho nebude mít vůbec.
Jsou-li nastaveny oba příznaky, nebude WinBase602 vytvářet ani MDI klienta a ponechá jeho vytvoření na MFC. Parametr WinMenu udává pořadové číslo submenu Okna v hlavním menu aplikace (počínaje od nuly). Není-li zadán, nebo má-li hodnotu 0x8000, předpokládá se, že submenu Okna je předposlední položkou (poslední je Nápověda). Pokud submenu Okna neexistuje, předává se 0xFFFF.

Příklad

.

.

CMainFrame* pMainFrame = new  CMainFrame(WBF_NO_TOOLBAR | WBF_NO_STATUSBAR);

.

.


Metoda CWBFrameWnd :: DefWinBaseFrameProc()
 CWBFrameWnd :: DefWinBaseFrameProc()

LONG CWBFrameWnd :: DefWinBaseFrameProc(WORD uMsg, WORD wParam,
    LONG lParam);

Parametry

uMsg	číslo zprávy

wParam	první parametr zprávy

lParam	druhý parametr zprávy.

Popis

Této funkci je hlavní okno aplikace povinno předávat všechny zprávy, které samo plně nezpracuje.

Od WinBaseFrameProc se liší v tom, že neošetřené zprávy předává přímo  API funkci DefFrameProc.

Hodnota funkce

Hodnota funkce je závislá na typu zprávy.

Příklad

LONG CMainFrame :: OnZprava(WORD wPar, LONG lPar)

{

if (...)

{

     .

     .

     return 0;

}

else

     return DefWinBaseFrameProc(Zprava, wPar, lPar);

}


Metoda CWBFrameWnd :: WinBaseFrameProc()
CWBFrameWnd :: WinBaseFrameProc()

LONG CWBFrameWnd :: WinBaseFrameProc(WORD uMsg, WORD wParam,
    LONG lParam);

Parametry

uMsg	číslo zprávy

wParam	první parametr zprávy

lParam	druhý parametr zprávy.

Popis

Tato funkce provádí základní zpracování zpráv pro hlavní okno aplikace WinBase602. Od DefWinBaseFrameProc se liší v tom, že pro neošetřené zprávy nevolá DefFrameProc, ale vrací řízení volající funkci.

Hodnota funkce

Hodnota funkce je závislá na typu zprávy. Ve většině případů vrací 0 pro zprávy, které kompletně zpracovala.

Příklad

LONG CMainFrame :: OnZprava(WORD wPar, LONG lPar)

{

    if (WinBaseFrameProc(Zprava, wPar, lPar) == 0)

        return 0;

    if (...)

    {

        .

        .

        return 0;

    }

    else

        return CMDIFrameWnd::DefWindowProc(Zprava, wPar, lPar);

}


Metoda CWBFrameWnd :: GetWindowMenuPopup()
CWBFrameWnd :: GetWindowMenuPopup()

virtual HMENU CWBFrameWnd :: GetWindowMenuPopup(HMENU hMenuBar);

Parametry

hMenuBar	Handle menu hlavního okna.

Popis

Metoda vrací pro potřeby správy MDI oken handle submenu Okna (Windows) v menu aplikace. Metodu je třeba přepsat, pokud submenu Okna ve vaší aplikaci nelze standardním způsobem identifikovat. Pod MFC verze 2 a vyšší se submenu Okna rozpozná podle identifikátorů jeho složek, které musí být   v   rozsahu AFX_IDM_WINDOW_FIRST a AFX_IDM_WINDOW_LAST.

Hodnota funkce

Funkce vrací handle submenu Okna, nebo NULL, pokud toto submenu neexistuje.

Příklad

HMENU CWBFrameWnd::GetWindowMenuPopup(HMENU hMenuBar)

{

return ::GetSubMenu(hMenuBar, 0);

}


Metoda CWBFrameWnd :: UpdateMenuProps()
CWBFrameWnd :: UpdateMenuProps()

void CWBFrameWnd :: UpdateMenuProps(HMENU hMainMenu,
    HMENU hWinMenu = (HMENU)-1);

Parametry

hMainMenu	handle menu hlavního okna

hWinMenu	handle submenu Okna (Windows).

Popis

Metoda informuje WinBase602 o změně menu hlavního okna. Tuto metodu  je třeba volat, jestliže aplikace nastavuje pro formuláře jiné menu než to, které bylo zavedeno při vytváření hlavního okna. Pokud není zadán parametr hWinMenu, bude funkce hledat submenu Okna pomocí virtuální metody GetWindowMenuPopup. Jestliže vaše aplikace otevírá několik formulářů a pro každý formulář má jiné menu, je třeba při ošetřování změny aktivního okna t.j. v metodě OnMDIActivate volat UpdateMenuProps ještě před předáním řízení původní ošetřující rutině.

Příklad

void CMyApp :: OnFaktury()

{

   CFaktury *Faktury = new CFaktury();

   if (Faktury != NULL)

      if (Faktury->Open("*Faktury"))

   {

       CMenu Menu;

       Menu.LoadMenu(IDM_FAKTURY);

       CMenu *WinMenu = GetSubMenu(3);

       Faktury->hMenu = Menu.m_hMenu;

       Faktury->hWinMenu = WinMenu->m_hMenu;

   }

}

void CFaktury :: OnMDIActivate(BOOL bActivate, CWnd* pActWnd,
                 CWnd* pDeactWnd)

{

   if (bActivate)

   {

      CMainFrame *MainFrame = (CMainFrame *)GetMDIFrame();

      MainFrame->UpdateMenuProps(hMenu, hWinMenu);

      MainFrame->SetToolBar(IDM_FAKTURY);

   }

   Default();

}


Metoda CWBViewWnd :: Open()
CWBViewWnd :: Open()

BOOL CWBViewWnd :: Open(const char *ViewDef,
    tcursnum  Base = NO_REDIR, DWORD Flags = 0, trecnum Pos = 0,
    FARPROC Filter = NULL, CWBViewWnd *ParWnd = NULL);

Parametry

ViewDef	specifikace formuláře, který má být otevřen

Base	otevřený kurzor nebo konstanta NO_REDIR

Flags	příznaky

Pos	číslo záznamu, na němž má být formulář otevřen

Filter	rezervováno pro budoucí použití

ParWnd	ukazatel na formulář, který má být vždy pod otevíraným formulářem.

Popis

Metoda otevře zadaný formulář a připojí ho k objektu CWBWiewWnd. Detailní popis parametrů je uveden v encyklopedii funkcí.

Hodnota funkce

Funkce vrací v případě úspěchu TRUE, v opačném případě FALSE.


Metoda CWBViewWnd :: Select_records()
CWBViewWnd :: Select_records()

BOOL CWBViewWnd :: Select_records(const char *ViewDef,

    tcursnum Base, uns32 Flags, short Limit, trecnum *Bindl,

    FARPROC Filter = NULL, CWBViewWnd *ParWnd = NULL);)

Parametry

ViewDef	specifikace formuláře, který má být otevřen

Base	otevřený kurzor nebo konstanta NO_REDIR

Flags	příznaky

Limit	maximální počet vybraných záznamů

Bindl	pole složek typu trecnum

Filter	rezervováno pro budoucí použití

ParWnd	ukazatel na formulář, který má být vždy pod otevíraným formulářem

Popis

Metoda otevře formulář, který umožní vybrat množinu záznamů z tabulky nebo kurzoru. Detailní popis je uveden v encyklopedii funkcí.

Hodnota funkce

Funkce vrací v případě úspěchu TRUE, v opačném případě FALSE.


Metoda CWBViewWnd :: Relate_record()
CWBViewWnd :: Relate_record()

BOOL CWBViewWnd :: Relate_record(const char * Relation1,

    const char * ViewDef, tcursnum Base = NO_REDIR,

    uns32 Flags = 0, FARPROC Filter = NULL,

    const char * Relation2 = NULL);

Parametry

Relation1	jméno relace (první relace pro M:N)

Viewdef	specifikace formuláře, který má být otevřen

Base	otevřený kurzor nebo konstanta NO_REDIR

Flags	příznaky

Filter	procedura zachytávající zprávy formuláře

Relation2 	jméno druhé relace, není-li parametr uveden jedná se o relaci 1:N

Popis

Metoda Relate_record otevře na obrazovce formulář specifikovaný parametrem viewdef , který slouží k editaci relace 1:N nebo M:N mezi dvěma tabulkami. Detailní popis je uveden v encyklopedii funkcí.

Hodnota funkce

Funkce vrací v případě úspěchu TRUE, v opačném případě FALSE.


Metoda CWBViewWnd :: Active_view()
CWBViewWnd :: Active_view()

BOOL CWBViewWnd :: Active_view();

Popis

Metoda Active_view zjišťuje, který formulář je právě aktivní. Objekt inicializovaný pomocí této metody není napojen na mechanismus zpracování zpráv MFC.

Hodnota funkce

Funkce vrací v případě úspěchu TRUE, pokud není otevřen žádný formulář vrací FALSE.

Příklad

CActWnd *ActWnd = new CActWnd();

if (ActWnd && ActWnd->Active_view())

{

   short Flags;

   CWBCursor Curs;

   ActWnd->Get_fcursor(&Curs, &Flags);

   .

   .

   .

}


Metoda CWBViewWnd :: PostNcDestroy()
CWBViewWnd :: PostNcDestroy()

virtual void CWBViewWnd :: PostNcDestroy();

Popis

Metoda je volána po uzavření formuláře a ruší dynamicky vytvořený objekt třídy CWBViewWnd. Pokud objekt formuláře nebyl vytvořen dynamicky, nebo pokud uživatel potřebuje po uzavření formuláře provést ještě jiné akce, je nutné tuto metodu přepsat.


Metody CWBViewWnd pro pohyb mezi záznamy a složkami formuláře
CWBViewWnd - pohyb mezi záznamy a složkami ve formuláři

void CWBViewWnd :: FirstRec();

void CWBViewWnd :: LastRec();

void CWBViewWnd :: NextRec();

void CWBViewWnd :: PrevRec();

void CWBViewWnd :: NextPage();

void CWBViewWnd :: PrevPage();

void CWBViewWnd :: FirstItem();

void CWBViewWnd :: LastItem();

void CWBViewWnd :: DownItem();

void CWBViewWnd :: UpItem();

void CWBViewWnd :: NextTab();

void CWBViewWnd :: PrevTab();

Popis

Metody slouží pro programové ovládání pohybu mezi záznamy a složkami formuláře.

FirstRec	Nastaví formulář na první záznam
LastRec	Nastaví formulář na poslední záznam
NextRec	Nastaví formulář na následující záznam
PrevRec	Nastaví formulář na předchozí záznam
NextPage	Nastaví formulář na následující stránku
PrevPage	Nastaví formulář na předchozí stránku
FirstItem	Přejde na první složku v aktuálním záznamu
LastItem	Přejde na poslední složku v aktuálním záznamu
DownItem	Přejde o složku níž
UpItem	Přejde o složku výš
NextTab	Přejde na předchozí složku v aktuálním záznamu
PrevTab	Přejde na předchozí složku v aktuálním záznamu
Příklad

BEGIN_MESSAGE_MAP(CMyForm, CWBViewWnd)

.

.

ON_COMMAND(IDC_NEXTREC, OnNexRec)

.

.

END_MESSAGE_MAP()

void CMyForm :: OnNextRec()

{

NextRec();

}


Metody CWBViewWnd pro dotazy a uspořádání
CWBViewWnd - Dotazy a uspořádání

void CWBViewWnd :: OpenQBE();

void CWBViewWnd :: OpenSort();

void CWBViewWnd :: AcceptQuery();

void CWBViewWnd :: CancelQuery();

Popis

Metody slouží pro programové přepínání mezi běžným režimem formuláře a režimem zadávání QBE dotazu resp. uspořádání.

OpenQBE	Přepne formulář do režimu zadávání QBE dotazu
OpenSort	Přepne formulář do režimu zadávání uspořádání
AcceptQuery	Akceptuje QBE dotaz nebo zadané uspořádání a původní formulář přesměruje na dotazem nebo uspořádáním změněná data
CancelQuery	Zruší QBE dotaz nebo uspořádání a formulář přesměruje na původní data

Příklad

BEGIN_MESSAGE_MAP(CMyForm, CWBViewWnd)

.

.

ON_COMMAND(IDC_OPENQBE, OnQBE)

.

.

END_MESSAGE_MAP()

void CMyForm :: OnQBE()

{

OpenQBE();

}


Metody CWBViewWnd pro editaci složky formuláře
CWBViewWnd - Editace složky

void CWBViewWnd :: Cut();

void CWBViewWnd :: Copy();

void CWBViewWnd :: Paste();

Popis

Metody slouží pro programové ovládání editace složky formuláře.

Cut	Vystřihne vybranou část editované složky a uloží ji do clipboardu
Copy	Zkopíruje vybranou část editované složky do clipboardu
Paste	Vlepí do aktuální složky obsah clipboardu
Příklad

BEGIN_MESSAGE_MAP(CMyForm, CWBViewWnd)

.

.

ON_COMMAND(IDC_COPY, OnCopy)

.

.

END_MESSAGE_MAP()

void CMyForm :: OnCopy()

{

Copy();

}


Metody CWBViewWnd pro editaci v textovém okně
CWBViewWnd - Editace v textovém okně

void CWBViewWnd :: EditFind();

void CWBViewWnd :: EditReplace();

void CWBViewWnd :: EditRefind();

void CWBViewWnd :: EditFormat();

void CWBViewWnd :: EditSave();

Popis

Metody slouží pro programové ovládání editace v okně textového editoru WinBase602.

EditFind	Otevře dialog pro vyhledání řetězce
EditReplace	Otevře dialog pro náhradu řetězce
EditRefind	Najde další výskyt řetězce nebo zopakuje posední náhradu řetězce
EditFormat	Přeformátuje text
EditSave	Uloží editovaný text
Příklad

BEGIN_MESSAGE_MAP(CMyForm, CWBViewWnd)

.

.

ON_COMMAND(IDC_EDITSAVE, OnEditSave)

.

.

END_MESSAGE_MAP()

void CMyForm :: OnEditSave()

{

EditSave();

}


Metody CWBViewWnd pro vkládání a mazání záznamů
CWBViewWnd - Vkládání a mazání záznamů

void CWBViewWnd :: Insert();

void CWBViewWnd :: DelRec();

void CWBViewWnd :: DelAsk();

void CWBViewWnd :: UnbindDel();

Popis

Metody slouží pro vkládání a rušení záznamů ve formuláři.

Insert	Vloží nový záznam
DelRec	Smaže aktuální záznam
DelAsk	Zobrazí dialog s dotazem, zda si uživatel opravdu přeje smazat všechny záznamy, po kladné odpovědi opravdu smaže všechny záznamy v tabulce, do které formulář vede
UnbindDel	Odváže zrušené záznamy
Příklad

BEGIN_MESSAGE_MAP(CMyForm, CWBViewWnd)

.

.

ON_COMMAND(IDC_INSERT, OnInsert)

.

.

END_MESSAGE_MAP()

void CMyForm :: OnInsert()

{

Insert();

}


Metoda CWBViewWnd :: Print()
CWBViewWnd :: Print()

void CWBViewWnd :: Print();

Popis

Otevře dialog pro nastavení parametrrů tisku a po jeho uzavření vytiskne formulář na zvolené zařízení.

Příklad

BEGIN_MESSAGE_MAP(CMyForm, CWBViewWnd)

.

.

ON_COMMAND(IDC_PRINT, OnPrint)

.

.

END_MESSAGE_MAP()

void CMyForm :: OnPrint()

{

Print();

}


Metody CWBViewWnd pro otevírání pomocných oken
CWBViewWnd - Pomocná okna

void CWBViewWnd :: MultiAttrs();

void CWBViewWnd :: Help();

void CWBViewWnd :: Locks();

Popis

MultiAttrs	Otevře okno s hodnotami multiatributu
Help	Otevře okno s lokální nápovědou
Locks	Otevře dialog s nabídkou zamykání záznamů


Další metody třídy CWBViewWnd

Dále jsou na třídě CWBViewWnd definovány metody:

void  CWBViewWnd :: Close_view();

BOOL  CWBViewWnd :: Commit_view(BOOL can_ask, BOOL report_error);

short CWBViewWnd :: Current_item();

void  CWBViewWnd :: Draw_line(short x1, short y1, short x2, short y2, short colour);

BOOL  CWBViewWnd :: Get_item_value(trecnum intrec, short itemid, char *value);

BOOL  CWBViewWnd :: Get_fcursor(tcursnum * curs, short FAR *flags);

BOOL  CWBViewWnd :: Get_fcursor(CWBCursTab * curs, short FAR *flags);

BOOL  CWBViewWnd :: Get_view_pos(trecnum * irec, trecnum * erec);

void  CWBViewWnd :: Pick_window();

BOOL  CWBViewWnd :: Print_opt();

void  CWBViewWnd :: Printer_dialog();

void  CWBViewWnd :: Put_pixel(short x, short y, short colour);

BOOL  CWBViewWnd :: QBE_state();

BOOL  CWBViewWnd :: Register_rec_syn(HWND hWnd2);

void  CWBViewWnd :: Reset_view(trecnum rec = -1, BOOL reload = TRUE);

void  CWBViewWnd :: Roll_back_view();

BOOL  CWBViewWnd :: Select_file(char *filename);

BOOL  CWBViewWnd :: Select_directory(char *filename);

BOOL  CWBViewWnd :: Set_ext_pos(trecnum pos, short itemnum = -1);

BOOL  CWBViewWnd :: Set_fcursor(tcursnum curs, DWORD flags = 0);

BOOL  CWBViewWnd :: Set_int_pos(trecnum pos, short itemnum = -1);

BOOL  CWBViewWnd :: Set_item_value(trecnum intrec, short itemid, const char * value);

Parametry, hodnoty a význam těchto metod jsou stejné jako u stejnojmenných rutin z encyklopedie funkcí.

Close_view - uzavření formuláře

Commit_view - uložení změn ve formuláři do databáze

Current_item - vrátí číslo složky formuláře, na níž stojí kurzor

Draw_line - nakreslení úsečky v okně

Get_item_value - zjištění hodnoty ve složce formuláře

Get_fcursor - zjištění kurzoru a parametrů formuláře

Get_view_pos - zjištění čísla vybraného záznamu ve formuláři

Pick_window  - vytažení formuláře nad ostatní okna

Print_opt - interaktivní nastavení parametrů tisku sestav

Printer_dialog - volba tiskárny

Put_pixel - nakreslení bodu v okně

QBE_state - vrací indikaci zda je formulář v režimu zadávání QBE dotazu

Register_rec_syn - synchronizování dvou formulářů na stejný záznam

Reset_view - aktualizace obsahu formuláře

Roll_back_view - odvolání změn v záznamově synchronizovaném formuláři

Select_file - výběr souboru

Select_directory - výběr adresáře

Set_ext_pos - vybrání záznamu ve formuláři dle absolutního čísla

Set_fcursor - nastavení kurzoru a parametrů formuláře

Set_int_pos - vybrání záznamu ve formuláři dle pořadového čísla

Set_item_value - zápis hodnoty do složky formuláře


Metoda BOOL CWBCursTab :: Close()
BOOL CWBCursTab :: Close()

BOOL CWBCursTab :: Close();

Popis

Metoda uzavře kurzor spojený s daným objektem. Pokud objekt reprezentuje tabulku, neprovede metoda nic.

Hodnota funkce

Funkce vrací při úspěchu FALSE, jinak vrací TRUE.


Metoda BOOL CWBCursTab :: IsTable()
BOOL CWBCursTab :: IsTable()

BOOL CWBCursTab :: IsTable();

Popis

Metoda určuje, zda objekt reprezentuje tabulku nebo kurzor.

Hodnota funkce

Pokud objekt reprezentuje tabulku, vrací funkce TRUE, jinak vrací FALSE.


Další metody třídy CWBCursTab

Dále jsou na třídě CWBCursTab definovány následující metody:

trecnum CWBCursTab :: Append();

BOOL CWBCursTab :: C_avg(const char * AttrName, const char * Condition, void * Result);

BOOL CWBCursTab :: C_count(const char * AttrName, const char * Condition, trecnum * Result);

BOOL CWBCursTab :: C_max(const char * AttrName, const char * Condition, void * Result);

BOOL CWBCursTab :: C_min(const char * AttrName, const char * Condition, void * Result);

BOOL CWBCursTab :: C_sum(const char * AttrName, const char * Condition, void * Result);

BOOL CWBCursTab :: Data_export(tcateg Categ, const char * fName, unsigned Format, int Recode);

BOOL CWBCursTab :: Delete(trecnum Position);

BOOL CWBCursTab :: Delete_all_records();

BOOL CWBCursTab :: Get_fcursor(window_id id, short *Flags);

trecnum CWBCursTab :: Insert();

trecnum CWBCursTab :: Look_up(const char *AttrName, void *Res);

BOOL CWBCursTab :: Read(trecnum Position, tattrib Attr, const modifrec * Access, void * Buffer);

BOOL CWBCursTab :: Read_ind(trecnum Position, tattrib Attr, uns16 Index, void * Buffer);

BOOL CWBCursTab :: Read_ind_cnt(trecnum Position, tattrib Attr, uns16 * Count);

BOOL CWBCursTab :: Read_len(trecnum Position, tattrib Attr, uns16 Index, uns32 * Size);

BOOL CWBCursTab :: Read_lock_record( trecnum Position);

BOOL CWBCursTab :: Read_lock_table();

BOOL CWBCursTab :: Read_record(trecnum Position, void * Buffer, uns16 DataSize);

BOOL CWBCursTab :: Read_unlock_record( trecnum Position);

BOOL CWBCursTab :: Read_unlock_table();

BOOL CWBCursTab :: Read_var(trecnum Position, tattrib Attr, uns16 Index, uns32 Start, uns32 Size, void * Buffer, uns32 * pSize);

BOOL CWBCursTab :: Rec_cnt(trecnum *RecNum);

BOOL CWBCursTab :: Set_fcursor(window_id id, tcursnum curs, uns32 Flags);

BOOL CWBCursTab :: Write(trecnum Position, tattrib Attr, const modifrec *Access, const void * Buffer, uns16 DataSize);

BOOL CWBCursTab :: Write_ind(trecnum Position, tattrib Attr, uns16 Index, void * Buffer, uns16 Size);

BOOL CWBCursTab :: Write_ind_cnt(trecnum Position, tattrib Attr, uns16 Count);

BOOL CWBCursTab :: Write_len(trecnum Position, tattrib Attr, uns16 Index, uns32 Size);

BOOL CWBCursTab :: Write_var(trecnum Position, tattrib Attr, uns16 Index, uns32 Start, uns32 Size, void * Buffer);

BOOL CWBCursTab :: Write_lock_record(trecnum Position);

BOOL CWBCursTab :: Write_lock_table();

BOOL CWBCursTab :: Write_record(trecnum Position, const void *Buffer, uns16 DataSize);

BOOL CWBCursTab :: Write_unlock_record( trecnum Position);

BOOL CWBCursTab :: Write_unlock_table();

Parametry, hodnoty a význam těchto metod jsou stejné jako u stejnojmenných rutin z encyklopedie funkcí.

Append - přidání záznamu na konec tabulky

C_avg - zjištění průměrné hodnoty sloupce v kurzoru

C_count - zjištění počtu záznamů v kurzoru

C_max - zjištění maximální hodnoty sloupce v kurzoru

C_min - zjištění minimální hodnoty sloupce v kurzoru

C_sum - zjištění součtu hodnot sloupce v kurzoru

Data_export - obecná exportní funkce

Delete - zrušení záznamu

Delete_all_records - vymazání všech záznamů tabulky nebo kurzoru

Get_fcursor - zjištění kurzoru a parametrů formuláře

Insert - vložení záznamu do tabulky

Look_up - vyhledání záznamu podle hodnoty ve sloupci

Read - čtení z textového souboru - externí

Read_ind - čtení obsahu sloupce pevné velikosti z databáze

Read_ind_cnt - zjištění počtu hodnot multiatributu

Read_len - zjištění velikosti sloupce proměnné velikosti

Read_lock_record - uzamknutí záznamu pro čtení

Read_lock_table - uzamknutí tabulky nebo kurzoru pro čtení

Read_record - čtení záznamu z databáze

Read_unlock_record - odemknutí záznamu pro čtení

Read_unlock_table - odemknutí tabulky nebo kurzoru pro čtení

Read_var - čtení obsahu sloupce proměnné velikosti z databáze

Rec_cnt - zjištění počtu záznamů v tabulce nebo kurzoru

Set_fcursor - nastavení kurzoru a parametrů formuláře

Write - zápis do databáze

Write_ind - zápis obsahu proměnné do sloupce pevné velikosti

Write_ind_cnt - změna počtu hodnot multiatributu

Write_len - změna velikosti sloupce proměnné velikosti

Write_var - zápis do sloupce proměnné velikosti

Write_lock_record - uzamknutí záznamu pro zápis

Write_lock_table - uzamknutí tabulky nebo kurzoru pro zápis

Write_record - zápis všech atributů do záznamu v tabulce nebo kursoru

Write_unlock_record - odemknutí záznamu pro zápis

Write_unlock_table - odemknutí tabulky nebo kurzoru pro zápis


Metoda BOOL CWBTable :: Open()
BOOL CWBTable :: Open()

BOOL CWBTable :: Open(const char * Name);

Parametry

Name	jméno tabulky;

Popis

Metoda zpřístupní tabulku uloženou v databázi.

Hodnota funkce

Funkce vrací při úspěchu FALSE, jestliže tabulka zadaného jména v databázi není, vrací TRUE.


Další metody třídy CWBTable

Dále jsou na třídě CWBTable definovány následující metody:

BOOL CWBTable :: Attribute_info(const char * AttrName, tattrib * AttrNum, uns8 * AttrType, uns8 * AttrMult, uns16 * AttrSpecif);

BOOL CWBTable :: Enable_index(sig16 Which, BOOL Enable);

BOOL CWBTable :: Enum_attributes(enum_attr * CallBack);

BOOL CWBTable :: Find_object(const char * Name);

BOOL CWBTable :: Free_deleted();

BOOL CWBTable :: Get_data_rights(const char *UserName, tright * Rights, tdright * rdRights, tdright * wrRights);

BOOL CWBTable :: Set_data_rights(const char * UserName, tright Rights, tdright rdRights, tdright wrRights);

BOOL CWBTable :: Undelete(trecnum Position);

BOOL CWBTable :: Uninst_table();

Parametry, hodnoty a význam těchto metod jsou stejné jako u stejnojmenných rutin z encyklopedie funkcí.

Attribute_info - vyhledání sloupce v tabulce

Enable_index - povoluje/zakazuje použití indexů

Enum_attributes - zjištění atributů v tabulce

Find_object - zjištění čísla objektu

Free_deleted - uvolnění zrušených záznamů v tabulce

Get_data_rights - zjištění práv uživatele k datům

Set_data_rights - nastavení práv k datům

Undelete - obnovení zrušeného záznamu

Uninst_table - uvolnění paměti zabrané tabulkou


Metoda BOOL CWBCursor :: Open(tobjnum CursDef)
BOOL CWBCursor :: Open()

BOOL CWBCursor :: Open(tobjnum CursDef)

Parametry

CursDef	číslo definice kurzoru uložené v databázi

Popis

Metoda otevře kurzor, jehož definice je uložená v databázi.

Hodnota funkce

Funkce vrací při úspěchu FALSE, při neúspěchu TRUE. K neúspěchu může dojít, pokud je v serveru překročen maximální počet současně otevřených kurzorů nebo pokud je v definici kurzoru CursDef chyba.


Metoda BOOL CWBCursor :: Open(char * Query)
BOOL CWBCursor :: Open()

BOOL CWBCursor :: Open(const char * Query)

Parametry

Query	definice kurzoru v jazyce SQL

Popis

Metoda otevře kurzor za základě jeho definice uvedené v parametru Query.

Hodnota funkce

Funkce vrací při úspěchu FALSE, při neúspěchu TRUE.


Metoda BOOL CWBCursor :: Close()
BOOL CWBCursor :: Close()

BOOL CWBCursor :: Close();

Popis

Metoda uzavře kurzor.

Hodnota funkce

Funkce vrací při úspěchu FALSE, při neúspěchu TRUE.


Další metody třídy CWBCursor

Dále jsou na třídě CWBCursor definovány následující metody:

BOOL CWBCursor :: Add_record(trecnum * Recs, short NumOfRecs);

BOOL CWBCursor :: Close_cursor();

BOOL CWBCursor :: Odbc_open_cursor(uns32 Connection, const char * Query);

BOOL CWBCursor :: Open_cursor(tobjnum CursDef);

BOOL CWBCursor :: Open_cursor_direct( const char * Query);

BOOL CWBCursor :: Open_subcursor( const char * SubcurDef, CWBCursor * Subcurs);

BOOL CWBCursor :: Print_view(const char * ViewDef, trecnum FirstRec, trecnum LastRec, FARPROC Filter);

BOOL CWBCursor :: Super_recnum(tcursnum SuperCursor, trecnum SubRecnum, trecnum *SuperRecnum);

BOOL CWBCursor :: Translate(trecnum cRec, short Tbord, trecnum *tRec);

Parametry, hodnoty a význam těchto metod jsou stejné jako u stejnojmenných rutin z encyklopedie funkcí.

Add_record - přidání záznamu do kurzoru

Close_cursor - uzavření kurzoru

Odbc_open_cursor - otevření proměnného kurzoru v ODBC zdroji dat

Open_cursor - otevření pevného kurzoru z databáze

Open_cursor_direct - otevření proměnného kurzoru zadáním dotazu

Open_subcursor - otevření subkurzoru již otevřeného kursoru

Print_view - tisk sestavy

Super_recnum - převod čísla záznamu v subkurzoru na číslo téhož záznamu v superkurzoru

Translate - konverze čísla záznamu z kurzoru do tabulky


Encyklopedie funkcí (MFC)
Encyklopedie funkcí WinBase602 (MFC)

Třídy objektů

CWBApp - základní třída, pro aplikační programy WinBase602.

CWBFrameWnd - základní třída pro hlavní okno aplikačního programu WinBase602

CWBTable– třída objektů typu tabulka

CWBCursor - třída objektů typu kurzor

CWBCursTab - třída objektů typu kurzor nebo tabulka

CWBViewWnd – základní třída pro formuláře

CWBModalViewWnd základní třída pro modální formuláře

-- A --

CWBViewWnd :: AcceptQuery - akceptuje QBE dotaz

CWBViewWnd :: Active_view - vrací číslo aktivního formuláře

CWBCursor :: Add_record - přidání záznamu do kurzoru

CWBCursTab :: Append - přidání záznamu na konec tabulky

CWBTable :: Attribute_info - Vyhledání sloupce v tabulce

-- B --

-- C --

CWBViewWnd :: CancelQuery - zruší QBE dotaz nebo uspořádání

CWBCursTab :: C_Avg - zjištění průměrné hodnoty sloupce v kurzoru

CWBCursTab :: C_Count - zjištění počtu záznamů v kurzoru

CWBCursTab :: C_Max - zjištění maximální hodnoty sloupce v kurzoru

CWBCursTab :: C_Min - zjištění minimální hodnoty sloupce v kurzoru

CWBCursTab :: C_Sum - zjištění součtu hodnot sloupce v kurzoru

CWBCursor :: Close - uzavření kurzoru

CWBCursTab:: Close - uzavření kurzoru

CWBCursor :: Close_cursor - uzavření kurzoru

CWBViewWnd :: Close_view - uzavření formuláře

CWBViewWnd :: Commit_view - uložení změn ve formuláři do databáze

CWBViewWnd :: Copy - zkopíruje vybranou část editované položky do clipboardu

CWBViewWnd :: Current_item - vrací číslo vybrané složky formuláře, na níž stojí kurzor

CWBViewWnd :: Cut - vystřihne vybranou část editované položky

CWBFrameWnd :: CWBFrameWnd -konstruktor hlavního okna

-- D --

CWBCursTab :: Data_export- obecná exportní funkce

CWBFrameWnd :: DefWinBaseFrameProc - implicitní procedura hlavního okna, neošetřené zprávy předá API

CWBViewWnd :: DelAsk - po dotazu smaže všechny záznamy v tabulce

CWBViewWnd :: DelRec - smaže aktuální záznam

CWBCursTab :: Delete - zrušení záznamu

CWBCursTab :: Delete_all_records - vymazání všech záznamů tabulky nebo kurzoru

CWBViewWnd :: DownItem - přejde o složku níž

CWBViewWnd :: Draw_line - nakreslení úsečky v okně

-- E --

CWBViewWnd :: EditFind - otevře dialog pro vyhledání řetězce v textovém editačním okně

CWBViewWnd :: EditFormat - přeformátuje text v textovém editačním okně

CWBViewWnd :: EditRefind - najde další výskyt řetězce v textovém editačním okně

CWBViewWnd :: EditReplace - otevře dialog pro náhradu řetězce v textovém editačním okně

CWBViewWnd :: EditSave - uloží text editovaný v textovém editačním okně do databáze

CWBTable :: Enable_index - povoluje/zakazuje použití indexů

CWBTable :: Enum_attributes - zjištění atributů v tabulce

-- F --

CWBTable :: Find_object - zjištění čísla objektu

CWBViewWnd :: FirstItem - přejde na první složku v aktuálním záznamu

CWBViewWnd :: FirstRec - nastaví formulář na první záznam

CWBTable :: Free_deleted - uvolnění zrušených záznamů v tabulce

-- G --

CWBTable :: Get_data_rights - zjištění práv uživatele k datům

CWBCursTab :: Get_fcursor - zjištění kurzoru a parametrů formuláře

CWBViewWnd :: Get_fcursor - zjištění kurzoru a parametrů formuláře

CWBViewWnd :: Get_item_value - zjištění hodnoty ve složce formuláře

CWBViewWnd :: Get_view_pos - zjištění čísla vybraného záznamu ve formuláři

CWBFrameWnd :: GetWindowMenuPopup - zjištění handle submenu Okna

-- H --

CWBViewWnd :: Help - otevře okno s lokální nápovědou

-- I --

CWBApp :: InitInstance - inicializace

CWBCursTab :: Insert - vložení záznamu do tabulky

CWBViewWnd :: Insert - vloží do formuláře nový záznam

CWBCursTab :: IsTable - vrací indikaci, zda objekt reprezentuje tabulku nebo kurzor

-- K --

-- L --

CWBViewWnd :: LastItem - přejde na poslední složku v aktuálním záznamu

CWBViewWnd :: LastRec - nastaví formulář na poslední záznam

CWBViewWnd :: Locks - otevře dialog s nabídkou zamykání záznamů

CWBCursTab :: Look_up - vyhledání záznamu podle hodnoty ve sloupci

-- M --

CWBViewWnd :: MultiAttrs - otevře okno s hodnotami multiatributu

-- N --

CWBViewWnd :: NextPage - nastaví formulář na následující stránku

CWBViewWnd :: NextRec - nastaví formulář na následující záznam

CWBViewWnd :: NextTab - přejde na další složku v aktuálním záznamu

-- O --

CWBApp :: OnInitErr reakce na chybu inicializace komunikace se serverm

CWBApp :: OnLoginErr reakce na nespráné jméno nebo heslo

CWBApp :: OnSetAppErr reakce na neúspěšné nastavení aplikace

CWBViewWnd :: Open - otevření formuláře

CWBCursor :: Open - otevření kurzoru

CWBTable :: Open - otevření tabulky

CWBViewWnd :: OpenQBE - přepne formulář do režimu zadávání QBE dotazu

CWBViewWnd :: OpenSort - přepne formulář do režimu zadávání uspořádání

CWBCursor :: Open_cursor - otevření pevného kurzoru uloženého v databázi

CWBCursor :: Open_cursor_direct - otevření proměnného kurzoru zadáním SQL dotazu

CWBCursor :: Open_subcursor - otevření subkurzoru již otevřeného kursoru

-- P --

CWBViewWnd :: Paste - vlepí do aktuální položky obsah clipboardu

CWBViewWnd :: Pick_window - vytažení formuláře nad ostatní okna

CWBViewWnd :: PostNcDestroy - zrušení dynamicky vytvořeného objektu třídy CWBViewWnd po uzavření formuláře

CWBViewWnd :: PrevPage - nastaví formulář na předchozí stránku

CWBViewWnd :: PrevRec - nastaví formulář na předchozí záznam

CWBViewWnd :: PrevTab - přejde na předchozí složku v aktuálním záznamu

CWBViewWnd :: Print - vytiskne formulář na tiskárnu

CWBViewWnd :: Print_opt - interaktivní nastavení parametrů tisku sestav

CWBCursor :: Print_view - tisk sestavy

CWBViewWnd :: Printer_dialog - volba tiskárny

CWBViewWnd :: Put_pixel - nakreslení bodu v okně

-- Q --

CWBViewWnd :: QBE_state - vrací indikaci, zda je formulář v režimu zadávání QBE dotazu

-- R --

CWBCursTab :: Read - čtení z databáze

CWBCursTab :: Read_ind - čtení obsahu sloupce pevné velikosti z databáze

CWBCursTab :: Read_ind_cnt - zjištění počtu hodnot multiatributu

CWBCursTab :: Read_len - zjištění velikosti sloupce proměnné velikosti

CWBCursTab :: Read_lock_record - uzamknutí záznamu pro čtení

CWBCursTab :: Read_lock_table - uzamknutí tabulky nebo kurzoru pro čtení

CWBCursTab :: Read_record - čtení záznamu z databáze

CWBCursTab :: Read_unlock_record - odemknutí záznamu pro čtení

CWBCursTab :: Read_unlock_table - odemknutí tabulky nebo kurzoru pro čtení

CWBCursTab :: Read_var - čtení  obsahu attributu proměnné velikosti z databáze

CWBCursTab :: Rec_cnt - zjištění počtu záznamů v tabulce nebo kurzoru

CWBViewWnd :: Register_rec_syn - synchronizování dvou formulářů na stejný záznam

CWBViewWnd :: Relate_record - vložení hodnoty z relačně provázané tabulky

CWBViewWnd :: Reset_view - aktualizace obsahu formuláře

CWBViewWnd :: Roll_back_view - odvolání změn v záznamově synchronizovaném formuláři

-- S --

CWBViewWnd :: Select_directory - výběr adresáře

CWBViewWnd :: Select_file - výběr souboru

CWBViewWnd :: Select_records - výběr množiny záznamů z formuláře

CWBTable :: Set_data_rights - nastavení práv k datům

CWBViewWnd :: Set_ext_pos - vybrání záznamu ve formuláři dle absolutního čísla

CWBCursTab :: Set_fcursor - nastavení kurzoru a parametrů formuláře

CWBViewWnd :: Set_fcursor - nastavení kurzoru a parametrů formuláře

CWBViewWnd :: Set_int_pos - vybrání záznamu ve formuláři dle pořadového čísla

CWBViewWnd :: Set_item_value - zápis hodnoty do složky formuláře

CWBCursor :: Super_recnum - převod čísla záznamu v subkurzoru na číslo téhož záznamu v superkurzoru

-- T --

CWBCursor :: Translate - konverze čísla záznamu z kurzoru do tabulky

-- U --

CWBViewWnd :: UnbindDel - odváže zrušené záznamy

CWBTable :: Undelete - obnovení zrušeného záznamu

CWBTable :: Uninst_table - uvolnění paměti zabrané tabulkou

CWBFrameWnd :: UpdateMenuProps - informuje WinBase602 o změně menu

CWBViewWnd :: UpItem - přejde o složku výš

-- V --

-- W --

CWBApp :: WBAppInit - navázání spojení s databázovým jádrem

CWBFrameWnd :: WinBaseFrameProc - implicitní procedura hlavního okna, neošetřené zprávy vrací volající funkci

CWBCursTab :: Write - zápis do databáze

CWBCursTab :: Write_ind - zápis obsahu proměnné do sloupce pevné velikosti

CWBCursTab :: Write_ind_cnt - změna počtu hodnot multiatributu

CWBCursTab :: Write_len - změna velikosti sloupce proměnné velikosti

CWBCursTab :: Write_lock_record - uzamknutí záznamu pro zápis

CWBCursTab :: Write_lock_table - uzamknutí tabulky nebo kurzoru pro zápis

CWBCursTab :: Write_record - zápis všech atributů do záznamu v tabulce nebo kursoru

CWBCursTab :: Write_unlock_record - odemknutí záznamu pro zápis

CWBCursTab :: Write_unlock_table - odemknutí tabulky nebo kurzoru pro zápis

CWBCursTab :: Write_var - zápis do sloupce proměnné velikosti

-- X --

-- Y --