Thema: Delphi #0 aus String entfernen

Einzelnen Beitrag anzeigen

Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#5

Re: #0 aus String entfernen

  Alt 15. Apr 2009, 13:29
Eigentlich ist doch aber deine Funktion GetCurrentUserName fehlerhaft.
Der Fehler mit Trim zu korrigieren ist dann eher unschön.
Ungestest, aber ich denke du kommst damit klar:
Delphi-Quellcode:
function GetCurrentUserName:string;
const
  cnMaxUserNameLen = 254;
var
  dwUserNameLen: DWORD;
begin
  dwUserNameLen := cnMaxUserNameLen - 1;
  SetLength(Result, cnMaxUserNameLen); // besser Result als Puffer verwenden
  // immer den Returncode einer Windows API Funktion auswerten
  if GetUserName(PChar(sUserName), dwUserNameLen) then
    SetLength(Result, dwUserNameLen-1) // in der rückgegebenen Länge in die #0 mit enthalten
  else
    Result := '';
end;
  Mit Zitat antworten Zitat