Webエディタの作成 VB6 |
ファイルの入出力
リッチテキストボックスコントロールにファイルの内容を読み込むにはLoadFileメソッドを、データを書き込むにはSaveFileメソッドを使う。テキストボックスのようにOpen命令やClose命令は不要である。(リッチテキスト試作 Wファイルの入出力 参照)
次図のようにフォームにボタン(cmdFile)をコントロール配列として3つ追加する。
開く ボタン(cmdFile(0))
(オブジェクト名) … cmdFile、 Index … 0、 Caption … 開く、
Height … 255、 Left … 2280、 Top … 480、 Width …
735
保存 ボタン(cmdFile(1))
(オブジェクト名) … cmdFile、 Index … 1、 Caption … 保存、
Height … 255、 Left … 3120、 Top … 480、 Width …
735
更新 ボタン(cmdFile(2))
(オブジェクト名) … cmdFile、 Index … 2、 Caption … 更新、
Height … 255、 Left … 3960、 Top … 480、 Width …
735
戻る ボタン(cmdFile(3))
(オブジェクト名) … cmdFile、 Index … 3、 Caption … 戻る、
Height … 255、 Left … 4800、 Top … 480、 Width …
735
更新のボタンは後で作成する。まずは、開くと保存のボタンの処理を考える。
開く ボタンの処理
テキスト(txtFilename)オブジェクト(ウインドウの一番左上)には、ファイル名が入力されるようにしている。ファイル(File1)オブジェクトでファイル名をダブルクリックするとそのファイル名がテキスト(txtFilename)オブジェクトに表示される。また、キーボードから直接ファイル名を入力することもできる。このテキストに表示されている名前のファイルを開いてリッチテキスト(RichTB)オブジェクトに読み込むようにする。処理はサブプロシージャReadFileとして作成する。
・プログラムリスト
Private Sub ReadFile() 'ファイルをテキストとして読み込む RichTB.LoadFile File1.Path & "\" & txtFileName, rtfText End Sub
FileLoadメソッドのファイル名を指定する部分が File1.Path & "\" & txtFileName となっている。前半の File1.Path はファイル名が保存されているフォルダを記憶しているPathプロパティである。例えば、C:\Data のようなパス名(ドライブ名とフォルダ名)が記憶されている。このパス名とファイル名を\で連結してファイル名を作っている。二つ目のrtfText はファイルをテキストとして読み込む指定である。
このReadFileプロシージャは開くのボタンをクリックしたときに呼び出すようにプログラムする。
Private Sub cmdFile_Click(Index As Integer) Select Case Index Case 0 ReadFile End Select End Sub
さらに、File1オブジェクトのファイル名をダブルクリックしたときにも呼び出すようにプログラムを追加する。
Private Sub File1_DblClick()
'ファイル名をダブルクリックしたら、ファイル名をtxtFilenameに設定
txtFileName.Text = File1.FileName
ReadFile
End Sub
※ キーボードからファイル名を入力したとき、そのファイルはDir1オブジェクトに現在表示されているフォルダが対象となる。
保存 ボタンの処理
リッチテキストに表示されているデータをtxtFilenameオブジェクトのファイル名で保存する。処理はサブプロシージャWriteFileとしてプログラムする。
・プログラムリスト
Private Sub WriteFile()
'ファイルをテキストとして書き込む
RichTB.SaveFile File1.Path & "\" & txtFileName, rtfText
End Sub
このWriteFileプロシージャは保存のボタンをクリックしたときに呼び出すようにプログラムを追加する。
Private Sub cmdFile_Click(Index As Integer) Select Case Index Case 0 ReadFile Case 1 WriteFile End Select End Sub
※ キーボードからファイル名を入力したとき、そのファイルはDir1オブジェクトに現在表示されているフォルダが対象となる。
Copyright © 2001 Hiroshi Masuda |