線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2608
推到 Plurk!
推到 Facebook!

可以幫忙翻譯vb轉bcb code嗎?

尚未結案
harvey30438
一般會員


發表:2
回覆:5
積分:1
註冊:2004-12-15

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-12-16 01:57:14 IP:221.169.xxx.xxx 未訂閱
'USBHID.DLL '有四個api 'opendevice : 開始與HID裝置通訊 'Writedevice : 傳送資料到HID裝置 'Readdevice : 從HID裝置接收資料 'closedevice : 結束與HID裝置通訊 Public hid As New HIDUSB Const MyVendorID = &H1234        ; 販售商VID碼 Const MyProductID = &H5678        ; 產品PID碼 Dim Timeout As Boolean    Private Sub Command1_Click() Dim hiddevice As Boolean Dim send(7) As Byte        Dim recevice() As String hiddevice = hid.opendevice(MyVendorID, MyProductID) ; 判斷是否含有HID裝置 Text1.Text = hiddevice        If hiddevice = True Then    send(0) = Val("&H" + Text2.Text)        ; 如果含有人工界面裝置,就送出一個位元組資料 hid.Writedevice send()        Timeout = False Timer1.Enabled = True        Timer1.Interval = 50        Do DoEvents Loop Until Timeout = True recevice() = hid.Readdevice    ' 接收一個位元組資料 Text3.Text = recevice(0) End If        hid.closedevice    End Sub        Private Sub text2_KeyPress(KeyAscii As Integer) If (Chr$(KeyAscii) Like "[!A-Fa-f0-9]") Then KeyAscii = 0 End Sub Private Sub timer1_Timer() Timeout = True Timer1.Enabled = False End Sub    發表人 - harvey30438 於 2004/12/16 02:06:21
李國維
高階會員


發表:42
回覆:287
積分:235
註冊:2003-02-07

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-12-16 11:23:35 IP:219.84.xxx.xxx 未訂閱
harvey30438
一般會員


發表:2
回覆:5
積分:1
註冊:2004-12-15

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-12-16 20:11:40 IP:221.169.xxx.xxx 未訂閱
抱歉..不過我有幾個地方還是不太懂ㄟ Public hid As New HIDUSB ^^^^^^^^^^^^^^^^^^^^^^^^^這樣的宣告是什麼意思阿 Const MyVendorID = &H1234 ; 販售商VID碼 Const MyProductID = &H5678 ; 產品PID碼 Dim Timeout As Boolean Private Sub Command1_Click() Dim hiddevice As Boolean Dim send(7) As Byte Dim recevice() As String hiddevice = hid.opendevice(MyVendorID, MyProductID) ; 判斷是否含有HID裝置        ^^^^^^^^^^^^^^^這樣的呼叫方式在bcb要怎麼呼叫.. Text1.Text = hiddevice If hiddevice = True Then send(0) = Val("&H" + Text2.Text) ; 如果含有人工界面裝置,就送出一個位元組資料 hid.Writedevice send() //send()裡沒有給數字可以使用?? Timeout = False Timer1.Enabled = True Timer1.Interval = 50 Do DoEvents //這在bcb該怎麼使用 Loop Until Timeout = True recevice() = hid.Readdevice ' 接收一個位元組資料 ^^^^^^^^^^我真的搞不懂沒加數字跟有加數字的差別 Text3.Text = recevice(0) End If hid.closedevice End Sub 各位大大真抱歉...vb的語法真的看不懂@@ 最近一值在爬有關use控制的文章 不過越爬越頭痛=.= 感覺好複雜阿/_id=red>id=black>    發表人 - harvey30438 於 2004/12/16 20:13:42
李國維
高階會員


發表:42
回覆:287
積分:235
註冊:2003-02-07

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-12-17 10:18:02 IP:219.84.xxx.xxx 未訂閱
harvey30438: 1. Public hid As New HIDUSB.就是指 在Public中宣告一各HIDUSB類型的hid指標. 2. hiddevice = hid.opendevice(MyVendorID, MyProductID) ; ^^^^^^^^^^^^^^^這樣的呼叫方式在bcb要怎麼呼叫.. 如過沒錯ㄉ話 opendevice應該是USBHID.DLL中的函式. 所以說你要先利用我前一篇所提供的文章. 將DLL的函數指標建立好.這樣才可以直接只用. 3. VB中的DoEvents它的作用是轉讓控制權,以便操作系統處理事件. 在BCB中你可以使用 Application->ProcessMessages()來達到一樣的效果 4.建議有空去翻翻VB的書.其實VB語法蠻簡單.這樣的話你在做轉換會比較輕鬆    發表人 - 李國維 於 2004/12/17 10:28:33
無故障
一般會員


發表:17
回覆:69
積分:17
註冊:2004-03-11

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-12-17 17:32:44 IP:61.221.xxx.xxx 未訂閱
隨便翻,供參考 ^_^    
id=code>
id=code> 應該有問題嗎.... ^_^ 練習! 練習! 再練習!
------
嘿嘿嘿
ddy
站務副站長


發表:262
回覆:2104
積分:1169
註冊:2002-07-13

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-12-17 18:50:18 IP:202.145.xxx.xxx 未訂閱
harvey30438 您好 程式碼請縮排,敬請配合,詳請參考 【公告】程式碼張貼規則與方法 loadfile.php?TOPICID=8147403&CC=182217loadfile.php?TOPICID=9187189&CC=205471
harvey30438
一般會員


發表:2
回覆:5
積分:1
註冊:2004-12-15

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-12-18 00:13:48 IP:221.169.xxx.xxx 未訂閱
引言: harvey30438: 1. Public hid As New HIDUSB.就是指 在Public中宣告一各HIDUSB類型的hid指標. 2. hiddevice = hid.opendevice(MyVendorID, MyProductID) ; ^^^^^^^^^^^^^^^這樣的呼叫方式在bcb要怎麼呼叫.. 如過沒錯ㄉ話 opendevice應該是USBHID.DLL中的函式. 所以說你要先利用我前一篇所提供的文章. 將DLL的函數指標建立好.這樣才可以直接只用. 3. VB中的DoEvents它的作用是轉讓控制權,以便操作系統處理事件. 在BCB中你可以使用 Application->ProcessMessages()來達到一樣的效果 4.建議有空去翻翻VB的書.其實VB語法蠻簡單.這樣的話你在做轉換會比較輕鬆    發表人 - 李國維 於 2004/12/17 10:28:33
id=quote>id=quote> 真的很感激~~ 謝謝你的指導囉^^ 看來我還有得學勒^^"
harvey30438
一般會員


發表:2
回覆:5
積分:1
註冊:2004-12-15

發送簡訊給我
#8 引用回覆 回覆 發表時間:2004-12-18 00:15:10 IP:221.169.xxx.xxx 未訂閱
引言: harvey30438 您好 程式碼請縮排,敬請配合,詳請參考 【公告】程式碼張貼規則與方法 loadfile.php?TOPICID=8147403&CC=182217loadfile.php?TOPICID=9187189&CC=205471
id=quote>id=quote> 抱歉..原來你所謂的縮排是這個意思^^" 以後會注意icon_smile_tongue.gif
harvey30438
一般會員


發表:2
回覆:5
積分:1
註冊:2004-12-15

發送簡訊給我
#9 引用回覆 回覆 發表時間:2004-12-19 04:28:16 IP:221.169.xxx.xxx 未訂閱
id=code>
id=code> 發表人 - harvey30438 於 2004/12/19 04:29:15
李國維
高階會員


發表:42
回覆:287
積分:235
註冊:2003-02-07

發送簡訊給我
#10 引用回覆 回覆 發表時間:2004-12-19 20:18:11 IP:218.167.xxx.xxx 未訂閱
harvey30438: 1.你試試看把const改成long extern "C" __declspec(dllimport) void __stdcall opendevice(long MyVendorID,long MyProductID); bool (*openhid)(long ,long ); 2.你把中斷點設在下面這一行,看看hid的值是不是NULL. HINSTANCE hid=LoadLibrary("USB_HID.dll");    
系統時間:2016-04-30 05:35:03,  線上使用者 287 / Max 683,主題數:100,192,回覆數:222,116。 
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!