对于我来说,我无法连接两个(/三个)字符串。这些是我尝试过的一些代码:
dir := 'C:\Users\' + Username + '\Downloads\done.txt'; //"Username" is the computer's current username.
//another example vvv
dir := 'C:\Users\' + Username;
dir := dir + '\Downloads\done.txt';
//last example vvv
dir := Concat('C:\Users\', Username, '\Downloads\done.txt');
所有示例始终返回相同的结果:
C:\Users\-username-
从不:
C:\Users\-username-\Downloads\done.txt
我在这里做错了什么?
最佳答案
我的猜测是,您的 Username
变量末尾包含 #0,并且您正在将该变量输出到某个 Windows API 函数。例如,以下代码将导致此不当行为:
procedure TForm1.Button1Click(Sender: TObject);
var
Dir: string;
Username: string;
begin
Username := 'Username' + #0;
Dir := Concat('C:\Users\', Username, '\Downloads\done.txt');
ShowMessage(Dir);
end;
我的建议是检查您的Username
变量的值,并删除末尾多余的 #0(如果有)。
关于Delphi XE3 - 无法连接字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14444826/