Én még nem próbáltam DOS-ban, csak win32 apival. De utánanéztem és működhet, mivel az MSDN egyik Device Driver Kit-es oldalán említik, hogy a Virtual Dos Driver átfordítja a Dosos fájl kezelést CreateFile-ra és egyéb win32 apis i/o függvényekre. Az oldal címe : Windows NT 4.0 DDK . Remélem ez segít, de a legegyszerűbb módszer, hogy kipróbálod.
Ha a CreateFile()-nak fájlnévként portnevet adsz meg pl 'LPT1' akkor azt a portot utána szabványos Windows file i/o műveletekkel használhatod.
Ez Windows NT/2000/XP-ben DOS ablakban futtatott DOS alkalmazassal is mukodik?
Tehat ha en Turbo Pascal-ban DOS-ra forditott Real vagy Protected modu alkalmazasban a COM1 nevu filet szeretnem piszkalni, az mukodni fog? Tehat ha megnyitom rewrite-al, es olvasok belole akkor az jon amit kuldott a COM1-re kotott eszkoz, mondjuk GPS?
Ha WinXP alatt közvetlen i/o-t akarsz használni (pl. "port[x]:=y"), akkor az nem fog működni, mivel az op. rendszer nem engedi. Az io.dll egy kernel módú driver ami lehetővé teszi a közvetlen i/o elérést. A "port[x]:=y" helyett a dll PortOut(x,y) függvényét használva kezelheted a portokat. A Windowsban azonban van egy másik lehetőség is néhány port (a COM és az LPT) használatára. Ha a CreateFile()-nak fájlnévként portnevet adsz meg pl 'LPT1' akkor azt a portot utána szabványos Windows file i/o műveletekkel használhatod. Viszont ilyenkor a Windows feltételezi, hogy nyomtató van az LPT-re kötve, ezért ha saját hardwaret kötsz rá akkor annak le kell tudnia kezelni a Data vonalakon kívül a vezérlő vonalakat is. Erről bővebben: Parallel port
A WinXP alatti párhuzamos port vezérléshez az io.dll drivert ajánlanám. Bár elvileg a CreateFile('LPT1'..),WriteFile-lal is megy de úgy tudom, akkor a hardvernek kezelenie kell a handshaket, hogy működjön a dolog.
Sziasztok!
Segítségeteket szeretném kérni, ugyanis nem tudom, hogyan lehet a nyomtatóportot vezérelni. A Turbo Pascalos "port[$378]:=valami;" itt ugyebár nem működik. De akkor mi a megfelelő parancs? Egyébként nem az Win XP-s problémáról van szó! Segítségeteket előre is köszönöm: Hecsa www.hecsa.2u.hu