VB中DOS文件名與長文件名的轉換

發表于:2007-07-14來源:作者:點擊數: 標簽:
馬 麟 自從進入Win95時代以來,Win95的長文件名給人們帶來了很多方便,但是由于原來的DOS只支持8.3格式,即8個主文件名加上3個擴展名,所以所有Win95的長文件名都有一個DOS名,具體方法為取原長文件名前6位加~num(其中num為現目錄中不重名的序號)?,F在的
馬 麟

  自從進入Win95時代以來,Win95的長文件名給人們帶來了很多方便,但是由于原來的DOS只支持8.3格式,即8個主文件名加上3個擴展名,所以所有Win95的長文件名都有一個DOS名,具體方法為取原長文件名前6位加~num(其中num為現目錄中不重名的序號)?,F在的VB已完全支持了長文件名,但是有一點可能沒有注意到,即當用command()接收從命令行傳來的參數時,如果參數是長文件名,則被強制轉換成為DOS名,即8.3格式文件名。由于這兩種文件名通用,所以一般情況下不會有什么問題。但遇到特殊場合就不行了。有沒有辦法再把8.3格式的文件名轉換為原來的長文件名呢?答案是:可以。
  讓我們編程來回答這個問題:
  首先建立一個窗體,在窗體上加兩個TEXT控件,其中第一個TEXT的TEXT屬性為“顯示命令行參數”,第二個TEXT的TEXT屬性為“顯示轉換后文件名”,再建立一個 commandbutton 控件,其caption屬性為“顯示”,具體原代碼如下:
  ′-------通用,聲明:
  Dim dosfilename As String ′聲明dos 文件名
  Dim longfilename As String ′聲明長文件名
  ′------------
  Private Sub Command1_Click()
  Text1.Text = dosfilename
  Text2.Text = longfilename
  End Sub
  ′--------
  Private Sub Form_Load()
  dosfilename = Command$() ′從命令行取得參數
  longfilename = Dir(dosfilename) ′得到長文件名
  End Sub
  接著生成EXE文件,然后將一個長文件名的文件圖標拖到新生成的EXE文件上去,點擊EXE文件的commandbutton 就可以看到轉換結果了。

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97