delphi写入文件的问题

代码如下:functionTFrm_Main.AddTnsnames():Boolean;constcTnsName_NewInstant='%s'+'='+#13#10... 代码如下:
function TFrm_Main.AddTnsnames(): Boolean;
const
cTnsName_NewInstant =
'%s' + ' =' + #13#10 +
' (DESCRIPTION =' + #13#10 +
' (ADDRESS_LIST =' + #13#10 +
' (ADDRESS = (PROTOCOL = TCP)(HOST = %s)(PORT = 1521))' + #13#10 +
' )' + #13#10 +
' (CONNECT_DATA =' + #13#10 +
' (SERVICE_NAME = %s)' + #13#10 +
' )' + #13#10 + ' )';
var
strmFile: TFileStream;
strData: string[255];
begin
if (Edit3.Text = '') or (Edit4.Text = '') or (Edit5.Text = '') then
begin
TMessageBox.ShowInfo('输入存在空值,请检查!');
Exit;
end
else
begin
strData := Format(cTnsName_NewInstant, [AYEdit3.Text, AYEdit5.Text, AYEdit4.Text]);
try
try
strmFile := TFileStream.Create('C:\Users\Admin\Desktop\config.ini', fmOpenWrite or fmShareExclusive);
strmFile.Seek(0, soFromEnd);
strmFile.WriteBuffer(strData, SizeOf(strData));
Result := True;
finally
strmFile.Free;
Result := False;
end;
except
TMessageBox.ShowInfo('写入文件失败!');
end;
end;
end;
测试时如果在三个edit分别输入:test,orcl,1.1.1.1时最终写入的是:
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 1.1.1.1)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)嚈遳茺 庶d?  p驮 利 聂遳犝? 袡遳
蜷Z 茺 p驮 潲 寭E 旪
不知道是什么问题。求教。谢谢了!或者还有更好的方式写入那一段格式字符串吗。
展开
 我来答
dodolon
2014-03-04 · TA获得超过7713个赞
知道大有可为答主
回答量:4477
采纳率:84%
帮助的人:2136万
展开全部
写INI文件还用文件流来写呀?自己找麻烦。直接用TIniFile类来做。
更多追问追答
追问
其实主要是打算写tnsnames.ora文件的。ini文件是为了测试方便所以暂时用了那个文件。
追答
你的问题是什么?是写入的文件后面多出了一些乱码?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式