Private Declare Function GetSystemDirectory Lib "kernel32" Alias "GetSystemDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As LongPrivate Sub Form_Load()
    Dim sSave As String, Ret As Long
    sSave = Space(255)
    Ret = GetSystemDirectory(sSave, 255)
    sSave = Left$(sSave, Ret) //这句是什么意思?
    MsgBox "Windows System directory: " + sSave
End Sub

解决方案 »

  1.   

    Ret=GetSystemDirectory(sSave, 255)
    该语句是返回系统目录,并将返回的系统目录存储在sSave中,如果路径长度不满255个字节则用空格填充。Ret代表了路径字符串中除了填充的空格之外的长度。所以再使用Left$语句将sSave中的多余空格删除。left就是从第一个参数(字符串)左侧取第二个参数(整型)个字符返回。
      

  2.   

    Left 函数
          返回 Variant (String),其中包含字符串中从左边算起指定数量的字符。语法Left(string, length)Left 函数的语法有下面的命名参数:部分 说明 
    string 必要参数。字符串表达式其中最左边的那些字符将被返回。如果 string 包含 Null,将返回 Null。 
    length 必要参数;为 Variant (Long)。数值表达式,指出将返回多少个字符。如果为 0,返回零长度字符串 ("")。如果大于或等于 string 的字符数,则返回整个字符串。 
    说明欲知 string 的字符数,使用 Len 函数。注意    LeftB 函数作用于包含在字符串中的字节数据。所以 length 指定的是字节数,而不是要返回的字符数。
      

  3.   

    你上面的程序段的功能就是获得操作系统的System目录的路径。
    由于sSave = Space(255),给定的空间是足够的,返回后得截一下(用Left函数)。
      

  4.   

    用left函数可以实现字幕的滚动呀
      

  5.   

    用Left$和用left没有什么大的区别,速度要比left稍快一些(不过,只处理一次的话,就无所谓了)