Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Warum klappt das Label nicht (https://www.delphipraxis.net/23872-warum-klappt-das-label-nicht.html)

sui 10. Jun 2004 23:58


Warum klappt das Label nicht
 
Delphi-Quellcode:
     
function CurrentUserName: String;
var
  u: array[0..127] of Char;
  sz: DWord;
begin
  sz:=SizeOf(u);
  GetUserName(u,sz);
  Result:=u;
  label1.caption := CurrentUserName;
end;
Warum zeigt er mir den Namen nicht automatisch an, ohne das ich etwas
klicken muss.

sui

dizzy 11. Jun 2004 00:08

Re: Warum klappt das Label nicht
 
Wahahaaas du da machst, ist ein Endlosaufruf dieser Funktion :!: Eigentlich dürfte dein Programm nicht mehr reagieren wenn diese Fkt. aufgerufen wird :gruebel:

Und wenn du möchtest, dass es etwas sofort nach Programmstart passiert, mach es im OnCreate von deinem Formular, oder setz den Namen fest im OI zur Designtime. So dürfte das garnicht hinhauen.

gruss,
dizzy

sui 11. Jun 2004 00:15

Re: Warum klappt das Label nicht
 
Versteh ich jetzt nicht so ganz :?:

Pseudemys Nelsoni 11. Jun 2004 00:17

Re: Warum klappt das Label nicht
 
deine funktion ist rekursiv, sie ruft sich immer wieder selbst auf:

Zitat:

label1.caption := CurrentUserName;

Luckie 11. Jun 2004 00:17

Re: Warum klappt das Label nicht
 
Bist du sicher dass deine Funktion Labe11 überhauot kennt? Sie ist ja keine Methode deiner Formklasse. Und Btw fände ich es so besser:
Delphi-Quellcode:
function UserName: 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;

sui 11. Jun 2004 00:26

Re: Warum klappt das Label nicht
 
Hm, also ich möchte einfach ein Label oder sonst ein Feld haben,
wo gleich von Anfang an der Windows-Benutzername drin steht.
Soll eine Begrüssung werden.
Ist mir schon lange ein Rätsel, wie solche Sachen realisiert werden.
Das irgendeine Information ausgelesen, (wie auch immer) und dann in einem
Feld dargestellt wird. Kann mir das nicht mal einer unterbreiten?
Bin unterinformiert... :stupid:

Pseudemys Nelsoni 11. Jun 2004 00:28

Re: Warum klappt das Label nicht
 
wie sieht denn die function "GetUsername" aus?

wenn würde ich es so machen:

Code:
label1.caption := u;

sui 11. Jun 2004 00:30

Re: Warum klappt das Label nicht
 
Hatt ich schon, passiert nix. Vielleiht hab ich auch wieder mal
alles grundlegend falsch.

Luckie 11. Jun 2004 01:12

Re: Warum klappt das Label nicht
 
Delphi-Quellcode:
type
  TForm1 = class(TForm)
    Label1: TLabel;
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

function UserName: 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;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Label1.Caption := UserName;
end;
Ein paar Grundlagentutorials / -bücher wären wohl nicht schlecht. ;)

sui 11. Jun 2004 01:25

Re: Warum klappt das Label nicht
 
Hach wie doof, doppelt aufs Formular und dann caption :=!!!
Warum hat mich denn keiner an den Doppelklick aufs Formular
gebracht, dann hätt ichs wieder gehabt. :mrgreen:

Hat grad ne andere Lösung mit der Timer-Komponente :mrgreen: :mrgreen:

Danke Luckie, aber ich lass mir meinen Namen lieber alle 1000ms neu generieren. *lol


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:29 Uhr.
Seite 1 von 2  1 2      

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