vb6转换vb.net
vb.net吧
全部回复
仅看楼主
level 3
lyangl210152 楼主
vb6转换成vb.net 其中 gosub 。。。 return 语句不可用。请问,vb.net中要实现一样的效果怎么修改。
下面是部分代码
If Dir(w_IniFileNm) <> "" Then Kill w_IniFileNm
DoEvents
Call Sleep(3000)
GoSub SUB_IniOut1
For j = 1 To 10
GoSub SUB_FielNmGet
GoSub SUB_IniFileSet
ReDim w_JnlFL(0)
DoEvents
Next
GoSub SUB_IniOut2
FncJnlDateIdxWrite = "OK"
DoEvents
Call Sleep(2000)
Exit Function
*--------------------------------
SUB_IniOut1:
DoEvents
rcd = FncComIniWrite(w_IniFileNm, _
"MAKE_DATE_SECTION", _
"SAKUSEIBI", _
Format(Now, "YYYYMMDD") & Format(Now, "HHNNSS"))
If rcd <> 0 Then
W_MsgStr = Chr(10) & "SUB_IniFileOut:レコードの书込みに失败(SUO6640.ini)"
GoTo ERR_PROC
End If
w_DateFrom = W_From
rcd = FncComIniWrite(w_IniFileNm, _
"MAKE_DATE_SECTION", _
"YOKYU_HANI_FROM", _
w_DateFrom)
w_DateFrom = ""
If rcd <> 0 Then
W_MsgStr = Chr(10) & "SUB_IniFileOut:レコードの书込みに失败(SUO6640.ini)"
GoTo ERR_PROC
End If
w_DateTo = W_To
rcd = FncComIniWrite(w_IniFileNm, _
"MAKE_DATE_SECTION", _
"YOKYU_HANI_TO", _
w_DateTo)
w_DateTo = ""
If rcd <> 0 Then
W_MsgStr = Chr(10) & "SUB_IniFileOut:レコードの书込みに失败(SUO6640.ini)"
GoTo ERR_PROC
End If
rcd = FncComIniWrite(w_IniFileNm, _
"STORE_SECTION", _
"STORE_CD", _
W_TenCD)
If rcd <> 0 Then
W_MsgStr = Chr(10) & "SUB_IniFileOut:レコードの书込みに失败(SUO6640.ini)"
GoTo ERR_PROC
End If
rcd = FncComIniWrite(w_IniFileNm, _
"STORE_SECTION", _
"STORE_NM", _
W_TenName)
If rcd <> 0 Then
W_MsgStr = Chr(10) & "SUB_IniFileOut:レコードの书込みに失败(SUO6640.ini)"
GoTo ERR_PROC
End If
rcd = FncComIniWrite(w_IniFileNm, _
"MAKE_FILE_SECTION", _
"FILE_COUNT_ALL", _
W_FileSu) *このセクションが前方にくるように事前に作成しておく。
If rcd <> 0 Then
W_MsgStr = Chr(10) & "SUB_IniFileOut:レコードの书込みに失败(SUO6640.ini)"
GoTo ERR_PROC
End If
Return
SUB_IniOut2:
DoEvents
rcd = FncComIniWrite(w_IniFileNm, _
"EOF_SECTION", _
"END_TIME", _
Format(time, "hhnnss")) *このセクションが终端になるようにする。
If rcd <> 0 Then
W_MsgStr = Chr(10) & "SUB_IniFileOut:レコードの书込みに失败(SUO6640.ini)"
GoTo ERR_PROC
End If
rcd = FncComIniWrite(w_IniFileNm, _
"MAKE_DATE_SECTION", _
"SAKUSEI_HANI_FROM", _
Ini_DateFrom)
If rcd <> 0 Then
W_MsgStr = Chr(10) & "SUB_IniFileOut:レコードの书込みに失败(SUO6640.ini)"
GoTo ERR_PROC
End If
rcd = FncComIniWrite(w_IniFileNm, _
"MAKE_DATE_SECTION", _
"SAKUSEI_HANI_TO", _
Ini_DateTo)
If rcd <> 0 Then
W_MsgStr = Chr(10) & "SUB_IniFileOut:レコードの书込みに失败(SUO6640.ini)"
GoTo ERR_PROC
End If
rcd = FncComIniWrite(w_IniFileNm, _
"MAKE_FILE_SECTION", _
"FILE_COUNT_ALL", _
W_FileSu)
If rcd <> 0 Then
W_MsgStr = Chr(10) & "SUB_IniFileOut:レコードの书込みに失败(SUO6640.ini)"
GoTo ERR_PROC
End If
rcd = FncComIniWrite(w_IniFileNm, _
"MAKE_FILE_SECTION", _
"FILE_SIZE_ALL", _
W_BiteSu)
If rcd <> 0 Then
W_MsgStr = Chr(10) & "SUB_IniFileOut:レコードの书込みに失败(SUO6640.ini)"
GoTo ERR_PROC
End If
Return
2014年09月23日 07点09分 1
level 12
把gosub改成goto
2014年09月23日 13点09分 2
level 12
return可以啊
2014年09月23日 13点09分 3
level 13
vb6有return ?
2014年09月23日 23点09分 4
查了一下,vb6的return用法比较特殊。建议把gosub和return之间的部分提取为新的方法
2014年09月23日 23点09分
或者用goto改写gosub和return
2014年09月23日 23点09分
level 3
lyangl210152 楼主
goto不行,goto进去方法后直接就跳出去了,就不回去了。gosub。。。return 是还会回到原来的代码。看来只能重新写成新的Function了。谢谢大家啦
2014年09月24日 01点09分 5
你自己加个新的标签在gosub后面就能用goto模拟return
2014年09月25日 02点09分
你自己加个新的标签在gosub后面就能用goto模拟return
2014年09月25日 02点09分
gosub在vb.net是不可用的啊。我新家一个标签到后面,那goto走完第一个标签以后也是无法走到下一个标签啊。我现在就是想实现走了第一个标签还能走第二个。谢谢啦
2014年09月25日 08点09分
level 11
vbnet可以用return,和c++用法相似。比如说6里面private function a(byval b as integer)返回要用a=x。当然net里也可以用同样的方法,但可以更简单,return x即可。
2014年10月03日 12点10分 6
1