首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

文件写进去,读出来的完整的代码?在CB里

2012-02-27 
求一个文件写进去,读出来的完整的代码?在CB里。我想把Edit控件里的内容写入到一个文件里,并且还要写入这个

求一个文件写进去,读出来的完整的代码?在CB里。
我想把Edit控件里的内容写入到一个文件里,并且还要写入这个控件的NAME
写入的时候要求这样:
文件名:aa.dt,文件里的格式:
Edit1,0.6
Edit2,0.2
Edit3,0.07
...
读出来的时候也要求是这样对应,读出来的时候因为要把数值显示到Edit控件里去,所以希望对应。
另外文件里的内容怎么样做清除,我想在写入内容的之前先把原先里面的内容全部清除掉。
请求给我写这两段代码?给代码了,再加20分

[解决办法]
正好做过类似程序,很简单的:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
TStringList *t=new TStringList();
for (int i=0;i <ComponentCount;i++)
if (String(Components[i]-> ClassName())== "TEdit ")
t-> Add(String(Components[i]-> Name)+ ", "+(((TEdit *)Components[i])-> Text));

t-> SaveToFile( "aa.dt ");
delete t;
}
另外,TStringList的SaveToFile本身就会清除原文件内容,不用做另外处理
[解决办法]
读出的忘写了:
void __fastcall TForm1::Button2Click(TObject *Sender)
{
String s,name,value;
TEdit *c;
int p;

TStringList *t=new TStringList();
t-> LoadFromFile( "aa.dt ");
for (int i=0;i <t-> Count;i++)
{
s=t-> Strings[i];
p=s.Pos( ", ");
if (p==-1)
{
ShowMessage(String( "文件错(少,号):第 ")+i+1+ "行: "+s);
continue;
}
name=s.SubString(1,p-1);
value=s.SubString(p+1,s.Length());
c=(TEdit *)FindComponent(name);
if (c==NULL)
{
ShowMessage(String( "文件错(找不到控件名):第 ")+i+1+ "行: "+s);
continue;
}
c-> Text=value;
}
delete t;

}

热点排行