入門講座の卒業制作について への返答
投稿で使用できる特殊コードの説明。(別タブで開きます。)
以下の返答は逆順(新しい順)に並んでいます。
投稿者 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
先ず、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
どうかアドバイスよろしくお願いします。
さっそくですが入門講座の卒業制作に関するヘルプです。
環境: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
どうかアドバイスよろしくお願いします。
アドバイス有効に使わせてもらいました。
いつもレスありがとうございます。
今回はレスが遅かったかもしれませんがこれからもよろしくお願いします。