level 0
天垣紫微
楼主
在Windows XP SP3环境,VisualBasic平台下编写一个文本编辑器,窗体MainWindow中存在以下控件:
ComDag(CommanDiaLog),TextInput(RichTextBox),CmdNew、CmdOpen、OpenSave(CommandButton)
存在以下代码……
'于模块中定义的公共变量(模块名:PublicVal)
Public FileName As String '打开文件的文件名
Public Saved As Boolean '判断文件是否已保存
'于模块中定义的公共过程(模块名:PublicSub)
'保存文件
Public Sub SaveFile()
On Error Resume Next
If FileName = "" Then
MainWindow.ComDag.Filter = "纯文本文件|*.txt"
MainWindow.ComDag.ShowSave
FileName = MainWindow.ComDag.FileName
Open FileName For Output As #1
Print #1, MainWindow.TextInput.Text
Close #1
Else
Open FileName For Output As #1
Print #1, MainWindow.TextInput.Text
Close #1
End If
End Sub
'打开文件
Public Sub OpenFile()
On Error Resume Next
MainWindow.ComDag.Filter = "纯文本文件|*.txt"
MainWindow.ComDag.ShowOpen
FileName = MainWindow.ComDag.FileName
Open FileName For Input As #1
MainWindow.TextInput.Text = StrConv(InputB$(LOF(1), 1), vbUnicode)
Close #1
End Sub
'按钮事件
'新建
Private Sub CmdNew_Click()
If Saved = True Then
TextInput.Text = ""
Else
MsgBack = MsgBox("你对当前文件进行了修改,尚未保存..." & vbCrLf & "是否要保存该文档?", vbYesNoCancel, "保存文件")
Select Case MsgBack
Case MsgBack = vbYes
SaveFile
TextInput.Text = ""
Case MsgBack = vbNo
TextInput.Text = ""
End Select
End If
Saved = True
LabPath.Caption = "新建文档,尚未保存..."
End Sub
'打开
Private Sub CmdOpen_Click()
If Saved = True Then
OpenFile
Else
MsgBack = MsgBox("你对当前文件进行了修改,尚未保存..." & vbCrLf & "是否要保存该文档?", vbYesNoCancel, "保存文件")
Select Case MsgBack
Case MsgBack = vbYes
SaveFile
OpenFile
Case MsgBack = vbNo
OpenFile
End Select
End If
Saved = True
LabPath.Caption = "新建文档,尚未保存..."
End Sub
'保存
Private Sub CmdSave_Click()
SaveFile
End Sub
'文本输入使文件内容修改
Private Sub TextInput_Changed()
Saved = False
End Sub
现在保存按钮功能正常,可以通过判断Saved变量的布尔值和FileName变量是否为空串决定保存类型,但新建和打开按钮在判断完Saved变量,弹出MsgBox后,后面的代码不能正常执行,也就是说后面Select Case中所定义的、文件保存或不保存然后进行新建和打开的动作并不被执行,请过路的大侠牛人们指点一二,小弟感激不尽!……
急用……谢谢大家了!
2009年06月17日 10点06分
1
ComDag(CommanDiaLog),TextInput(RichTextBox),CmdNew、CmdOpen、OpenSave(CommandButton)
存在以下代码……
'于模块中定义的公共变量(模块名:PublicVal)
Public FileName As String '打开文件的文件名
Public Saved As Boolean '判断文件是否已保存
'于模块中定义的公共过程(模块名:PublicSub)
'保存文件
Public Sub SaveFile()
On Error Resume Next
If FileName = "" Then
MainWindow.ComDag.Filter = "纯文本文件|*.txt"
MainWindow.ComDag.ShowSave
FileName = MainWindow.ComDag.FileName
Open FileName For Output As #1
Print #1, MainWindow.TextInput.Text
Close #1
Else
Open FileName For Output As #1
Print #1, MainWindow.TextInput.Text
Close #1
End If
End Sub
'打开文件
Public Sub OpenFile()
On Error Resume Next
MainWindow.ComDag.Filter = "纯文本文件|*.txt"
MainWindow.ComDag.ShowOpen
FileName = MainWindow.ComDag.FileName
Open FileName For Input As #1
MainWindow.TextInput.Text = StrConv(InputB$(LOF(1), 1), vbUnicode)
Close #1
End Sub
'按钮事件
'新建
Private Sub CmdNew_Click()
If Saved = True Then
TextInput.Text = ""
Else
MsgBack = MsgBox("你对当前文件进行了修改,尚未保存..." & vbCrLf & "是否要保存该文档?", vbYesNoCancel, "保存文件")
Select Case MsgBack
Case MsgBack = vbYes
SaveFile
TextInput.Text = ""
Case MsgBack = vbNo
TextInput.Text = ""
End Select
End If
Saved = True
LabPath.Caption = "新建文档,尚未保存..."
End Sub
'打开
Private Sub CmdOpen_Click()
If Saved = True Then
OpenFile
Else
MsgBack = MsgBox("你对当前文件进行了修改,尚未保存..." & vbCrLf & "是否要保存该文档?", vbYesNoCancel, "保存文件")
Select Case MsgBack
Case MsgBack = vbYes
SaveFile
OpenFile
Case MsgBack = vbNo
OpenFile
End Select
End If
Saved = True
LabPath.Caption = "新建文档,尚未保存..."
End Sub
'保存
Private Sub CmdSave_Click()
SaveFile
End Sub
'文本输入使文件内容修改
Private Sub TextInput_Changed()
Saved = False
End Sub
现在保存按钮功能正常,可以通过判断Saved变量的布尔值和FileName变量是否为空串决定保存类型,但新建和打开按钮在判断完Saved变量,弹出MsgBox后,后面的代码不能正常执行,也就是说后面Select Case中所定义的、文件保存或不保存然后进行新建和打开的动作并不被执行,请过路的大侠牛人们指点一二,小弟感激不尽!……
急用……谢谢大家了!