我正在使用ADO连接来连接我的数据库是MS Access,一切正常,但我很好奇是否可以选择写一个“通用”位置。
e.g。而不是
C :\ Documents and Settings \ User
我想写某些内容而不是 C ,因此程序会查看Documents and Settings文件夹所在的每个其他位置。
我尝试使用星号(*:\ Documents and Settings \ User)和三个点(...:\ Documents and Settings \ User)但它不起作用
提前致谢。
答案 0 :(得分:1)
如果您想要检索用户'文件夹,最简单的方法是使用SHGetFolderPath()
CSIDL_PERSONAL
来ShFolder.pas
:
program Project1;
{$APPTYPE CONSOLE}
uses SysUtils, Shfolder, ComObj, Windows;
var buffer : array[0..MAX_PATH] of Char;
begin
try
OleCheck( SHGetFolderPath( 0, CSIDL_PERSONAL, 0, SHGFP_TYPE_CURRENT, buffer));
Writeln(buffer);
except
on E: Exception do Writeln(E.ClassName, ': ', E.Message);
end;
end.
在其他一些参数中,函数需要一个CSIDL
常量来确定要返回的文件夹位置。例如,如果您想将数据库置于C:\ProgramData\<Your application name here>
下,则可以改为使用CSIDL_COMMON_APPDATA
。
查看documentation以了解其他参数和其他CSIDL
常量。