GetOpenFileNameの選択ファイルのフルパスを文字列化

ActiveBasicでのプログラミングでわからないこと、困ったことなどがあったら、ここで質問してみましょう(質問を行う場合は、過去ログやWeb上であらかじめ問題を整理するようにしましょう☆)。
返信する
メッセージ
作成者
タケヤ

GetOpenFileNameの選択ファイルのフルパスを文字列化

#1 投稿記事 by タケヤ »

初心者です。よろしくお願いします。

ファイルダイアログを表示して、選択ファイルのフルパスを”root.txt”に保存したい!!

If GetOpenFileName(ofn)=0 Then
ExitProcess(0)
End If

MessageBox(0,ofn.lpstrFile,"選択されたファイルのパス",MB_OK)
----------------------------------------------------
ofn.lpstrFileの内容を文字列データとして、root.txt(ファイルの名前)に
保存したい。....?
ofn.lpstrFileの内容文字列化のプログラムの記述をお願いいたします。
たかせ
記事: 215
登録日時: 2006年2月05日(日) 17:10
お住まい: 東京都

Re: GetOpenFileNameの選択ファイルのフルパスを文字列化

#2 投稿記事 by たかせ »

OFN.lpstrFileの内容をそのままファイル(root.txt)に出力してみてください。
以下にサンプルを記載します。

DIM OFN As OPENFILENAME
DIM OFILE[255] AS Char
DIM HFILEO AS HANDLE
DIM DWFILESIZE AS DWord
DIM DWACCESSBYTE AS DWord
ZeroMemory(VarPtr(OFN),Len(OFN))
OFN.lStructSize = Len(OFN)
OFN.hwndOwner = NULL
OFN.lpstrFilter = EX"すべてのファイル(*.*)\0*\0\0"
OFN.nFilterIndex = 1
OFN.lpstrFile = OFILE
OFN.nMaxFile = MAX_PATH
OFN.lpstrInitialDir = NULL
IF GetOpenFileName(OFN) = 0 THEN
MessageBox(NULL,"キャンセルされました。","TEST",MB_OK)
ELSE
HFILEO = CreateFile("root.txt",GENERIC_WRITE,0,BYVAL 0,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,0)
/* ここでフルパスの内容をroot.txtに出力します */
WriteFile(HFILEO,OFN.lpstrFile,lstrlen(OFN.lpstrFile),VarPtr(DWACCESSBYTE),BYVAL 0)
CloseHandle(HFILEO)
MessageBox(NULL,"root.txtに出力しました","TEST",MB_OK)
END IF
END

ためしに上記のソースコードをコンパイルと実行してください。
期待どおりの結果になると思います。
よろしくお願いします。
タケヤ

完璧でした

#3 投稿記事 by タケヤ »

完璧でした。助かりました、ありがとうございます。
またご教授下さいませ。
返信する