none
VB中的疑問 RRS feed

  • 問題

  •  Public Function Address_Hex(ByVal Address As Short, ByVal Item As Short, Optional ByVal Write_Text_Decode_Str As String = "", Optional ByVal Bit_Word_Sc As Boolean = False, Optional ByVal Write_Read_Sc As Boolean = False) As String
            Dim Item_Num, Add_H, Add_L, Address_Hex_Temp As String
            If (Address > 0) And IsNumeric(Address) And IsNumeric(Item) And Item > 0 Then
                Add_H = Format_Type(Hex(Address), 4)
                Add_L = "00"
                If Bit_Word_Sc Then 'BIT 格式
                    If Item > 100 Then
                        Address_Hex = ""
                        MsgBox("To Many FINS Bit Item" & Chr(13) & "Item = 1~100")
                        Exit Function
                    End If
    想請問  Address_Hex = ""  這段話是指什麼意思  把整個FUNCTION裡面的值 全部變成空值 ????? 是嗎????
    2011年11月2日 上午 05:59

解答

  • 安你好

    Address_Hex = " "

    你可以把它當作

    return ""

    照你PO的程式來看就是參數 Item >100

      If Item > 100 Then

    回傳 空字串


    • 已提議為解答 阿尼 2011年11月2日 上午 07:22
    • 已標示為解答 Louis Seven 2011年11月2日 上午 07:23
    2011年11月2日 上午 06:51

所有回覆

  • 把滑鼠移到 Address_Hex = "" 的 Address_Hex 上,然後按滑鼠右鍵,選擇 [尋找所有參考]

    然後去看一下有哪些變數或 function 的名字叫做 Address_Hex


    歡迎參觀我的Blog.NET菜鳥自救會


    2011年11月2日 上午 06:07
    版主
  • 只有這個  Public Function Address_Hex ㄋ 

    但其他地方是這樣用他的  Address_Hex(Code_Address, Code_Item, Code_Write_text,  , True)  ~ 


     

    我用C#來看的話,Address_Hex 會將這些數值丟到Address_Hex以下這個function , 但我不明白的是 為何這段語法可以這樣用,請指教

        Address_Hex = " "  ~ 把整個FUNCTION裡面的值 全部變成空值 ????? 


     public string Address_Hex(short Address, short Item, string Write_Text_Decode_Str = ""Boolean Bit_Word_Sc = falseBoolean Write_Read_Sc =false)
           {


    2011年11月2日 上午 06:25
  • 安你好

    Address_Hex = " "

    你可以把它當作

    return ""

    照你PO的程式來看就是參數 Item >100

      If Item > 100 Then

    回傳 空字串


    • 已提議為解答 阿尼 2011年11月2日 上午 07:22
    • 已標示為解答 Louis Seven 2011年11月2日 上午 07:23
    2011年11月2日 上午 06:51
  • 實際跑一次那個function就知道了 :)
    coding or not
    2011年11月2日 上午 07:09
  • 看起來像是如此 非常感謝 ~ 
    2011年11月2日 上午 07:24
  • 安你好

    補充一下

    通常使用類似

     Address_Hex = ""
     MsgBox("To Many FINS Bit Item" & Chr(13) & "Item = 1~100")
    是因為當你設定 Address_Hex = "" 而不是 return "" 是因為在函數內還有需要執行的程式
    以你的例子 就是出一個訊息  MsgBox("To Many FINS Bit Item" & Chr(13) & "Item = 1~100")
    當今天直接 return "" 就會直接離開 函數 並回傳 ""
    固還會有這一行程式  Exit Function

    2011年11月2日 上午 07:34
  • 函數名本身是一個變數。

    早期 basic 程式 return 只有返回,沒有返回值,所以 VB6 以前都要用函數名來儲存返回值。

    VBNET 以後兩者皆可用,建議用 Return ,但是有時因為命名空間問題,加上後面還有程式碼要跑時,就會回頭用函數名這個變數空間來儲存返回值。


    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    2011年11月2日 下午 01:56
  • 謝謝你 .... 因為一開始是接觸c#  對於vb跟vb6.0的語法結構不甚熟悉  多謝各位的解答 讓我獲益良多
    2011年11月3日 上午 01:21