请教VB问题!急!
vb6吧
全部回复
仅看楼主
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
1