帮忙看看ShellExecute()函数的用法,谢谢了,呵呵呵!
[code=C/C++][/code]
void SearchTXT(AnsiString Dir)
{
TSearchRec sr;
if(FindFirst(Dir+"\\"+"新建文本文档("+n+").txt",faAnyFile,sr)==0)
{
do
{
n++;
}
while(FindNext(sr)==0);
FindClose(sr);
}
}
void __fastcall TForm1::Txt1Click(TObject *Sender)
{
AnsiString ss = GetCurrentDir();
SearchTXT(ss);
TStrings* aa = new TStringList();
aa->SaveToFile(ss+"\\"+"新建文本文档("+n+").txt");
delete aa;
//ShellExecute(Handle,"open","新建文本文档"+n+".txt",NULL,NULL,SW_SHOW);这个地方我能在文档名这个参数这里设置变///量吗的?因为我要打开的文档是临时新建的,所以不能指定固定的文档名,试了下不成功!不知道怎么办啊!
}
[解决办法]
AnsiString __fastcall CrnGetAvailableTxtFileName(AnsiString strDir){ int nIndex = 0; // 从0开始遍历 AnsiString strFileName; while (FileExists(strFileName.sprintf( "%s\\新建文本文档(%d).txt", strDir, ++nIndex))) {} return strFileName;}void __fastcall TForm1::Button1Click(TObject *Sender){ AnsiString strDir = GetCurrentDir(); AnsiString strFileName = CrnGetAvailableTxtFileName(strDir); TStrings *lst = new TStringList(); lst->Add("test"); lst->SaveToFile(strFileName); delete lst; ShellExecute(Handle, "open", strFileName.c_str(), NULL, NULL, SW_SHOW);}