【发布时间】:2011-12-07 16:14:58
【问题描述】:
我目前正在编写一个应用程序,其中有如下功能:
var a,b,c, algorithm: string
begin
a := some-operations-with-regular-expressions;
b := some-other-operation-with-regular-expressions;
c := just-similar-to-b-but-different;
algorithm := IniFile.ReadString('XML Info','AlgorithmExpression', '');
//algorithm is fetched like 'http://wwww.urlhere' + a + '/' + b + '/' + c
DoDownload (algorithm, true);
end;
现在我期望 a、b 和 c 自动替换为具有相同名称的变量的值,但看来我错了。有什么办法可以得到''和变量值之间的字符串组成的算法变量的结果?
任何建议(即使它要求进行重大重新设计)都将不胜感激。
谢谢, 斯芬克斯
【问题讨论】:
-
这不是 Delphi(或 any 编程语言)的工作方式...
algorithm是一个包含字符的字符串。就是这样。期间。 -
这个问题不清楚...被关闭的危险。
-
@Chris:我认为 OP 有一个类似
'Hello ' + name + '!'的字符串(字面意思),并希望name在运行时自动替换为字符串变量name的内容。 . -
您希望 Delphi 自动解析字符串表达并用不会发生的值替换适当的变量。你必须自己做。我建议您更改存储在 INI 文件中的算法表达式以包含“占位符”,以便您可以轻松地将它们替换为实际值。例如,在您的情况下,将
'http://wwww.urlhere' + a + '/' + b + '/' + c替换为http://wwww.urlhere%param1%/%param2%/%param3%。然后在algorithm变量上执行StringReplace,以便将 %param#% 替换为实际变量值。 -
@sphynx:我给你一个 +1 只是因为我认为 -1 是不公平的。 (并且一个问题不应该仅仅因为从程序员的角度来看它非常简单。)
标签: string delphi variables casting