delphi 生成txt文件问题
procedureTForm1.Button1Click(Sender:TObject);varstrlist:TStringList;beginstrlist:=TSt...
procedure TForm1.Button1Click(Sender: TObject);
var
strlist:TStringList;
begin
strlist:=TStringList.Create;
strlist.Add(memo1.Text);
strlist.SaveToFile(ExtractFilePath(Paramstr(0))+'newFile\'+IntToStr(i) + '.txt');
i:=i+1;
strlist.Free;
end;
i 是全局变量,我的思路是 在newfile文件夹下生成名字为1至无穷大的txt文件,目前我启动程序,可以生成从1.txt开始的文件,假如我生成到了5.txt ,然后关闭程序,再重新打开的时候,又要从1.txt开始计数,只到点击6次后,才又开始出现6.txt。我想实现生成5.txt后,关闭再重新打开程序时,鼠标点击一下就又开始从6.txt开始建立文件,而不是点击6次 才出现。(或者说再次打开程序时,能计算出最后一个文件的值,然后从最后一个值后+1继续生成新的文件) 请高手指点! 展开
var
strlist:TStringList;
begin
strlist:=TStringList.Create;
strlist.Add(memo1.Text);
strlist.SaveToFile(ExtractFilePath(Paramstr(0))+'newFile\'+IntToStr(i) + '.txt');
i:=i+1;
strlist.Free;
end;
i 是全局变量,我的思路是 在newfile文件夹下生成名字为1至无穷大的txt文件,目前我启动程序,可以生成从1.txt开始的文件,假如我生成到了5.txt ,然后关闭程序,再重新打开的时候,又要从1.txt开始计数,只到点击6次后,才又开始出现6.txt。我想实现生成5.txt后,关闭再重新打开程序时,鼠标点击一下就又开始从6.txt开始建立文件,而不是点击6次 才出现。(或者说再次打开程序时,能计算出最后一个文件的值,然后从最后一个值后+1继续生成新的文件) 请高手指点! 展开
2个回答
展开全部
//这个你不用想那么复杂啊,创建文件之前判断一下就可以了,比如你现在i是1,判断一下1.txt存不存在,存在就i+1;再判断。直到i = n,n.txt不存在,就创建。
var
strlist:TStringList;
fileName:string;//文件名
begin
strlist:=TStringList.Create; strlist.Add(memo1.Text);
filename :=ExtractFilePath(Paramstr(0))+'newFile\'+IntToStr(i) + '.txt';
while fileExists(fileName) do //循环判断文件是否存在,存在就+1,不存在就保存
begin
i:= i+1;
filename :=ExtractFilePath(Paramstr(0))+'newFile\'+IntToStr(i)+'.txt';
end;
strlist.SaveToFile(FileName);
i:=i+1;
strlist.Free;
end;
//这不是什么技术问题,只是编程思路问题,用楼上保存文件也可以实现
2013-12-08 · 知道合伙人软件行家
关注
展开全部
全局变量是只有程序过程中才会起作用,当你关闭程序,这个全局变量的值就没有了,再重新运行程序仍然会按你原先的值重新初始化,因此,得到你上面所说的程序运行是正常的。
如果想要“从最后一个值后+1继续生成新的文件”,那么,你需要在程序运行后,首先要将 i 的值初始化为最后一次的值,这个值通常是独立于程序本身保存(比如,在某个txt文件、ini文件、数据库中、甚至注册表等等)。
当你关闭程序之前,将最后的值保存起来。当你运行程序后,将最后的值取出来。
如果想要“从最后一个值后+1继续生成新的文件”,那么,你需要在程序运行后,首先要将 i 的值初始化为最后一次的值,这个值通常是独立于程序本身保存(比如,在某个txt文件、ini文件、数据库中、甚至注册表等等)。
当你关闭程序之前,将最后的值保存起来。当你运行程序后,将最后的值取出来。
更多追问追答
追问
您说的挺有道理的,我比较菜,能说说实现您的思路的方法代码吗? 比如那个 关闭程序之前,将最后的值保存起来。当你运行程序后,将最后的值取出来
追答
1. 在Form的 OnShow 或是 OnCreate 事件中编写代码,比如,从INI文件中读取最后的值,再将这个值赋给 i。
2. 在Form的 OnClose 事件中编写代码,将 i 的值保存到ini文件中。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询