HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Nyomtatásra alkalmas portok lekérdezése


Példaprogram letöltése

3568 bájt

Ebben a példában megnézzük, hogy hogyan kérdezhetjük le egy számítógépen a nyomtatásra alkalmas portokat.

A portok lekérdezéséhez szükséges struktúrák implementációja a WinSpool unitban található.
Az adatok lekérdezését az EnumPorts függvénnyel hajthatjuk végre. A függvénnyel kétfajta struktúrájú adatokat kérdezhetünk le. Ezek típusa TPortInfo1 és TPortInfo2.
A TPortInfo1 struktúra
Egy port nevének lekérdezésére használhatjuk.
pName
property pName: PAnsiChar;
A port neve.
A TPortInfo1 struktúra
Egy port adatait tárolja.
pPortName
property pPortName: PAnsiChar;
A port neve.
pMonitorName
property pMonitorName: PAnsiChar;
A port figyelő neve.
pDescription
property pDescription: PAnsiChar;
Leírás a portról.
fPortType
property fPortType: DWORD;
A port típusa. Értéke a következő konstansok kombinációja lehet: PORT_TYPE_WRITE, PORT_TYPE_READ, PORT_TYPE_REDIRECTED, PORT_TYPE_NET_ATTACHED.
EnumPorts
function EnumPorts(
pName: PChar;
Level: DWORD;
pPorts: Pointer;
cbBuf: DWORD;
var pcbNeeded,
pcReturned: DWORD
): BOOL;
A nyomtatásra alkalmas portok lekérdezésére szolgál.
Paraméterek
pName: PChar
A nyomtató szervert azonosítja. Ha Nil paramétert adunk meg, akkor a lekérdezés saját számítógépünkre vonatkozik.
Level: DWORD
A lekérdezéshez használt struktúrát azonosítja. Ha TPortInfo1-et használunk, akkor értékének 1-nek kell lennie. TPortInfo2 esetén 2-t kell megadnunk.
pPorts: Pointer
Itt egy pointer típusú változót kell megadnunk, amely a Level-ben megadott formátumú struktúrával rendelkezik. Ha Nil paramétert adunk meg, a cbBuf-ban pedig 0 értéket, akkor a függvényt felhasználhatjuk arra, hogy lekérdezzük a szükséges struktúra méretet. Ilyenkor a függvény visszatérési értéke hamis lesz, de a pcbNeeded paraméterben visszakapjuk a szükséges struktúraméretet.
cbBuf: DWORD
A pPorts struktúra méretét határozza meg bájtokban.
var pcbNeeded
Az itt megadott változóba a lekérdezett struktúra mérete kerül.
pcReturned: DWORD
Egy változót kell megadnunk. Ha a függvény sikeresen lefutott, akkor a változóba a lekérdezett portok száma kerül.
Visszatérési érték
Ha a függvény lefutása sikeres volt, akkor igaz értékkel tér vissza, ellenkező esetben a visszatérési érték hamis.
Az alábbi módon lekérdezhetjük a szükséges struktúraméretet, amely a pcbNeeded változóba kerül.
EnumPorts(Nil,2,Nil,0,pcbNeeded,pcReturned);
Ilyenkor a függvény visszatérési értéke hamis.
A következő körben már le tudjuk kérdezni a szükséges adatokat.
PortInfo2:=AllocMem(pcbNeeded);
Win32Check(EnumPorts(Nil,2,PortInfo2,pcbNeeded,pcbNeeded,pcReturned));
A pcReturned változóba bekerül a lekérdezett portok száma, így az eredményt egy for ciklus segítségével feldolgozhatjuk.

Cikksorozat

#IDKategóriaCikk címeSorozat
2535C#Oracle adatbázis-elérés alapjai1. rész
2546C#SQL utasítások végrehajtása2. rész
2557C#Tárolt eljárások és függvények fejlesztése3. rész
2565C#Csomagok fejlesztése4. rész
2573C#Adatbázis triggerek fejlesztése5. rész
2581C#Kivételek kezelése PL/SQL-ben6. rész
3276C#Kurzorok deklarálása PL/SQL-ben7. rész
3297C#Tömb adattípus létrehozása és kezelése PL/SQL-ben8. rész
3326C#Adatbevitel tömb-adattípussal rendelkező oszlopokba9. rész
3357C#Adattárolás beágyazott tábla-típusú oszlopokban10. rész
3388C#Adatok beszúrása beágyazott táblákba11. rész
3418C#Index létrehozása PL/SQL-ben12. rész
3444C#Szekvenciák használata13. rész
3488C#Adatok betöltése állományokból14. rész
1765DelphiOracle adatbázis-elérés alapjai15. rész
1774DelphiSQL utasítások végrehajtása16. rész
1784DelphiTárolt eljárások és függvények fejlesztése17. rész
1794DelphiCsomagok fejlesztése18. rész
1803DelphiAdatbázis triggerek fejlesztése19. rész
1815DelphiKivételek kezelése PL/SQL-ben20. rész
3256DelphiKurzorok deklarálása PL/SQL-ben21. rész
3287DelphiTömb adattípus létrehozása és kezelése PL/SQL-ben22. rész
3318DelphiAdatbevitel tömb-adattípussal rendelkező oszlopokba23. rész
3348DelphiAdattárolás beágyazott tábla típusú oszlopokban24. rész
3377DelphiAdatok beszúrása beágyazott táblákba25. rész
3408DelphiIndex létrehozása PL/SQL-ben26. rész
3436DelphiSzekvenciák használata27. rész
3467DelphiAdatok betöltése állományokból28. rész


Könyv
Ez a cikk megtalálható ebben a könyvben: Delphi Software Offline 2003 évkönyv 113. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |