Thread View: fj.lang.visualbasic
9 messages
9 total messages
Started by System
Wed, 01 Apr 1998 00:00
ロングファイル名への変換
Author: System
Date: Wed, 01 Apr 1998 00:00
Date: Wed, 01 Apr 1998 00:00
11 lines
1188 bytes
1188 bytes
こんにちは。VB5で開発しています。
さて、ロングファイル名の取得で、
Declare Function GetFullPathName Lib "kernel32" Alias "GetFullPathNameA" _
(ByVal lpFileName As String, ByVal nBufferLength As Long, _
ByVal lpBuffer As String, ByVal lpFilePart As String) As Long
を、使ってみようとおもうのですが、どうもうまくいきません。
どなたか、アドバイスお願いいたします。
Re: ロングファイル名への変換
Author: Masahiro IZUHARA
Date: Thu, 02 Apr 1998 00:00
Date: Thu, 02 Apr 1998 00:00
11 lines
1271 bytes
1271 bytes
In article <6ftnd0$r9b$2@news3.osk.3web.ne.jp>, system@tksoft.office.ne.jp
says...
>Declare Function GetFullPathName Lib "kernel32" Alias "GetFullPathNameA" _
> (ByVal lpFileName As String, ByVal nBufferLength As Long, _
> ByVal lpBuffer As String, ByVal lpFilePart As String) As Long
最後の引数を「lpFilePart As long」にすれば動きます。
--
出原 正裕
izuha@hitachi-ns.co.jp/izuha@ba2.so-net.or.jp
Re: ロングファイル名への変換
Author: System
Date: Sat, 04 Apr 1998 00:00
Date: Sat, 04 Apr 1998 00:00
10 lines
1317 bytes
1317 bytes
|>Declare Function GetFullPathName Lib "kernel32" Alias "GetFullPathNameA" _ |> (ByVal lpFileName As String, ByVal nBufferLength As Long, _ |> ByVal lpBuffer As String, ByVal lpFilePart As String) As Long |最後の引数を「lpFilePart As long」にすれば動きます。 | lpFilePart As long にしたのですが、だめでした。どうやら、値の送り方が間違っ ているのでかもしれません。すみませんが、サンプルを書いてはくださらないでしょ うか。
Re: ロングファイル名への変換
Author: Masahiro IZUHARA
Date: Mon, 06 Apr 1998 00:00
Date: Mon, 06 Apr 1998 00:00
15 lines
1573 bytes
1573 bytes
fj.os.ms-windows.programmingはFollowup-To:より削ります。
In article <6g5ek4$2os$2@news3.osk.3web.ne.jp>, system@tksoft.office.ne.jp
says...
>lpFilePart As long にしたのですが、だめでした。どうやら、値の送り方が間違っ
>ているのでかもしれません。すみませんが、サンプルを書いてはくださらないでしょ
>うか。
どう「だめだった」んでしょうか。
「GetFullPathName()のコールが実行時エラーになった」とか、「コールは
できたけど値が正しく取得できない」とか書いてもらわないと...
--
出原 正裕
izuha@hitachi-ns.co.jp/izuha@ba2.so-net.or.jp
Re: ロングファイル名への変換
Author: as you like...
Date: Mon, 06 Apr 1998 00:00
Date: Mon, 06 Apr 1998 00:00
25 lines
1873 bytes
1873 bytes
System <system@tksoft.office.ne.jp> wrote in article
<6g5ek4$2os$2@news3.osk.3web.ne.jp>...
> |>Declare Function GetFullPathName Lib "kernel32" Alias "GetFullPathNameA" _
> |> (ByVal lpFileName As String, ByVal nBufferLength As Long, _
> |> ByVal lpBuffer As String, ByVal lpFilePart As String) As Long
> |最後の引数を「lpFilePart As long」にすれば動きます。
> |
>
> lpFilePart As long にしたのですが、だめでした。どうやら、値の送り方が間違っ
> ているのでかもしれません。すみませんが、サンプルを書いてはくださらないでしょ
> うか。
>
確か、GetFullPathNameでは、ショートファイル名からロングファイル名への変換は
出来なかったと思います。
VCならどうすればいいか分かりますが、VBは僕には分かりません。
NIFTYで、ログファイル名への変換というプロジェクトをやっているらしいのですが、
それが、DLLになっていて、VBからもアクセス出来たと思います。
---
as you like...
e-mail VZY03312@nifty.ne.jp
vzy03312@ha.bekkoame.ne.jp
Re: ロングファイル名への変換
Author: Masahiro IZUHARA
Date: Tue, 07 Apr 1998 00:00
Date: Tue, 07 Apr 1998 00:00
21 lines
1861 bytes
1861 bytes
グループをあっちこっち移動して節操がありませんが、Followup-To:を
fj.os.ms-windows.programmingのみにします。
In article <6gb5qg$oc7$1@fu3.bekkoame.or.jp>, vzy03312@ha.bekkoame.ne.jp
says...
>確か、GetFullPathNameでは、ショートファイル名からロングファイル名への変換は
>出来なかったと思います。
あ、そういう質問だったのね。てっきりGetFullPathNameの使い方が分からない
という質問だと思ってた。(^^;
fjのアーカイブサイトhttp://mitsuko.jaist.ac.jp/fj/ へ行って、今年3月の
fj.os.ms-windows.programmingの記事をサブジェクト「ロングファイル名への変換」
(おお、奇しくも同じサブジェクト)でサーチしてみてくれません?
同じ話題が出ています。
#今読んでいる途中ですが、実現するのは結構大変みたいです。
--
出原 正裕
izuha@hitachi-ns.co.jp/izuha@ba2.so-net.or.jp
Re: ロングファイル名への変換
Author: System
Date: Thu, 09 Apr 1998 00:00
Date: Thu, 09 Apr 1998 00:00
36 lines
1901 bytes
1901 bytes
|>lpFilePart As long にしたのですが、だめでした。どうやら、値の送り方が間
違っ
|>ているのでかもしれません。すみませんが、サンプルを書いてはくださらないで
しょ
|>うか。
|どう「だめだった」んでしょうか。
|「GetFullPathName()のコールが実行時エラーになった」とか、「コールは
|できたけど値が正しく取得できない」とか書いてもらわないと...
Public Function GetLongName(FName As String) As String
Dim IpFileName As String * 255
Dim nBufferLength As Long
Dim IpBuffer As String * 255
Dim IpFilePart As Long
Dim ret As Long
IpFileName = ""
nBufferLength = 50
IpFilePart = 1
IpBuffer = FName
ret = GetFullPathName(IpFileName, nBufferLength, IpBuffer, IpFilePart)
MsgBox IpFileName
MsgBox nBufferLength
MsgBox IpBuffer
MsgBox IpFilePart
End Function
としたのですが、IpBuffer には空っぽの文字列だけでした。
どうもうまくいきません。コールはできたけど正しく取得できません。
よろしくお願いします。
Re: ロングファイル名への変換
Author: 渡邉 一紀
Date: Thu, 09 Apr 1998 00:00
Date: Thu, 09 Apr 1998 00:00
54 lines
2463 bytes
2463 bytes
>Public Function GetLongName(FName As String) As String
>
> Dim IpFileName As String * 255
> Dim nBufferLength As Long
> Dim IpBuffer As String * 255
> Dim IpFilePart As Long
> Dim ret As Long
>
> IpFileName = ""
> nBufferLength = 50
> IpFilePart = 1
> IpBuffer = FName
>
> ret = GetFullPathName(IpFileName, nBufferLength, IpBuffer, IpFilePart)
>
> MsgBox IpFileName
> MsgBox nBufferLength
> MsgBox IpBuffer
> MsgBox IpFilePart
>
>End Function
パラメータが違いますね
下のコードで試してみてください
Declare Function GetFullPathName Lib "kernel32" Alias "GetFullPathNameA"
(ByVal lpFileName As String, ByVal nBufferLength As Long, ByVal lpBuffer As
String, ByVal lpFilePart As String) As Long
Public Function GetLongName(FName As String) As String
Dim IpFileName As String
Dim nBufferLength As Long
Dim IpBuffer As String
Dim IpFilePart As String
Dim ret As Long
IpFileName = FName '対象ファイル
IpBuffer = String$(255,CHR$(0)) 'バッファー初期化
nBufferLength = Len(IpBuffer) 'バッファーサイズ設定
ret = GetFullPathName(IpFileName, nBufferLength, IpBuffer, IpFilePart)
If ret<>0 then
lpBuffer=Left$(lpBuffer,ret)
MsgBox IpFileName
MsgBox nBufferLength
MsgBox IpBuffer
MsgBox IpFilePart
Else
MsgBox "エラー"
End If
End Function
Re: ロングファイル名への変換
Author: System
Date: Sat, 11 Apr 1998 00:00
Date: Sat, 11 Apr 1998 00:00
18 lines
1520 bytes
1520 bytes
|パラメータが違いますね |下のコードで試してみてください | IpFileName = FName '対象ファイル | IpBuffer = String$(255,CHR$(0)) 'バッファー初期化 | nBufferLength = Len(IpBuffer) 'バッファーサイズ設定 | 確かにバッファー初期化と送り先間違ってました。 上記の内容に修正をしてうまく動作するようになりました。 この度はどうもありがとうございました。 複数のディスクを一気に検索するソフト まい ほーむぺーじ : http://www.geocities.co.jp/SiliconValley/4378/ まい めーるあどれす : system@tksoft.office.ne.jp
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads