Funkcia %GetPrinterName


Funkcia
Funkcia zistí počet tlačiarní v systéme alebo ich názvy v operačnom systéme.
Deklarácia
INT | TEXT %GetPrinterName(
   INT in _printerIdx
   INT in _propIdx := 0
 ) 

Parametre
_printerIdx Poradové číslo tlačiarne, ktorej meno sa má zistiť (1, ...).
_propIdx Nepovinný parameter - typ informácie, ktorú funkcia získava. Možné hodnoty:
  • 0 - celý názov tlačiarne vo formáte \\srvName\printerName
  • 1 - názov tlačiarne
  • 2 - názov servera vo formáte \\srvName

Popis
Počas svojho prvého volania funkcia automaticky zistí z operačného systému zoznam definovaných tlačiarní. Tento zoznam je uložený priamo v systéme D2000 a funkcia potom získava ďalšie informácie už priamo z neho.

Samotná činnosť funkcie závisí od hodnoty parametra _printerIdx nasledovne:
  • _printerIdx=-1 - obnovenie (refresh) zoznamu tlačiarní od operačného systému, funkcia vracia ich počet (hodnota parametra _propIdx je ignorovaná)
  • _printerIdx=0 - zistenie počtu tlačiarní (hodnota parametra _propIdx je ignorovaná)
  • _printerIdx=1, 2, 3, ... - zistenie informácie (podľa hodnoty parametra _propIdx) o danej tlačiarni
V prípade nesprávnej hodnoty oboch parametrov, funkcia generuje chybu _ERR_RANGE_ERROR.
Poznámka
Funkciu je možné použiť len na platformách Windows.
Príklad
 BEGIN
 ;
 INT _nrPrinters
 INT _pIdx
 ;
 TEXT _printerFullName
 TEXT _printerName
 TEXT _serverName
 
 ; zistenie počtu tlačiarní v operačnom systéme
 _nrPrinters := %GetPrinterName(-1)
 
 ; zistenie informácií o každej tlačiarni
 FOR _pIdx=1 TO _nrPrinters DO_LOOP
   _printerFullName := %GetPrinterName(_pIdx, 0)
   _printerName := %GetPrinterName(_pIdx, 1)
   _serverName := %GetPrinterName(_pIdx, 2)
 END_LOOP
 ;
 END 

Napíšte komentár