![]() |
String ist nicht ereiterbar!!
Hallo,
Ich habe mir aus dem Internet eine Funktion geholt, die den aktuellen Benutzer ausliest, das klappt auch super, doch kann ich wenn ich den Namen irgend wo verwende, keinen weiteren String anhängen. Das bei allen Funktionen so, die ich gefunden habe, was genau muss ich den mit dem String denn noch machen, bevor ich ihn verwende?? mfg. TitanNano |
AW: String ist nicht ereiterbar!!
Mit welche Funktion?
Schau dir mal StrPas() an |
AW: String ist nicht ereiterbar!!
meinst du die Funktion die den Nutzer Namen aus liest??
Delphi-Quellcode:
function TForm3.GetUser: string;
var Size : DWORD; begin Size := MAX_COMPUTERNAME_LENGTH + 1; SetLength(Result, Size); if GetUserName(PChar(Result), Size) then SetLength(Result, Size) else Result := ''; end; |
AW: String ist nicht ereiterbar!!
So solltes klappen..
Delphi-Quellcode:
HTH
function TForm3.GetUser: string;
var Size : DWORD; begin Size := MAX_COMPUTERNAME_LENGTH + 1; SetLength(Result, Size); if GetUserName(PChar(Result), Size) then begin SetLength(Result, Size); Result := Result + ' ist der aktuelle Benutzer!'; // <<------ end else Result := ''; end; |
AW: String ist nicht ereiterbar!!
tut mir Leid aber es hat sich nicht geändert!!
|
AW: String ist nicht ereiterbar!!
... und so ... ?
Delphi-Quellcode:
function TForm3.GetUser: string;
var Size : DWORD; buffer : string; begin Size := MAX_COMPUTERNAME_LENGTH + 1; SetLength( buffer, Size); if GetUserName(PChar( buffer ), Size) then begin SetLength( buffer, Size); Result := buffer; end else Result := ''; end; |
AW: String ist nicht ereiterbar!!
ne, das hab ich selber auch Grad probiert.
|
AW: String ist nicht ereiterbar!!
Oder so:
Delphi-Quellcode:
function GetUserID: string;
var szUserName : array[0..99] of Char; dwSize : DWORD; begin FillChar(szUserName, SizeOf(szUserName), 0); dwSize := SizeOf(szUserName); GetUserName(szUserName, dwSize); Result := UPPERCASE(szUserName); end; |
AW: String ist nicht ereiterbar!!
Hier erst mal eine funktionierende Funktion um den lokalen Benutzer abzufragen:
(MAX_COMPUTERNAME_LENGTH ist nicht gleich der max. Länge des Benutzers)
Delphi-Quellcode:
Natürlich würde man diese Funktion niemals ändern nur um noch einen Text hinzuzufügen!
function GetLocalUserName: string;
var Count: DWORD; begin Count := 256 + 1; // UNLEN + 1 SetLength(Result, Count); if GetUserName(PChar(Result), Count) then StrResetLength(Result) else Result := ''; end; Den Benutzernamen um irgendeinen Hinweistext zu erweitern ist trivial. Goldene Regel bei der Stringverarbeitung: Wenn man Probleme hat, immer Zwischenvariablen verwenden. Eine ganz einfache Sache; man darf nur nicht schreibfaul sein.
Delphi-Quellcode:
var
Benutzermeldung : string; begin Benutzermeldung := 'Benutzername ist <'+GetLocalUserName+'>'; ShowMessage(Benutzermeldung); end; |
AW: String ist nicht ereiterbar!!
danke für die Antwort, aber mein Delphi erkennt die Funktion StrResetLength nicht.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:25 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz