§1 テキストエディタの制作 VB6
 (3) ファイルの入出力 U 前へ 目次へ 次へ 

 3. ファイルの保存

 保存の処理は、メニューから保存(S)を選択するとmnuSave_Clickプロシージャが実行されるので、このプロシージャに書く。

Private Sub mnuSave_Click()
    FileSave        '保存の処理を呼び出す (a)
End Sub

Private Sub FileSave()
    On Error GoTo Err      'エラーが発生したらErrへ処理を移す (b)
    If Filename = "*NONE" Then        'ファイル名未設定?
        CommonDialog1.ShowSave              '保存のダイアログを表示
        Filename = CommonDialog1.Filename   'ファイル名を設定
    End If
    '保存の処理  (c)
    Open Filename For Output As #1      'ファイルを開く  @
    Print #1, Text1.Text                'データを書き込む A
    Close #1                            'ファイルを閉じる B
    Henkou = False      '変更なし(False)に設定  (d)
Err:
End Sub
(a) 保存の処理を別のプロシージャFileSaveとして作成し、mnuSave_Clickプロシージャから呼び出す形にしている。
 これは、この保存のためのFileSaveプロシージャを別のプロシージャからも利用するためである。
 保存の処理をすべてmnuSave_Clickプロシージャ内に書いておけば、別の処理からmnuSave_Clickで呼び出せるが、イベント(この場合は保存のメニューを選んだというイベント)のプロシージャを呼び出す形のプログラムはできるだけしない方が良い。
(b) ファイル名が未設定のときは、CommonDialog1オブジェクトのShowSaveメソッド(命令)で名前を付けて保存のダイアログを表示させる。ダイアログで入力(選択)したファイル名はFilenameプロパティに記憶されているので、ファイル名用の変数Filenameに記憶する。。
(c) 入力されたデータは、テキストボックスのTextプロパティに記憶されている。このデータを保存する、すなわちディスク装置に書き込むには、@Open命令でファイルを開く、APrint命令などでデータを出力する、BClose命令でファイルを閉じる、の順に処理する。
(d) データが保存されたので、変更あり/なしの目印(フラグという)である変数HenkouをFalseに設定しておく。


 4. 名前を付けてファイルを保存

 保存の処理とほとんど同じである。
 ファイル名の有無にかかわらずファイル名を入力するダイアログを表示し、データを保存する。
 メニューから名前を付けて保存を選択するとmnuSaveAs_Clickプロシージャが実行される。

Private Sub mnuSaveAs_Click()
    On Error GoTo Err      'エラーが発生したらErrへ処理を移す
    CommonDialog1.ShowSave              '保存のダイアログを表示
    Filename = CommonDialog1.Filename   'ファイル名を設定
    Open Filename For Output As #1      'ファイルを開く
    Print #1, Text1.Text                'データを書き込む
    Close #1                            'ファイルを閉じる
    Henkou = False      '変更なし
Err:
End Sub


 (3) ファイルの入出力 U 前へ 目次へ 次へ 
Copyright © 2001,2002 Hiroshi Masuda 

 

 

inserted by FC2 system