AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

String ist nicht ereiterbar!!

Ein Thema von TitanNano · begonnen am 7. Dez 2010 · letzter Beitrag vom 8. Dez 2010
Antwort Antwort
Seite 1 von 2  1 2   
TitanNano
(Gast)

n/a Beiträge
 
#1

String ist nicht ereiterbar!!

  Alt 7. Dez 2010, 20:00
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
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: String ist nicht ereiterbar!!

  Alt 7. Dez 2010, 20:01
Mit welche Funktion?
Schau dir mal StrPas() an
Markus Kinzler
  Mit Zitat antworten Zitat
TitanNano
(Gast)

n/a Beiträge
 
#3

AW: String ist nicht ereiterbar!!

  Alt 7. Dez 2010, 20:03
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;
  Mit Zitat antworten Zitat
Benutzerbild von wicht
wicht

Registriert seit: 15. Jan 2006
Ort: Das schöne Enger nahe Bielefeld
809 Beiträge
 
Delphi XE Professional
 
#4

AW: String ist nicht ereiterbar!!

  Alt 7. Dez 2010, 21:02
So solltes klappen..


Delphi-Quellcode:
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;
HTH
http://streamwriter.org

"I make hits. Not the public. I tell the DJ’s what to play. Understand?"
  Mit Zitat antworten Zitat
TitanNano
(Gast)

n/a Beiträge
 
#5

AW: String ist nicht ereiterbar!!

  Alt 8. Dez 2010, 17:59
tut mir Leid aber es hat sich nicht geändert!!
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#6

AW: String ist nicht ereiterbar!!

  Alt 8. Dez 2010, 18:01
... 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;
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
TitanNano
(Gast)

n/a Beiträge
 
#7

AW: String ist nicht ereiterbar!!

  Alt 8. Dez 2010, 18:03
ne, das hab ich selber auch Grad probiert.
  Mit Zitat antworten Zitat
pmoegenb

Registriert seit: 24. Aug 2006
Ort: Aidlingen
155 Beiträge
 
Delphi XE6 Professional
 
#8

AW: String ist nicht ereiterbar!!

  Alt 8. Dez 2010, 18:21
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;
Peter Mögenburg
Gruß

Peter
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#9

AW: String ist nicht ereiterbar!!

  Alt 8. Dez 2010, 18:46
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:
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;
Natürlich würde man diese Funktion niemals ändern nur um noch einen Text hinzuzufügen!
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;
Andreas
  Mit Zitat antworten Zitat
TitanNano
(Gast)

n/a Beiträge
 
#10

AW: String ist nicht ereiterbar!!

  Alt 8. Dez 2010, 19:09
danke für die Antwort, aber mein Delphi erkennt die Funktion StrResetLength nicht.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:45 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz