VB ShowSave后怎么区分保存的格式
CommonDialog1.Filter = "文本文件|*.txt|写字板文档|*.rtf"这样,保存时我选txt就用第一组代码来处理,选rtf就用第二组代码处理
应该如何区分开
答案:Global Pos As Integer
Global MatchCase As Boolean
Global SearchStr As String
Private Sub Check1_Click()
'单击“区分大小写”复选框,设置查找方式
If Check1.Value = 1 Then
MatchCase = True
Else
MatchCase = False
End If
End Sub
Private Sub Command1_Click()
'单击“查找”按钮的处理过程:
'1--根据是否“区分大小写”进行不同方式地查找
'2--如果找到,显示被找到的字符,否则,提示未找到信息
If MatchCase = True Then '如果以“区分大小写”方式查找
Pos = InStr(Pos + 1, FrmMain.Text1.Text, Text1.Text)
Else
Pos = InStr(Pos + 1, FrmMain.Text1.Text, Text1.Text, vbTextCompare)
End If
If Pos <> 0 Then '如果找到字符,则显示之
FrmMain.Text1.SelStart = Pos - 1
FrmMain.Text1.SelLength = Len(Text1.Text)
Else
MsgBox "没有找到字符 " & Chr$(34) & Text1.Text & Chr$(34)
End If
End Sub
Private Sub Command2_Click()
'单击“取消”按钮,退出“查找”窗体
Unload Me
End Sub
Private Sub Form_Load()
'加载“查找”窗体的初始化设置
Pos = 0
If MatchCase = True Then Check1.Value = 1
End Sub
Private Sub Text1_Change()
'当文本框内容发生变化,获取要查找的字符串
SearchStr = Text1.Text
End Sub
Option Explicit
Dim Modified As Boolean '文件正文是否被修改
Dim Saved As Boolean '文件是否保存
Dim FPath_Name As String '保存/打开文件的名称
Private Sub Form_Load()
'初始化模块级变量
Modified = False
Saved = False
FPath_Name = ""
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
'关闭窗体前,判断文件正文是否被改变,并提示用户保存文件
Dim SaveIt As Integer
If Modified = True Then '正文改变
SaveIt = MsgBox("文件 " & Me.Caption & " 的正文已更改,是否保存更改?", vbYesNoCancel)
'单击“是”按钮,返回6,单击“否”按钮,返回7,单击“取消”按钮,返回2
If SaveIt = 2 Then Cancel = True: Exit Sub
If SaveIt = 6 Then
'打开“另存为”对话框
FrmMain.CommonDialog1.Filter = "Text Files (*.TXT)|*.txt|" & _
"All Files (*.*)|*.*" '设置对话框文件类型
FrmMain.CommonDialog1.Flags = &H4
FrmMain.CommonDialog1.ShowSave
If CommonDialog1.FileName <> "" Then
'以下代码用于将当前文本框中的内容写入要保存的文件中
Open FrmMain.CommonDialog1.FileName For Output As #1
Print #1, Me.Text1.Text
Close #1
End If
End If
End If
Unload Me '卸载窗体
End Sub
Private Sub mnuCopy_Click()
'单击“复制”命令,将选定文本复制到剪贴板
Clipboard.SetText Text1.SelText
End Sub
Private Sub mnuCut_Click()
'单击“剪切”命令的操作
Clipboard.Clear '清空剪贴板内容
Clipboard.SetText Text1.SelText '设置剪贴板内容为选定文本
Text1.SelText = "" '删除文本框中选定内容
End Sub
Private Sub mnuDelete_Click()
'单击“删除”按钮,将选定的内容设置为空
Text1.SelText = ""
End Sub
Private Sub mnuFont_Click()
'单击“字体”命令,打开“字体”对话框,
'并根据用户的选取,设置文本框的字体格式。
On Error Resume Next '如果出现错误,忽略错误,继续执行
CommonDialog1.Flags = cdlCFBoth Or cdlCFEffects
CommonDialog1.ShowFont '显示“字体”对话框
'以下过程为根据用户的设置,改变文本框中的字体格式
Text1.FontName = CommonDialog1.FontName '设置字体
Text1.FontBold = CommonDialog1.FontBold '设置是否以粗体显示
Text1.FontItalic = CommonDialog1.FontItalic '设置是否以斜体显示
Text1.FontSize = CommonDialog1.FontSize '设置字号
Text1.FontStrikethru = CommonDialog1.FontStrikethru '设置是否显示删除线
Text1.FontUnderline = CommonDialog1.FontUnderline '设置是否显示下划线
Text1.ForeColor = CommonDialog1.Color '设置字的颜色
End Sub
Private Sub mnuNew_Click()
'单击“新建”命令的处理:
'1--如果当前文件被修改,提示用户保存文件。
'2--初始化表示文件状态的变量,
Dim SaveIt As Integer'...
Dim fname As String
fname = CommonDialog1.FileName
Dim arry() As String
arry = Split(fname, ".")
If arry(Ubound(arry)) = "txt" Then
'后缀名为txt的操作
ElseIf arry(Ubound(arry)) = "rtf" Then
'后缀名为rtf的操作
Else
'后缀名为其他的操作
End If
'...