xp系統下delphi如何向列印埠LPT1按二進制回圈輸出0x36,0x39,0x3c; 最好能給個代碼
uj5u.com熱心網友回復:
自己頂一下。。uj5u.com熱心網友回復:
const
lptData: array[0..2] of Char = (#$36, #$39, #$3C);
procedure lptProcess();
var
hFile: Cardinal;
byteWrited: Cardinal;
Overlapped: TOverlapped;
begin
hFile := CreateFile('LPT1:', GENERIC_WRITE, FILE_SHARE_WRITE, nil, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0);
if hFile = INVALID_HANDLE_VALUE then
Exit;
Overlapped.hEvent := CreateEvent(nil, False, False, nil);
while True do
begin
if not WriteFile(hFile, lptData, length(lptData), byteWrited, @Overlapped) then
case WaitForSingleObject(Overlapped.hEvent, 4000) of
WAIT_OBJECT_0: ;
WAIT_TIMEOUT, WAIT_ABANDONED:
begin
Break;
end;
end;
end;
CloseHandle(hFile);
CloseHandle(Overlapped.hEvent);
end;
uj5u.com熱心網友回復:
兄臺,有沒有簡單一些的寫法?我是業余菜鳥。看了半天,沒明白該怎么把我的想法用你的陳述句套進去。我要做到的東西就是在并口上輸出8個獨立的方波的波形(用程式來應該就是給并口設定不同的數值),但是具體什么時候改變波形我用sleep(x)來控制,輸出一個波形后我再計算x的值,然后再輸出下一個。間隔時間可能幾百個毫秒,也可能幾毫秒。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/86108.html
標籤:VCL組件開發及應用
