Neke od aplikacija zahtevaju komunikaciju sa eksternim uređajima. Da bi uopšte uspostavili komunikaciju potrebno je da ih detektujemo.
Potrebu za pregledom uređaja prikačenih na spoljne portove možemo rešiti korišćenjem funkcije QueryDosDevice. Da odmah naglasimo da je funkciju moguće koristiti samo u Windows NT okruženju (Win-32>). Ovom funkcijom obezbeđujemo aplikacijama informaciju o nazivima ugrađenih MS-DOS uređaja. Funkcija može mapirati samo određene MS-DOS uređaje ili sve postojeće uređaje. Nazivi MS-DOS uređaja čuvaju se u Windows NT kao simbolička imena. Sintaksa same funkcije je sledeća:
DWORD QueryDosDevice(
LPCTSTR lpDeviceName,
LPTSTR lpTargetPath,
DWORD ucchMax
);
Parametri predstavljaju sledeće:
• LPCTSTR - parametar predstavlja adresu stringa MS-DOS uređaja.
• LPTSTR - parametar predstavlja adresu bafera u kome se čuvaju rezultati upita za uređajima.
• DWORD - parametar predstavlja maksimalnu veličinu bafera.
Za primer ćemo napraviti mali programčić koji će izlistati sve MS-DOS uređaje na sistemu. Samo obratite pažnju da program pokrećete u Win-32 okruženju. Pokrenite Delphi i otvorite novi projekt, te na praznu formu postavite po jednu kontrolu: TMemo i TButton. Na kraju, kontroli TButton samo dodajte sledeći kod (u okviru događaja OnClick):
procedure TForm1.Button1Click(Sender: TObject);
var
naziv: string;
isize, i: dword;
begin
setlength(istr, 4000);
isize := QueryDosDevice(nil, @naziv[1], 4000);
for i := 1 to isize do
if naziv[i] = #0 then naziv[i] := #10;
memo1.lines.CommaText := naziv;
end;
Pripremio: Milenko Kusurović
© Sva prava pridržana, Kompjuter biblioteka, Beograd, Obalskih radnika 4a, Telefon: +381 11 252 0 272 |
||