したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |

■■■20レス以内で済むF-BASICの質問はこちらへ■■■

617598:2015/10/24(土) 06:36:18
>>616 の続きです。

declare function TEST1_CBIT(V as long,B as long) as long
function TEST1_CBIT(V as long,B as long) as long
var I as long,J as long
TEST1_CBIT=V
if B=0 then error 5:exit function
if B<0 then error 11:exit function '未実装
I=B :J=1
do while (I mod 2 = 0)
J=J * 2 : I=I \ 2
loop
TEST1_CBIT=(V and B) \ J
if ((V and B) mod J) <> 0 then error 21
end function

declare sub TEST1_GetState()
sub TEST1_GETSTATE()

var RES as long
var hfile as long
var DCB as T_DCB
var F as long

HFILE=INVALID_HANDLE_VALUE
HFILE = CREATEFILE("COM1", (GENERIC_READ or GENERIC_WRITE), 0, NULL, OPEN_EXISTING, 0, NULL)
if HFILE= INVALID_HANDLE_VALUE then print "Error:open失敗":exit sub

RES=GetCommState(hfile, DCB)
if RES=0 then
print "Error:GetCommState"
RES=CLOSEHANDLE(HFILE)
else
RES=CLOSEHANDLE(HFILE)

if DCB.DCBLENGTH<>len(T_DCB) then print "!!DCBlength(hex)=";DCB.DCBLENGTH
'**取得結果の表示**
F=DCB.FBITFIELDS '*bit分解必要
print "fBitFields(16進数)=";hex$(DCB.FBITFIELDS)
print "fOutxCtsFlow=";TEST1_CBIT(F, FOUTXCTSFLOW)
print "fOutxDsrFlow=";TEST1_CBIT(F, FOUTXDSRFLOW)
print "fDtrControl=";TEST1_CBIT(F, FDTRCONTROL);"(DTR フロー制御タイプ:0..2)"
print "fDsrSensitivity=";TEST1_CBIT(F, FDSRSENSITIVITY)
print "fErrorChar=";TEST1_CBIT(F, FERRORCHAR) ;"(エラー時文字置き換える)"
print "fNull=";TEST1_CBIT(F, fnULL) ;" (NULL BYTES 受信を破棄する=1)"
print "fRtsControl=";TEST1_CBIT(F, FRTSCONTROL) ;" (RTS フロー制御:0..3)"
print "fAbortOnError=";TEST1_CBIT(F, FABORTONERROR)
print
print "ByteSize=";DCB.BYTESIZE
print "StopBits=";DCB.STOPBITS ;" (stopビット:0=1,1=1.5,2)"
print "ErrorChar(16進)=";hex$(DCB.ERRORCHAR)
print "EofChar(16進)=";hex$(DCB.EOFCHAR)
print "EvtChar(16進)=";hex$(DCB.EVTCHAR)
endif
end sub

'-----
TEST1_GETSTATE '←取得処理の実行
print "終了します。なにかキーを押してください。"
while inkey$="":wend
end


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板