開いているファイルのフルパスからの切り出し

返信する


答えを正確に入力してください。答えられるかどうかでスパムボットか否かを判定します。

BBCode: ON
[img]: ON
[url]: ON
スマイリー: OFF

トピックのレビュー
   

展開ビュー トピックのレビュー: 開いているファイルのフルパスからの切り出し

by Ryo » 2006年7月02日(日) 18:10

すみません、free ( FileName )の前にfree ( FullPath )が抜けてました。

by Ryo » 2006年7月02日(日) 18:07

コード: 全て選択

    Sub MainWnd_Create ( ByRef CreateStruct As CREATESTRUCT )
        Dim FullPath As BytePtr
        Dim NameByte As Integer
        Dim FileName As BytePtr
        FullPath = malloc ( 24 )
        lstrcpy ( FullPath , "C:\WINDOWS\explorer.exe" )
        NameByte = GetFileTitle ( FullPath , FileName , 0 )
        FileName = malloc ( NameByte )
        GetFileTitle ( FullPath , FileName , NameByte )
        SetWindowText ( hMainWnd , FileName )
        free ( FileName )
    End Sub
こんな感じでどうでしょうか?

#この処理を関数化しようと試みましたが上手くいきませんでした。
#String型でなら関数化出来たんですがString型は嫌いなので・・・。

by 雷電 » 2006年7月02日(日) 12:09

私的には、GetFileTitle関数のパラメータ指定が間違っているとしか思いようがありません。
しかし、どこが間違っているのやら・・・さっぱり。
探してみます。

by ゲスト » 2006年7月01日(土) 23:33

セットウィンドウテキスト

by 雷電 » 2006年7月01日(土) 14:39

できましたが、ウィンドウのタイトルバーには文字列が表示されません。
何故でしょう?

by Toshi » 2006年7月01日(土) 14:28

そのような場合なら

コード: 全て選択


Dim FILEPATH[MAX_PATH-1] As Byte

です。ポインタではなく文字列そのものを格納するバッファが必要になります。

by 雷電 » 2006年7月01日(土) 14:25

使ってみましたが、うまくいきません、
作ったコードに間違いがあるのでしょうか?

コード: 全て選択

Dim FILEPATH[MAX_PATH-1] As BytePtr
Dim FULL As BytePtr

GetFileTitle(FULL,FILEPATH,MAX_PATH)
SetWindowText( hMainWnd, FILEPATH)

Re: 開いているファイルのフルパスからの切り出し

by Tomorrow » 2006年6月30日(金) 14:33

> ファイルパスをフルパスからファイル名だけを取り出そうとして悩んでいます。
Win32APIのGetFileTitle()を使ってはみてはどうでしょう?

http://www.activebasic.com/help_center/ ... eTitle.htm

by 雷電 » 2006年6月29日(木) 22:53

質問の大事なところに答えるのを忘れていましたね。
その開いているファイルのあるフォルダです。

by 雷電 » 2006年6月29日(木) 22:52

コード: 全て選択

Dim i As Long

i=lstrlen(File)-1
Do
    If File=Asc("\") Then
          File=0
          Exit Do
    End If
    i=i-1
    If i<0 Then Exit Do
Loop

こういうことです。
しかしこれはフォルダのパスを作るものなので、できません

by Toshi » 2006年6月29日(木) 22:40

フルパスからファイル名の部分だけを切り出すと、「何が」フォルダのパスになってしまうのでしょうか?
そこが質問の大事なところだと思うので...

開いているファイルのフルパスからの切り出し

by 雷電 » 2006年6月29日(木) 22:24

ファイルパスをフルパスからファイル名だけを取り出そうとして悩んでいます。
フルパスからファイル名は切り出せるんですけど、切り出してしまうと、フォルダのパスになってしまいます。
どうにかならないものなのでしょうか?

ページトップ