如何向一个过程传递文件一个文本文件名.(50分)

  • 主题发起人 主题发起人 请记住我
  • 开始时间 开始时间

请记住我

Unregistered / Unconfirmed
GUEST, unregistred user!
我的想法是:通过savedialog控件创建一个文本文件.我想将这个文件名(包括路径)传递到一个过程中,在过程中向文本文件中写入数据.
我现在做法是:把从savedialog获取的文件和一个变量关联起来,我将这个变量传递到过程中.
但是提示:file type not allowed here.
请各位大虾帮一下忙,看如何解决.谢谢~
 
这不就是传递一个字符串吗?
 
谢谢,支持.
能给出具体方法吗,还没有成功~
 
你先把你的代码贴上来看看
 
if OpenDialog1.Execute then
ShowMessage(OpenDialog1.FileName);
 
代码如下:
procedure m_file(vd:textfile);
begin
append(vd);
writeln(vd,'.................');
closefile(vd);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
vd:textfile;
begin
if savedialog1.execute then
begin
assignfile(vd,savedialog1.filename);
rewrite(vd);
closefile(vd);
m_file(vd)
end;
end;
 
vd 设成全局变量
 
但是编译提示:
procedure m_file(vd:textfile);这个地方:file type not allowed here.
 
干吗不写成这样.......

procedure m_file(filename:string);
var
vd:textfile
begin
assignfile(vd,savedialog1.filename);
append(vd);
writeln(vd,'.................');
closefile(vd);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
if savedialog1.execute then
begin
m_file(savedialog1.filename)
end;
end;
 
编译后在assignfile(vd,savedialog1.filename);提示:Undeclared identifier:'savedialog1'和Incompatible types;
 
-_-!直接copy过来,没改参数.......难道你看不出来?

procedure m_file(filename:string);
var
vd:textfile
begin
assignfile(vd,filename);
append(vd);
writeln(vd,'.................');
closefile(vd);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
if savedialog1.execute then
begin
m_file(savedialog1.filename)
end;
end;
 
谢谢各位帮忙.接受hs-kill答案;
顺便提一下append(vd);要改成rewrite(vd).不然会编译错误.

kkyy说的有道理但不够具体,我没能理解.给5分.感谢支持.
谢谢hs-kill的帮助.给45分.
 
后退
顶部