none
請問VB6中comm控制項無法傳送大於128的ASCII字元碼,要如何解決? RRS feed

  • 問題

  •  

    請問VB6中comm控制項無法傳送大於128的ASCII字元碼,要如何解決呢? WINDOWS CE中有 WriteFileL這個API可以解決此問題?請問VB6中要用那一個API呢?
    2007年9月11日 下午 03:41

解答

所有回覆

  • 2007年9月11日 下午 04:12
    版主
  • 請教MScomm漏接資料及不能收0x80~0xFF的資料, 這篇文章我昨天有看過,他問的是不能接收0x80~0xFF的資料,可是我想要的是由VB6的COMM控制項"傳送"出0x80~0xFF的資料到8051 MCU 的COM埠,我也看過你網路上的文章http://tlcheng.twbbs.org/TLCheng/WinAPI/winapi.asp?action=Latter&Latter=W,我試過WRITEFILE API,不過用途好像是不同,無法達到此功能。我前一陣子在網站上看到很多你的文章,也從你的文章上得到很多資訊,在台灣很少有人像你這樣子,可以把你所學的專長分享給大家,通常在網路上只能問到一些平常的問題,一些比較技術的問題通常沒有人知道,或是有人知道可是他們也不想告訴別人?請問你有出程式設計的書嗎?可以介紹給我嗎?

    2007年9月12日 下午 03:03
  • 璉璉:謝謝你的指導,我剛試出來了,原來你就是你說的這篇文章的方法。感恩!感恩!

    2007年9月12日 下午 03:32
  • 收發的原因都是 Unicode 轉 ANSI 的問題。你即使改用 API 也有相同的問題,字碼轉換成 Byte 一樣,就不用繞遠路了。

     

    發的部分線上手冊也有說到,請注意下方被我標記為紅色的段落:

    mkAngryMSITStore:C:\Program%20Files\Microsoft%20Visual%20Studio\MSDN98\98VS\1028\comm98.chm::/html/vbprooutput_comm.htm

    Output 屬性

    將資料流寫入傳輸暫存區。該屬性在設計階段無法使用,在執行時間為唯讀。

    語法

    object.Output [ = value ]

    Output 屬性語法包括下列單元:

    單元 說明
    Object 物件運算式,其值為「適用於」清單中的某個物件。
    Value 要寫到傳輸暫存區中的一個字串。

    請注意

    Output 屬性可以傳輸文字資料或二進位資料。用 Output 屬性傳輸文字資料,必須指定一個包含一個字串的 Variant。傳送二進位資料,必須傳遞一個包含一個位元組陣列的 Variant Output 屬性。

    正常情況下,如果傳送一個 ANSI 字串到應用程式,可以以文字資料的型式來傳送。如果傳送的資料包含嵌入控制字元、Null 字元等等的資料,則要以二進位型式傳送。

    資料型態

    Variant

    2007年9月12日 下午 04:05
    版主