| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1114 人关注过本帖
标题:为什么保存的不对?
只看楼主 加入收藏
onlylove0106
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2007-4-23
收藏
 问题点数:0 回复次数:11 
为什么保存的不对?

我刚刚学了用RichTextBox和Commondialog配合将打开的*.txt文件保存到另外一个地方
但是保存后文件打开是这:{\rtf1\ansi\ansicpg936\deff0{\fonttbl{\f0\fnil\fcharset134 \'cb\'ce\'cc\'e5;}}
\viewkind4\uc1\pard\lang2052\f0\fs18\'a1\'a1\'a1\'a1\'a1\'a1\'a1\'a1\'a1\'a1\b 1\'a3\'a9\'b4\'b0\'cc\'e5\'ca\'c2\'bc\'fe\'b9\'fd\'b3\'cc\'c3\'fb\'d3\'c9Form_\'ca\'c2\'bc\'fe\'c3\'fb\'d7\'e9\'b3\'c9\'a3\'ac\'b6\'e0\'ce\'c4\'b5\'b5\'b4\'b0\'cc\'e5\'d3\'c3MDIForm_\'ca\'c2\'bc\'fe\'c3\'fb\'a3\'bb
\par \'a1\'a1\'a1\'a1\'a1\'a1\'a1\'a1\'a1\'a1 2\'a3\'a9\'c3\'bf\'b8\'f6\'b4\'b0\'cc\'e5\'ca\'c2\'bc\'fe\'b9\'fd\'b3\'cc\'c3\'fb\'c7\'b0\'b6\'bc\'d3\'d0\'d2\'bb\'b8\'f6Private\'b5\'c4\'c7\'b0\'d7\'ba\'a3\'ac\'b1\'ed\'ca\'be\'b8\'c3\'ca\'c2\'bc\'fe\'b9\'fd\'b3\'cc\'b2\'bb\'c4\'dc\'d4\'da\'cb\'fc\'d7\'d4\'bc\'ba\'b5\'c4\'b4\'b0\'cc\'e5\'c4\'a3 \'bf\'e9\'d6\'ae\'cd\'e2\'b1\'bb\'b5\'f7\'d3\'c3\'a3\'bb
\par \'a1\'a1\'a1\'a1\'a1\'a1\'a1\'a1\'a1\'a1 3\'a3\'a9\'ca\'c2\'bc\'fe\'b9\'fd\'b3\'cc\'d3\'d0\'ce\'de\'b2\'ce\'ca\'fd\'a3\'ac\'cd\'ea\'c8\'ab\'d3\'c9VB\'cc\'e1\'b9\'a9\'b5\'c4\'be\'df\'cc\'e5\'ca\'c2\'bc\'fe\'b1\'be\'c9\'ed\'be\'f6\'b6\'a8\'a3\'ac\'d3\'c3\'bb\'a7\'b2\'bb\'bf\'c9\'d2\'d4\'cb\'e6\'d2\'e2\'cc\'ed\'bc\'d3\'a1\'a3
\par \'a3\'a82\'a3\'a9\'bf\'d8\'bc\'fe\'ca\'c2\'bc\'fe\'b9\'fd\'b3\'cc
\par \'a1\'a1\'a1\'a1\'a1\'a1\'d3\'ef\'b7\'a8\'a3\'baPrivate Sub \'bf\'d8\'bc\'fe\'c3\'fb_\'ca\'c2\'bc\'fe\'c3\'fb\'a3\'a8[\'b2\'ce\'ca\'fd\'c1\'d0\'b1\'ed]\'a3\'a9
\par \'a1\'a1\'a1\'a1\'a1\'a1\'a1\'a1\'a1\'a1\'a1\'a1 [\'be\'d6\'b2\'bf\'b1\'e4\'c1\'bf\'ba\'cd\'b3\'a3\'ca\'fd\'c9\'f9\'c3\'f7]
\par \'a1\'a1\'a1\'a1\'a1\'a1\'a1\'a1\'a1\'a1\'a1\'a1\'a1\'a1 \'d3\'ef\'be\'e4\'bf\'e9
\par \'a1\'a1\'a1\'a1\'a1\'a1\'a1\'a1\'a1\'a1 End Sub\'a1\'a1
\par [\'d7\'a2 \'d2\'e2] \'c6\'e4\'d6\'d0\'b5\'c4\'bf\'d8\'bc\'fe\'c3\'fb\'b1\'d8\'d0\'eb\'d3\'eb\'b4\'b0\'cc\'e5\'d6\'d0\'c4\'b3\'bf\'d8\'bc\'fe\'cf\'e0\'c6\'a5\'c5\'e4\'a3\'ac\'b7\'f1\'d4\'f2VB\'bd\'ab\'c8\'cf\'ce\'aa\'cb\'fc\'ca\'c7\'d2\'bb\'b8\'f6\'cd\'a8\'d3\'c3\'b9\'fd\'b3\'cc\'a1\'a3
\par \'a3\'a83\'a3\'a9\'bd\'a8\'c1\'a2\'ca\'c2\'bc\'fe\'b9\'fd\'b3\'cc\'b5\'c4\'b7\'bd\'b7\'a8
\par \'a1\'a1\'a1\'a11\'a3\'a9\'b4\'f2\'bf\'aa\'b4\'fa\'c2\'eb\'b1\'e0\'bc\'ad\'c6\'f7\'b4\'b0\'bf\'da\'a3\'a8\'c1\'bd\'d6\'d6\'b7\'bd\'b7\'a8\'a3\'ba\'cb\'ab\'bb\'f7\'b6\'d4\'cf\'f3\'bb\'f2\'b4\'d3\'b9\'a4\'b3\'cc\'b9\'dc\'c0\'ed\'c6\'f7\'d6\'d0\'b5\'a5\'bb\'f7"\'b2\'e9\'bf\'b4\'b4\'fa\'c2\'eb"\'b0\'b4\'c5\'a5\'a3\'a9
\par \'a1\'a1\'a1\'a12\'a3\'a9\'d4\'da\'b4\'fa\'c2\'eb\'b1\'e0\'bc\'ad\'c6\'f7\'b4\'b0\'bf\'da\'d6\'d0\'a3\'ac\'d1\'a1\'d4\'f1\'cb\'f9\'d0\'e8\'d2\'aa\'b5\'c4"\'b6\'d4\'cf\'f3"\'ba\'cd"\'ca\'c2\'bc\'fe\'b9\'fd\'b3\'cc"
\par \'a1\'a1\'a1\'a13\'a3\'a9\'d4\'daPrivate Sub \'a1\'ad\'a1\'ad End Sub\'d6\'ae\'bc\'e4\'bc\'fc\'c8\'eb\'b4\'fa\'c2\'eb
\par \'a1\'a1\'a1\'a14\'a3\'a9\'b1\'a3\'b4\'e6\'b9\'a4\'b3\'cc\'ba\'cd\'b4\'b0\'cc\'e5
\par \'a3\'a84\'a3\'a9\'ca\'c2\'bc\'fe\'b9\'fd\'b3\'cc\'b5\'c4\'b5\'f7\'d3\'c3
\par \'a1\'a1\'a1\'a1\'ca\'c2\'bc\'fe\'b9\'fd\'b3\'cc\'d3\'c9\'d2\'bb\'b8\'f6\'b7\'a2\'c9\'fa\'d4\'daVB\'d6\'d0\'b5\'c4\'ca\'c2\'bc\'fe\'c0\'b4\'d7\'d4\'b6\'af\'b5\'f7\'d3\'c3\'bb\'f2\'d5\'df\'d3\'c9\'cd\'ac\'d2\'bb\'c4\'a3\'bf\'e9\'d6\'d0\'b5\'c4\'c6\'e4\'cb\'fb\'b9\'fd\'b3\'cc\'cf\'d4\'ca\'be\'b5\'f7\'d3\'c3\'a1\'a3
\par 2\'a3\'ae\'cd\'a8\'d3\'c3\'b9\'fd\'b3\'cc
\par \'a1\'a1\'a1\'a1\'cd\'a8\'d3\'c3\'b9\'fd\'b3\'cc\'ca\'c7\'d2\'bb\'b8\'f6\'b1\'d8\'d0\'eb\'b4\'d3\'c1\'ed\'d2\'bb\'b8\'f6\'b9\'fd\'b3\'cc\'cf\'d4\'ca\'be\'b5\'f7\'d3\'c3\'b5\'c4\'b3\'cc\'d0\'f2\'b6\'ce\'a3\'ac\'cd\'a8\'d3\'c3\'b9\'fd\'b3\'cc\'b5\'c4\'d3\'c5\'b5\'e3\'ca\'c7\'bd\'ab\'b8\'b4\'d4\'d3\'b5\'c4\'d3\'a6\'d3\'c3\'b3\'cc\'d0\'f2\'b7\'d6\'bd\'e2\'b3\'c9\'b6\'e0\'b8\'f6\'d2\'d7\'d3\'da\'b9\'dc\'c0\'ed\'b5\'c4\'c2\'df\'bc\'ad\'b5\'a5\'d4\'aa\'a3\'ac\'ca\'b9\'d3\'a6\'d3\'c3\'b3\'cc\'d0\'f2\'b8\'fc\'bc\'f2\'bd\'e0\'a1\'a2\'b8\'fc\'d2\'d7\'d3\'da\'ce\'ac\'bb\'a4\'a1\'a3
\par \'cd\'a8\'d3\'c3\'b9\'fd\'b3\'cc\'b7\'d6\'ce\'aa\'b9\'ab\'d3\'d0\'a3\'a8Public\'a3\'a9\'b9\'fd\'b3\'cc\'ba\'cd\'cb\'bd\'d3\'d0\'a3\'a8 Private\'a3\'a9\'b9\'fd\'b3\'cc\'c1\'bd\'d6\'d6\'a1\'a3
\par \'b9\'ab\'d3\'d0\'b9\'fd\'b3\'cc\'bf\'c9\'d2\'d4\'b1\'bb\'d3\'a6\'d3\'c3\'b3\'cc\'d0\'f2\'d6\'d0\'b5\'c4\'c8\'ce\'d2\'bb\'b9\'fd\'b3\'cc\'b5\'f7\'d3\'c3\'a3\'bb\'cb\'bd\'d3\'d0\'b9\'fd\'b3\'cc\'d6\'bb\'c4\'dc\'b1\'bb\'cd\'ac\'d2\'bb\'c4\'a3\'bf\'e9\'d6\'d0\'b5\'c4\'b9\'fd\'b3\'cc\'b5\'f7\'d3\'c3\'a1\'a3
\par \'a3\'a81\'a3\'a9\'b6\'a8\'d2\'e5\'b7\'bd\'b7\'a8\'a3\'ba
\par \'a1\'a1\'a1\'a1[ Private | Public ] [ Static] Sub \'b9\'fd\'b3\'cc\'c3\'fb\'a3\'a8[\'b2\'ce\'ca\'fd\'c1\'d0\'b1\'ed]\'a3\'a9
\par \'a1\'a1\'a1\'a1\'a1\'a1\'a1\'a1\'a1\'a1 [\'be\'d6\'b2\'bf\'b1\'e4\'c1\'bf\'ba\'cd\'b3\'a3\'ca\'fd\'c9\'f9\'c3\'f7] '\'d3\'c3Dim \'bb\'f2Static\'c9\'f9\'c3\'f7
\par \'a1\'a1\'a1\'a1\'a1\'a1\'a1\'a1\'a1\'a1\'a1\'a1 \'d3\'ef\'be\'e4\'bf\'e9
\par \'a1\'a1\'a1\'a1\'a1\'a1 [Exit Sub] '\'d6\'d0\'cd\'be\'cc\'f8\'b3\'f6\'b9\'fd\'b3\'cc\'a3\'ac\'bf\'c9\'d3\'d0\'bf\'c9\'ce\'de
\par \'a1\'a1\'a1\'a1\'a1\'a1\'a1\'a1\'a1\'a1\'a1\'a1 \'d3\'ef\'be\'e4\'bf\'e9
\par \b0\'a1\'a1\'a1\'a1\'a1\'a1 End Sub
\par
\par }
请指教!实在不明白!
对了,就连原文也是!都变成上面的了!!

搜索更多相关主题的帖子: 保存 
2007-04-23 18:27
hyhhd
Rank: 2
等 级:论坛游民
威 望:1
帖 子:502
专家分:44
注 册:2006-5-12
收藏
得分:0 
能否将原码贴出?

2007-04-23 19:14
huangwy
Rank: 1
等 级:新手上路
威 望:2
帖 子:297
专家分:0
注 册:2007-3-23
收藏
得分:0 
RichTextBox是格式文本框,你用文本方式打开,就像你用记事本打开word文档
你应该用RichTextBox的LoadFile和SaveFile方法对文档进行打开和保存
2007-04-23 22:51
onlylove0106
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2007-4-23
收藏
得分:0 

原代码是:
Option Explicit
Dim StrFilePath As String '存储保存文件的默认路径
Dim intFlag As Integer

Private Sub SaveFile() '建立保存文件的通用过程
On Error GoTo errhandle
If intFlag = 0 Then '文件从来没有被保存过
cdlFile.DialogTitle = "保存"
cdlFile.FileName = "*.txt" '文本框中输入或选择所需在的文件
cdlFile.Flags = 2
cdlFile.Filter = " 所有文件(*.txt)|*.txt"
cdlFile.ShowSave
rtbDoc.SaveFile cdlFile.FileName
StrFilePath = cdlFile.FileName '将保存路径写到StrFilePath 变量中
intFlag = 1 '文件被存过一次
Else
rtbDoc.SaveFile StrFilePath
End If
Exit Sub
errhandle:
End Sub

Private Sub Form_Load()
StrFilePath = ""
intFlag = 0
End Sub

Private Sub Form_Unload(Cancel As Integer) '单击X 按钮时触发Unload事件
Dim intResponse As Integer
If Not (rtbDoc.Text = "") Then '如果不为空
intResponse = MsgBox("需要保存当前文件吗?", vbQuestion + vbOKCancel, "文件保存")
If intResponse = vbOK Then
SaveFile
ElseIf intResponse = vbCancel Then
End 'Cancel = True

End If
End If


End Sub

Private Sub mnuCenter_Click()
rtbDoc.SelAlignment = 2 '居 中
End Sub

Private Sub mnuColor_Click()
cdlFile.ShowColor
rtbDoc.SelColor = cdlFile.Color
End Sub

Private Sub mnuExit_Click()
Dim intResponse As Integer
If Not (rtbDoc.Text = "") Then '如果不为空
intResponse = MsgBox("需要保存当前文件吗?", vbQuestion + vbYesNoCancel, "文件保存")
If intResponse = vbYes Then
SaveFile
ElseIf intResponse = vbNo Then
End
Else
Exit Sub
End If
End If
End Sub

Private Sub mnuFont_Click() '设置字体的样式
cdlFile.Flags = 1
cdlFile.ShowFont
rtbDoc.SelBold = cdlFile.FontBold
rtbDoc.SelFontName = cdlFile.FontName
rtbDoc.SelFontSize = cdlFile.FontSize
rtbDoc.SelItalic = cdlFile.FontItalic
rtbDoc.SelUnderline = cdlFile.FontUnderline
rtbDoc.SelStrikeThru = cdlFile.FontStrikethru
End Sub

Private Sub mnuLeft_Click()
rtbDoc.SelAlignment = 0 '左对齐
End Sub

Private Sub mnuNew_Click()
Dim intResponse As Integer
If Not (rtbDoc.Text = "") Then '如果不为空
intResponse = MsgBox("需要保存当前文件吗?", vbQuestion + vbYesNoCancel, "文件保存")
If intResponse = vbYes Then
SaveFile
ElseIf intResponse = vbNo Then
GoTo newfile
Else
Exit Sub
End If
End If
newfile:
rtbDoc.Text = ""
intFlag = 0
StrFilePath = 0
End Sub

Private Sub mnuOpen_Click()
Dim intResponse As Integer
If Not (rtbDoc.Text = "") Then '如果不为空
intResponse = MsgBox("需要保存当前文件吗?", vbQuestion + vbYesNoCancel, "文件保存")
If intResponse = vbYes Then '是
SaveFile
ElseIf intResponse = vbNo Then '不是
GoTo openfile
Else '取消
Exit Sub
End If
End If
openfile: '打开文件
cdlFile.DialogTitle = "打开"
cdlFile.CancelError = False '当用户单击“取消”时,是否产生报错!
cdlFile.Filter = " 所有文件(*.txt)|*.txt"
cdlFile.ShowOpen
rtbDoc.LoadFile cdlFile.FileName '用RichTextBox1来打开文件,而不是用通用对话框!
StrFilePath = cdlFile.FileName
intFlag = 1
End Sub

Private Sub mnuRight_Click()
rtbDoc.SelAlignment = 1 '右对齐
End Sub

Private Sub mnuSave_Click()
SaveFile
End Sub

Private Sub mnuSaves_Click()
On Error GoTo errhandle
cdlFile.DialogTitle = "另存为..."
cdlFile.FileName = "*.txt"
cdlFile.CancelError = False
cdlFile.Filter = " 所有文件(*.txt)|*.txt"
intFlag = 2 '提示是否覆盖原文件
cdlFile.ShowSave
rtbDoc.SaveFile cdlFile.FileName '用RichTextBox的SavEfile方法来保存文件的话,就可以不用通用对话框的Flags了!
StrFilePath = cdlFile.FileName
intFlag = 1
errhandle:
End Sub

Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)
Dim intResponse As Integer
Select Case Button.Key '必须是Button.Key,如果是Key则错误!!!
Case "new"
mnuNew_Click
Case "open"
mnuOpen_Click
Case "save"
mnuSave_Click
Case "left"
mnuLeft_Click
Case "right"
mnuRight_Click
Case "center"
mnuCenter_Click
Case "font"
mnuFont_Click
Case "bold"
rtbDoc.SelBold = Not rtbDoc.SelBold
Case "underline"
rtbDoc.SelUnderline = Not rtbDoc.SelUnderline
Case "italic"
rtbDoc.SelItalic = Not rtbDoc.SelItalic
Case "QQ"
Shell "D:\腾讯QQ\QQ.exe" '去掉()后可以没有返回值!很多VB函数都是这样的。
Case "delete"
rtbDoc.SelText = ""
Case "waste"
If Not (rtbDoc.Text = "") Then '如果不为空
intResponse = MsgBox("需要删除当前文件吗?", vbQuestion + vbOKCancel, "文件删除")
If intResponse = vbOK Then
'什么都不执行!应该就等于删除吧??
ElseIf intResponse = vbCancel Then
Exit Sub
End If
End If
Case "print"
cdlFile.ShowPrinter
Case "color"
mnuColor_Click
End Select
End Sub
请指教!
最后我在数上抄的,好像不对!


2007-04-24 02:26
huangwy
Rank: 1
等 级:新手上路
威 望:2
帖 子:297
专家分:0
注 册:2007-3-23
收藏
得分:0 
你这样做还不行吗
2007-04-24 08:53
wyfandy
Rank: 1
来 自:深圳
等 级:新手上路
帖 子:376
专家分:0
注 册:2006-12-11
收藏
得分:0 
你保存的时候加一个参数
rtbDoc.SaveFile "f:\aaa.txt", 1

不论什么事,只要认准了一个目标,然后朝之不懈地努力,就一定实现。编程爱好者QQ群:21318556
2007-04-24 08:59
wyfandy
Rank: 1
来 自:深圳
等 级:新手上路
帖 子:376
专家分:0
注 册:2006-12-11
收藏
得分:0 

语法

object.SaveFile(pathname, filetype)

SaveFile 方法的语法包含下面部分:

部分 描述
object 必需的。对象表达式,其值是“应用于”列表中的一个对象。
pathname 必需的。字符串表达式,它定义保存控件内容文件的路径和文件名。
filetype 可选的。整数或常数,按照“设置值”中的描述确定加载文件的类型。


设置值

filetype 的设置值是:

常数 值 描述
rtfRTF 0 (缺省)RTF。RichTextBox 控件把它的内容存为一个 .rtf 文件。
rtfText 1 文本。RichTextBox 控件把它的内容存为一个文本文件。


不论什么事,只要认准了一个目标,然后朝之不懈地努力,就一定实现。编程爱好者QQ群:21318556
2007-04-24 09:09
huangwy
Rank: 1
等 级:新手上路
威 望:2
帖 子:297
专家分:0
注 册:2007-3-23
收藏
得分:0 
你的代码我调试过了
根本就不会出现你说的问题
2007-04-24 09:22
huangwy
Rank: 1
等 级:新手上路
威 望:2
帖 子:297
专家分:0
注 册:2007-3-23
收藏
得分:0 

7楼的说得对
不过由于系统默认是rtf格式的
不管扩展名是什么
他这样做没错,不会出现他说的问题


2007-04-24 09:37
huangwy
Rank: 1
等 级:新手上路
威 望:2
帖 子:297
专家分:0
注 册:2007-3-23
收藏
得分:0 

我想你不是在程序中打开出现这样的问题吧


2007-04-24 09:42
快速回复:为什么保存的不对?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024017 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved