顧客顯示器顯示亂碼 |
尚未結案
|
ph
一般會員 發表:3 回覆:27 積分:11 註冊:2003-09-28 發送簡訊給我 |
|
wameng
版主 發表:31 回覆:1336 積分:1188 註冊:2004-09-16 發送簡訊給我 |
|
kkccgg
初階會員 發表:50 回覆:54 積分:30 註冊:2002-07-28 發送簡訊給我 |
|
ph
一般會員 發表:3 回覆:27 積分:11 註冊:2003-09-28 發送簡訊給我 |
謝謝各位的回應,我已經解決這個問題了
之前可以用的原因是前台有裝收據機,電腦
有灌收據機的driver。而我的notebook只有一個comport,
所以在丟文字到客顯時,會先透過這台收據機的driver(我猜啦)
現在參考''如何使用 Win32 API 存取 RS232這篇文章後'',寫
一段初始化comport的程式就可以用了。source如下: procedure OpenCom;
Var cb:dcb;
S:String;
lrc:Dword;
vCom:String;
hComm:THandle;
begin
vCom:=INI_LOAD_STR2(vPath '\' 'POS.INI', 'POS','COMPORT','COM1'); hComm:=CreateFile(PChar(vCom),Generic_Read OR Generic_Write, 0, nil, OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL, 0);
if hComm = INVALID_HANDLE_VALUE then
begin
Showmessage('RS-232開啟錯誤');
CloseHandle(hcomm);
exit; end;
GetCommState(hComm,cb);//
cb.BaudRate:=CBR_9600;//設定鮑率為9600
cb.ByteSize:=8;//設定為8bit
cb.Parity:=EVENPARITY;//設定為偶同位
cb.StopBits:=ONESTOPBIT;//設定一個停止位元
//*設定通訊埠*/ if Not SetCommState(hComm,cb) then
begin
Showmessage('SetCommState 失敗');
CloseHandle(hcomm);
exit;
end
else
begin
CloseHandle(hcomm); end;
end; 山即是我 我即是山
------
學了這麼久還是沒進步 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |