请教两个小问题,请关注一下。(100分)

  • 主题发起人 主题发起人 逆水
  • 开始时间 开始时间

逆水

Unregistered / Unconfirmed
GUEST, unregistred user!
1.如:MEMO1。TEXT:=‘1234’;EDIT1。TEXT=任意值如等于:‘BBB’;
如何实现将MEMO1里的内容保存成以EDIT1。TEXT为名以TXT为后缀的文本文件中。
MEMO1.LINES.SAVETOFILE(EDIT1.TEXT'.TXT')好象不对.请问如何做才对.
如上:如EDIT1.TEXT:='BBB',文件名为:BBB.TXT;
2.我想实现这样一个功能,用命令将当前目录下所用具有相同后缀的文件例出来如*.TXT;
.然后选择其中我想要打开的一个,点击打开如何实现.
用Shellexecute(handle,nil,pchar('D:/333/BBBBBB.exe'),nil,nil,sw_shownormal) ;好象只能打开一个已知文件名的文件.,请问如何实现我的上述功能.
 
procedure TForm1.Button1Click(Sender: TObject);
begin
Self.Memo1.Lines.SaveToFile(Self.Edit1.Text+'.txt');
end;
 
试试这样:
MEMO1.LINES.SAVETOFILE(EDIT1.TEXT+'.TXT')
 
Self.OpenDialog1.Options 的 ofAllowMultiSelect 设置为True;
procedure TForm1.Button1Click(Sender: TObject);
var
i: Integer;
sFilter: String;
begin
sFilter := 'Text File (*.txt)|*.txt';
Self.OpenDialog1.Filter := sFilter;
if Self.OpenDialog1.Execute then
for i := 0 to Self.OpenDialog1.Files.Count - 1do
ShellExecute(Self.Handle, 'open', 'Notepad.exe', PChar(Self.OpenDialog1.Files), nil, SW_SHOW);
end;
 
我试试,但还有第二个问题呢。请再关注一下啊。
 
以上的程序可以同时打开多个
如果只要打开一个的话
procedure TForm1.Button1Click(Sender: TObject);
var
sFilter: String;
begin
sFilter := 'Text File (*.txt)|*.txt';
Self.OpenDialog1.Filter := sFilter;
if Self.OpenDialog1.Execute then
ShellExecute(Self.Handle, 'open', 'Notepad.exe', PChar(Self.OpenDialog1.FileName), nil, SW_SHOW);
end;
 
2。寻找一目录下的所有文件:
procedure FindFiles(APath:string);
var
FsearchRec,Dsearchrec:TsearchRec;
FindResult:integer;
function IsDirNotation(Adirname:string):boolean;
begin

result:=(adirname='.') or (adirname='..');
end;

begin
try
while Findresult=0do
begin

lbfiles.items.add(lowercase(apath+fsearchrec.name));//lbfiles 为 Tlistbox
findresult:=findnext(Fsearchrec);
end;
findresult:=findfirst(apath+'*.*',fadirectory,dsearchrec);//在此将*.*改为任意都可以
while findresult=0do
begin
if ((dsearchrec.attr and fadirectory)=fadirectory) and not isdirnotation (dsearchrec.name) then
findfiles(apath+dsearchrec.name);
findresult:=findnext(dsearchrec);
end;
finally
findclose(fsearchrec);
end;
end;
 
使用OPENDIALOG
 
CosmopolitanKen 、TrustMe
谢谢上面两位老兄,你们方法都正确。谢谢。
 
后退
顶部