我用VB6制作的记事本不能写字

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我用VB6制作的记事本不能写字相关的知识,希望对你有一定的参考价值。

我用VB6制作的记事本不能写字?哪出错了 高手指教下~

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

'如果文件正文被修改,提示用户保存文件
If Modified = True Then
SaveIt = MsgBox("文件 " & Me.Caption & " 的正文已更改,是否保存更改?", vbYesNoCancel)
'单击“是”按钮,返回6,单击“否”按钮,返回7,单击“取消”按钮,返回2

If SaveIt = 2 Then Exit Sub
If SaveIt = 6 Then
'以下代码用于打开“另存为”对话框
CommonDialog1.Filter = "Text Files (*.TXT)|*.txt|All Files (*.*)|*.*"
CommonDialog1.Flags = &H4
CommonDialog1.ShowSave
If CommonDialog1.FileName = "" Then GoTo newfile

'以下代码用于将当前文本框中的内容写入要保存的文件中
Open FrmMain.CommonDialog1.FileName For Output As #1
Print #1, Me.Text1.Text
Close #1
End If
End If

'以下代码用于新建文件的初始化
newfile:
Text1.Text = ""
Me.Caption = "无标题"
Modified = False
Saved = False
FPath_Name = ""
End Sub

Private Sub mnuOpen_Click()
'单击“打开”命令的处理过程:
'1--如果当前编辑的文件内容被更改,提示用户保存文件
'2--显示“打开”对话框,选取打开的文件
'3--将选取的文件内容显示到文本框Text1中

Dim FileStr As String, FileN As String
Dim TempStr As String, DotPos As Integer
Dim SaveIt As Integer

'如果当前文件的内容有改变,提示用户保存文件
If Modified = True Then
SaveIt = MsgBox("文件 " & Me.Caption & " 的正文已更改,是否保存更改?", vbYesNoCancel)
'单击“是”按钮,返回6,单击“否”按钮,返回7,单击“取消”按钮,返回2

If SaveIt = 2 Then Exit Sub
If SaveIt = 6 Then
'以下代码用于打开“另存为”对话框
If FPath_Name <> "" Then CommonDialog1.FileName = FPath_Name
CommonDialog1.Filter = "Text Files (*.TXT)|*.txt|All Files (*.*)|*.*"
CommonDialog1.Flags = &H4
CommonDialog1.ShowSave

'以下代码用于将当前文本框中的内容写入要保存的文件中
If CommonDialog1.FileName <> "" Then
Open CommonDialog1.FileName For Output As #1
Print #1, Text1.Text
Close #1
End If
End If
End If

'以下代码用于显示“打开”对话框
CommonDialog1.Filter = "Text Files (*.TXT)|*.txt|All Files (*.*)|*.*"
CommonDialog1.Flags = &H4
CommonDialog1.ShowOpen

If CommonDialog1.FileName = "" Then Exit Sub

'以下代码用于将用户选取的文件内容读入到变量FileStr中
FPath_Name = CommonDialog1.FileName
Open CommonDialog1.FileName For Input As #1
FileStr = ""
Do Until EOF(1) '将文件中的各行内容读入到变量FileStr中
Line Input #1, TempStr
FileStr = FileStr & TempStr
Loop
Close #1

Me.Caption = CommonDialog1.FileTitle '设置窗体的标题为被打开的文件名称
Text1.Text = FileStr '将文件内容显示到文本框中
OpenCanceled:

End Sub

Private Sub mnuPaste_Click()
'单击“粘贴”按钮,将剪贴板上的内容复制到文本框中
Text1.SelText = Clipboard.GetText
End Sub

Private Sub mnuPrint_Click()
'单击“打印”命令时,显示打印对话框,并打印文件内容

CommonDialog1.Flags = &H4
CommonDialog1.ShowPrinter '显示打印对话框
Printer.Copies = CommonDialog1.Copies '返回打印份数

Printer.Print Text1.Text '打印输出文件内容
End Sub

Private Sub mnuSave_Click()
'单击“保存”命令时的处理过程:
'1--打开“另存为”对话框,选取保存文件名称和路径
'2--将文本框中内容保存到指定文件中

'以下代码用于显示“另存为”对话框
CommonDialog1.Filter = "Text Files (*.TXT)|*.txt|All Files (*.*)|*.*"
CommonDialog1.Flags = &H4
CommonDialog1.ShowSave
If FPath_Name <> "" Then CommonDialog1.FileName = FPath_Name
If CommonDialog1.FileName = "" Then Exit Sub

'以下代码用于将当前文本框中的内容写入要保存的文件中
Open CommonDialog1.FileName For Output As #1
Print #1, Text1.Text
Close #1

FPath_Name = CommonDialog1.FileName
Modified = False
Me.Caption = CommonDialog1.FileTitle '设置窗体标题为保存的文件名
End Sub

Private Sub mnuSaveAs_Click()
'单击“另存为”命令时的处理过程:
'1--打开“另存为”对话框,选取保存文件名称和路径
'2--将文本框中内容保存到指定文件中

'以下代码用于显示“另存为”对话框
CommonDialog1.Filter = "Text Files (*.TXT)|*.txt|All Files (*.*)|*.*"
CommonDialog1.Flags = &H4
CommonDialog1.ShowSave
If CommonDialog1.FileName = "" Then Exit Sub

'以下代码用于将当前文本框中的内容写入要保存的文件中
Open CommonDialog1.FileName For Output As #1
Print #1, Text1.Text
Close #1

FPath_Name = CommonDialog1.FileName
Modified = False
Me.Caption = CommonDialog1.FileTitle '设置窗体标题为保存的文件名
End Sub

Private Sub mnuSearch_Click()
'单击“查找”命令时,打开“查找”窗体
FindFrm.Show
End Sub

Private Sub mnuSearchNext_Click()
'单击“查找下一个”命令时的处理过程:
'1--根据用户的选取,判断是否区分大小写查找
'2--如果查找到字符,显示之,否则,显示未找到提示

If MatchCase = True Then '如果需要在查找中区分大小写
Pos = InStr(Pos + 1, FrmMain.Text1.Text, SearchStr)
Else
Pos = InStr(Pos + 1, FrmMain.Text1.Text, SearchStr, vbTextCompare)
End If

If Pos <> 0 Then
'如果找到了指定的字符串,显示该字符串
FrmMain.Text1.SelStart = Pos - 1
FrmMain.Text1.SelLength = Len(SearchStr)
Exit Sub
Else
MsgBox "没有找到字符 " & Chr$(34) & SearchStr & Chr$(34)
End If
End Sub

Private Sub mnuSelectAll_Click()
'单击“全选”命令时,选取文本框的所有字符
Text1.SelStart = 0 '选取文本的起始位置
Text1.SelLength = Len(Text1.Text) '选取文本的字符个数
End Sub

Private Sub Text1_Change()
'当文本框内容发生变化时,设置变量值,以提示文件正文内容被改变
Modified = True
End Sub
参考技术A 我写的 你看看不知道你的是什么原因 把代码发出来看看
Dim gaibian As Boolean
Dim shijian As String
Private Sub baocun_Click()
CommonDialog1.CancelError = True
CommonDialog1.Filter = "文本文档(*.txt)|*.txt"
CommonDialog1.DialogTitle = "保存"
On Error GoTo Cancel
CommonDialog1.ShowSave
Open CommonDialog1.FileName For Output As #1
Print #1, Text1.Text
Close #1
Cancel:
End Sub

Private Sub charushijian_Click()
shijian = Time
SendKeys shijian
End Sub

Private Sub daika_Click()
If gaibian = True Then
MsgBox "是否保存!"
baocun_Click
End If
CommonDialog1.CancelError = True
CommonDialog1.Filter = "文本文档(*.txt)|*.txt"
On Error GoTo Cancel
CommonDialog1.ShowOpen
Open CommonDialog1.FileName For Input As #1
Do While Not EOF(1)
On Error Resume Next
Line Input #1, aspect$
whole$ = whole$ + aspect$
Loop
Close #1
Text1.Text = whole$
Cancel:
End Sub

Private Sub Form_Load()
gaibian = False
End Sub

Private Sub Form_Resize()
Text1.Width = Form1.ScaleWidth
Text1.Height = Form1.ScaleHeight
End Sub

Private Sub fuzhi_Click()
Clipboard.Clear
Clipboard.SetText Text1.SelText
End Sub

Private Sub jianqie_Click()
Clipboard.Clear
Clipboard.SetText Text1.SelText
Text1.SelText = ""
End Sub

Private Sub quanxuan_Click()
Text1.SelStart = 0
Text1.SelLength = Len(Text1.Text)
End Sub

Private Sub shiyongshuoming_Click()
MsgBox "本程序由 海猛 制作,谢谢大家使用^_^" & vbNewLine & "作者:唐海均 QQ:419317946", vbOKOnly + vbInformation, "说明"
End Sub

Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
Const ctrl = 3
gaibian = True
End Sub

Private Sub tihuan_Click()
Dim tidai As String
Dim a As String
If Text1.SelText = "" Then
a = MsgBox("请输入你要被替换的内容", vbOKOnly, "提示")
Else
tidai = InputBox("请输入你要替换的内容", "替换")
Text1.SelText = tidai
End If
End Sub

Private Sub tuichu_Click()
End
End Sub

Private Sub xinjian_Click()
Text1.Text = ""
FileName = "未命名"
Form1.Caption = FileName
End Sub

Private Sub zhantie_Click()
Text1.SelText = Clipboard.GetText
End Sub
Private Sub chazhao_Click()
Dim search As String
Dim inwhere As Integer
search = InputBox("请输入你要查的内容", "查找")
inwhere = InStr(Text1.Text, search)
If inwhere > 0 Then
Text1.SelStart = inwhere - 1
Text1.SelLength = Len(search)
Else
MsgBox "没有找到你要找的内容"
End If
End Sub
参考技术B bucuo

VB如何把文件内容显示在文本框中?

就是类似记事本一样的,我用Text1.Text=的方法不行,Open F.FiLenaMe又找不到路径,F是控件

VB6.0可以使用TextBok控件或RichTextBox控件实现将读入文本文件显示于控件中。

    TextBox 控件有时也称作编辑字段或者编辑控件,显示设计时输入的用户输入的、或运行时在代码中赋予控件的信息。

    为了在 TextBox 控件中显示多行文本,要将 MultiLine 属性设置为
    True。如果多行 TextBox 没有水平滚动条,那么即使 TextBox 调整了大小,文本也会自动换行。为了在
    TextBox 上定制滚动条组合,需要设置 ScrollBars 属性。

    如果文本框的 MultiLine 属性设置为 True 而且它的
    ScrollBars 没有设置为 None (0),则滚动条总出现在文本框上。

    如果将 MultiLine 属性设置为 True,则可以在 TextBox 内用 Alignment 属性设置文本的对齐。如果 MultiLine 属性是 False,则
    Alignment 属性不起作用。

    代码实例:

    Private Sub Command1_Click()

    Dim strj() As String

    \' 设置“CancelError”为 True

    CommonDialog1.CancelError = True

    On Error GoTo ErrHandler

    \' 设置标志

    CommonDialog1.Flags = cdlOFNHideReadOnly

    \' 设置过滤器

    CommonDialog1.Filter = "All Files (*.*)|*.*|Text Files" & "(*.txt)|*.txt|Batch Files (*.bat)|*.bat"

    \' 指定缺省的过滤器

    CommonDialog1.FilterIndex = 2

    \' 显示“打开”对话框

    CommonDialog1.ShowOpen

    \' 显示选定文件的名字

    Debug.Print CommonDialog1.FileName

    Str = CommonDialog1.FileName

    Open CommonDialog1.FileName For Input As #1

    Do Until EOF(1)

    Line Input #1, s

    Text1.Text = Text1.Text & s & vbCrLf

    Loop

    Close #1

    Exit Sub

    ErrHandler:

    Exit Sub

    End Sub

    RichTextBox 控件不仅允许输入和编辑文本,同时还提供了标准 TextBox
    控件未具有的、更高级的指定格式的许多功能。

    上述代码同样适合RichTextBox控件使用


参考技术A 楼上已经给了方法,不过我提醒下,最好用Error方法判断文件选择是否取消,而不要用F.FileName="",不然第二次你选择取消也会打开第一次的文件 参考技术B 把Text1的MultiLine属性设为True,ScrollBars属性设为2 - Both

Private Sub Command1_Click()
F.Filter = "文本文档(*.txt)|*.txt"
F.FileName = ""
F.ShowOpen
If F.FileName = "" Then Enit Sub
getfreefile = FreeFile
Open F.FileName For Input As #getfreefile
Do While Not EOF(getfreefile)
Line Input #1, readfile
Text1.Text = Text1.Text & readfile & vbCrLf
Loop
Close #getfreefile
End Sub本回答被提问者采纳

以上是关于我用VB6制作的记事本不能写字的主要内容,如果未能解决你的问题,请参考以下文章

能不能修改windows的写字板默认的文件编码为unicode?

基于java的记事本写字板的设计(JAVA CS窗体版)

从网上下载的文字文件为啥用写字板打开却都是乱码阿

FlashFXP的代码编辑和文本编辑

求vb6.0函数和语句大全~!

VB6模拟键盘事件