開発環境:Visual Basic .Net 2003
こんばんは、MABと申します。
初心者過ぎる質問で恐縮なのですが
よろしいでしょうか。
現在、OpenFileDialogを使用して、ダイアログでユーザーが選択したファイル名をリストにし、それをバイナリでファイルに保存する処理をするプログラムを制作しているのですが、Open.ShowDialog()関数を実行すると
保存がうまくいきません。
※変数には、ファイルパスの名称が正常に代入されております。
尚、OpenFileDialogではなく、ForlderBrowserだとうまくいきます。
保存する箇所のソースは下記の様な感じとなっております。
FilePathに、OpenFileDaialogの結果の値が入っております。
FileOpen(1, "back.data", OpenMode.Binary)
FilePut(1, FilePath)
FileClose(1)
お手数ですが、お教えいただけますと幸いです。
> Open.ShowDialog()
私は超能力者ではないので、ある程度の想像しかできませんが、
これは、OpenFileDialog のインスタンスでしょうか?
> 尚、OpenFileDialogではなく、ForlderBrowserだとうまくいきます。
OpenFileDialog.FileName と FolderBrowserDialog.SelectedPath に相違があるからでしょう。
検証すべき場所は検証するようにしましょう。
してあるのであれば、最初に書くハズです。
説明不足で申し訳ございません。
>これは、OpenFileDialog のインスタンスでしょうか?
はい、おっしゃるとおりです。
>OpenFileDialog.FileName と FolderBrowserDialog.SelectedPath に相違が>あるからでしょう。
>検証すべき場所は検証するようにしましょう。
>してあるのであれば、最初に書くハズです。
申し訳ございません。
ある程度の検証はしたのですが、全く記載しておりませんでした。
OpenFileDialog.FileNameは使用せずに、FolderBrowserDialog.SelectedPathの値を代入しても同様の結果になってしまいます。
要するに下記、二点の代入のどっちを選んでも、同様の結果となってしまいます。
・FileName=OpenFileDialog.FileName
・FileName=FolderBrowserDialog.SelectedPath
また
・FileName="C:\画像"
などの代入でも不可能となってしまいます。
ただし、Open.ShowDialog()の記述を消せば、正常に保存されます。
伝える能力が乏しく、申し訳ございませんが
お手数ですが、ご教授頂けますと幸いです。
> OpenFileDialog.FileNameは使用せずに、
> FolderBrowserDialog.SelectedPathの値を代入しても同様の結果になってしまいます。
[↓] これは何だったのですか?
> > > 尚、OpenFileDialogではなく、ForlderBrowserだとうまくいきます。
> FileOpen(1, "back.data", OpenMode.Binary)
> FilePut(1, FilePath)
> FileClose(1)
とりあえず、ファイル番号決めうちはまずいでしょう。
ためしに、StreamWriter でやってみてください。
.NET では通常、System.IO.StreamWriter でやりますから。
ツイート | ![]() |