gpt4 book ai didi

delphi - 无法获取 ini 文件值

转载 作者:行者123 更新时间:2023-12-03 15:43:19 25 4
gpt4 key购买 nike

我尝试从 ini 文件中获取值。 ini 文件是:

[Database]
User=root
Pssword=lalalala
Server=localhost
Name=Prueba

我要阅读的代码过程是:

procedure testManejoIniFile();
var
iniFile: TIniFile;
user: String;
begin
{Abro el archivo ini}
iniFile := TIniFile.Create('config.ini');
user := iniFile.ReadString('Database','User','Algo anda mal...');
iniFile.Free;
WriteLn(user);
end;

调用该过程的cli程序是:

WriteLn('El usuario para la base de datos es:');
testManejoIniFile();
ReadLn;

cli 始终返回:

El usuario para la base de datos es:
Algo anda mal...

有什么想法吗?

最佳答案

您没有具体说明 TIniFile.Create 应该在哪里查找 config.ini 文件,因此它默认在 Windows 目录中查找,但没有找到它,并返回您所说的应该返回的默认值。

您需要指定 config.ini 文件的位置。如果它与您的应用程序位于同一文件夹中,您可以使用 ExtractFilePathParamStr(0)Application.ExeName 获取路径,如下所示(我添加了 try..finally 来防止异常,并移动了 WriteLn 以便仅在 ReadString 成功时才调用它) :

procedure testManejoIniFile();
var
iniFile: TIniFile;
user: String;
Path: string;
begin
{Abro el archivo ini}
Path := ExtractFilePath(ParamStr(0)); // Or Application.ExeName
iniFile := TIniFile.Create(Path + 'config.ini');
try
user := iniFile.ReadString('Database','User','Algo anda mal...');
WriteLn(user);
finally
iniFile.Free;
end;
end;

关于delphi - 无法获取 ini 文件值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17257350/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com