入門講座の卒業制作について への返答

投稿で使用できる特殊コードの説明。(別タブで開きます。)
本名は入力しないようにしましょう。
投稿した後で削除するときに使うパスワードです。返答があった後は削除できません。
返答する人が目安にします。相手が小学生か社会人かで返答の仕方も変わります。
最初の投稿が質問の場合、質問者が解決時にチェックしてください。(以降も追加書き込み・返信は可能です。)
※「過去ログ」について書くときはその過去ログのURLも書いてください。

以下の返答は逆順(新しい順)に並んでいます。

投稿者 リスナー  (学生) 投稿日時 2008/12/8 08:09:11
どうもこんばんは。

アドバイス有効に使わせてもらいました。
いつもレスありがとうございます。
今回はレスが遅かったかもしれませんがこれからもよろしくお願いします。
投稿者 neptune  (社会人) 投稿日時 2008/12/5 07:05:25
調べ方を書いておきましょう。

先ず、StreamReaderを使っているのでStreamWriterについて調べなければなりません。
・StreamWriterにカレットをおき、F1を押下。
 検索では「StreamWriter コンストラクタ 」がでました。
・該当するコンストラクタを探します。今回は「StreamWriter(String)」が該当します。
・StreamWriter(String)を見る。→ササッとでも全部に目を通す。
・下の端に「方法 : ファイルにテキストを書き込む」ってのがあった
・見てみる。テキストファイルのサンプルコードがあった。→参考にする
・TextWriterも関係ありそうだなってな事でそれも眺めてみる。
で、テキストファイルへの基本的な書き込み方ははわかる

画像ファイルや、その他形式の違うOffice Word,Excelファイルはそれぞれに保存の仕方が違うので
調べる。

・調べてその方法が判らなければ質問する。


以下引用
    Private Sub btnSave_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSave.Click
        Dim Dialog As New SaveFileDialog

        If Dialog.ShowDialog(Me) = Windows.Forms.DialogResult.OK Then
            Dim Writer As New IO.StreamWriter(Dialog.FileName)

            For Index As Integer = 0 To FullPaths.Count - 1
          ’※肝心の保存処理かいてませんけど。上述のHelpのサンプルが参考になるでしょう。
            Next
            Writer.Close()
        End If
    End Sub
投稿者 リスナー  (学生) 投稿日時 2008/12/5 03:58:23
どうも皆さんこんばんは。
さっそくですが入門講座の卒業制作に関するヘルプです。
環境:VISTA 2005Exp

仕様では画像やテキストファイルを保存し読み込みのできるようになっています。
具体的には3-4-4まで行きました。そこでちょっと問題にさしかかっています。

ドロップで画像ファイルやテキストファイルを右側に表示させることはできます。
説明にもあったとおりワードなどの場合はワードソフトが開かれました。

ところが保存しても空のデータが保存されたことになってしまいます。
読み込みにしてもブラウザは空白のままです。

デスクトップに画像あるいはテキストファイルを保存しようとしたのですが、
それを開こうとすると画像なら「データがありません」と表示されますし、
テキストファイルなら白紙のメモ帳が開かれるだけです。

保存になっていないということなのでしょう。
そのためそれらファイルを開いてもブラウザには表示されません。

3-5以降にはまだ進んでいないのですが、とりあえずここまでのコードは以下のとおりです。

>>Public Class Form1
    Dim FullPaths As New ArrayList


    Private Sub lstFileName_DragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles lstFileName.DragDrop
        Dim FileName As String

        FileName = CType(e.Data.GetData(DataFormats.FileDrop), String())(0)

        FullPaths.Add(FileName)
        lstFileName.Items.Add(IO.Path.GetFileName(FileName))


    End Sub

    Private Sub lstFileName_DragEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles lstFileName.DragEnter

        If e.Data.GetDataPresent(DataFormats.FileDrop) Then
            e.Effect = DragDropEffects.Copy
        Else
            e.Effect = DragDropEffects.None

        End If





    End Sub

    Private Sub lstFileName_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles lstFileName.SelectedIndexChanged
        Dim FullPath As String

        FullPath = FullPaths(lstFileName.SelectedIndex)

        WebBrowser1.Navigate(FullPath)

        Me.Text = Application.ProductName & "-" & FullPath


    End Sub

    Private Sub btnSave_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSave.Click

        Dim Dialog As New SaveFileDialog

        If Dialog.ShowDialog(Me) = Windows.Forms.DialogResult.OK Then
            Dim Writer As New IO.StreamWriter(Dialog.FileName)

            For Index As Integer = 0 To FullPaths.Count - 1
            Next
            Writer.Close()


        End If


    End Sub

    Private Sub btnLoad_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnLoad.Click
        Dim Dialog As New OpenFileDialog

        If Dialog.ShowDialog(Me) = Windows.Forms.DialogResult.OK Then

            Dim Value As String
            Dim Reader As New IO.StreamReader(Dialog.FileName)

            FullPaths.Clear()
            lstFileName.Items.Clear()

            Do
                Value = Reader.ReadLine
                If Value Is Nothing Then

                    Exit Do

                Else
                    FullPaths.Add(Value)
                    lstFileName.Items.Add(IO.Path.GetFileName(Value))


                End If
            Loop

            Reader.Close()

        End If
    End Sub
End Class




どうかアドバイスよろしくお願いします。