Hi,
mit folgender Routine lese ich den aktuellen Benutzernamen aus
Delphi-Quellcode:
function GetCurrentUserName:string;
const
cnMaxUserNameLen = 254;
var
sUserName: string;
dwUserNameLen: DWORD;
begin
dwUserNameLen := cnMaxUserNameLen - 1;
SetLength(sUserName, cnMaxUserNameLen);
GetUserName(PChar(sUserName), dwUserNameLen);
SetLength(sUserName, dwUserNameLen);
Result := sUserName;
end;
um ihn in einem Dateinamen zu verwenden:
LSV.SaveToFile(Path + GetCurrentUserName + '@' + List[iLine] + '[' + IntToStr(i) +'].txt');
Leider wird immer nur Path + GetCurrentUserName als Dateiname gespeichert. Durch den Debugger hab ich herausgefunden das beim von GetCurrentUserName zurückgegebenen String ein #0 am Ende steht. Ich hab mit folgenden Codes versucht #0 zu entfernen. Leider funktionierts nicht.
Result := StringReplace(sUserName, #0, '', [rfReplaceAll]);
Delete(Result, Length(Result), 1);
Was mache ich falsch?
Grüße,
Andy