请大家帮我仔细解释一下这段语句哈   directionchang是定义的函数 Index,buff() Tbuf()是定义的变量
FileNum = FreeFile
file = "c:\data\Bak" + Mid(Str(Index), 2, 1) + Mid(Str(directionchang(Chr(buff(5)))), 2, 1)
Kill (file)
Open file For Binary As #FileNum
Put #FileNum, , Tbuf
Close #FileNum

解决方案 »

  1.   

    '获得一个没有使用的文件号
    FileNum = FreeFile
    '获得文件名
    file = "c:\data\Bak" + Mid(Str(Index), 2, 1) + Mid(Str(directionchang(Chr(buff(5)))), 2, 1)
    '删除这个文件
    Kill (file)
    '新建一个文件名为file的文件,并且这个文件的操作句柄是FileNum
    Open file For Binary As #FileNum
    '将Tbuf的内容写入文件
    Put #FileNum, , Tbuf
    '关闭文件
    Close #FileNum
      

  2.   

    Mid(Str(Index), 2, 1) 再帮我解释一下Mid 和 Str的用法
      

  3.   

    Str是个数组
    Mid函数 返回索引 返回 Variant (String),其中包含字符串中指定数量的字符。语法Mid(string, start[, length])Mid 函数的语法具有下面的命名参数:部分 说明 
    string 必要参数。字符串表达式,从中返回字符。如果 string 包含 Null,将返回 Null。 
    start 必要参数。为 Long。string 中被取出部分的字符位置。如果 start 超过 string 的字符数,Mid 返回零长度字符串 ("")。 
    length 可选参数;为 Variant (Long)。要返回的字符数。如果省略或 length 超过文本的字符数(包括 start 处的字符),将返回字符串中从 start 到尾端的所有字符。 
    说明欲知 string 的字符数,可用 Len 函数。注意   MidB 函数作用于字符串中包含的字节数据,如同在双字节字符集(DBCS)语言中一样。因此其参数指定的是字节数,而不是字符数。对于使用 MidB的示例代码,请参阅示例主题中的第二个示例。
      

  4.   

    关键是这句
    file = "c:\data\Bak" + Mid(Str(Index), 2, 1) + Mid(Str(directionchang(Chr(buff(5)))), 2, 1)实际上是要得到一个后缀数字作为文件名。因为用 Str 函数将数字转为字符串时,会有前导空格或负号,所以他要 Mid(x, 2, 1)。实际上用 CStr 函数就可以省一点:
    file = "c:\data\Bak" & Left(CStr(Index), 1) & CStr(directionchang(Chr(buff(5))))
      

  5.   

    这个是我们经理原来编的,我现在要把他用C#重新编一次,原来没有学过vb
    多谢了哈