![]() |
Warum klappt das Label nicht
Delphi-Quellcode:
Warum zeigt er mir den Namen nicht automatisch an, ohne das ich etwasfunction CurrentUserName: String; var u: array[0..127] of Char; sz: DWord; begin sz:=SizeOf(u); GetUserName(u,sz); Result:=u; label1.caption := CurrentUserName; end; klicken muss. sui |
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 |
Re: Warum klappt das Label nicht
Versteh ich jetzt nicht so ganz :?:
|
Re: Warum klappt das Label nicht
deine funktion ist rekursiv, sie ruft sich immer wieder selbst auf:
Zitat:
|
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; |
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: |
Re: Warum klappt das Label nicht
wie sieht denn die function "GetUsername" aus?
wenn würde ich es so machen:
Code:
label1.caption := u;
|
Re: Warum klappt das Label nicht
Hatt ich schon, passiert nix. Vielleiht hab ich auch wieder mal
alles grundlegend falsch. |
Re: Warum klappt das Label nicht
Delphi-Quellcode:
Ein paar Grundlagentutorials / -bücher wären wohl nicht schlecht. ;)
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; |
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 |
Re: Warum klappt das Label nicht
:gruebel: du ...naja, ich weiss nicht wie ich's sagen soll... du redest wirsche Dinge :oops:
Doppelclick? Aufs Formular!? Ein Timer!? Alle 1000ms nen quasi statischen Wert abfragen!? Ein Timer war sicher NICHT die Lösung - eher die Umbauten die durch dessen Einsatz nötig waren... Ich habe ehrlich gesagt den Eindruck, dass du nicht wirklich weisst, was du tust (sorry, aber so scheint es mir). Ich würde da Luckies Rat beherzigen, und mich zunächst mal eingehend mit a) Literatur zu Delphi/Programmierung allgemein, und b) Tutorials auseinandersetzen. Zu beidem findest du hier in der DP reichlich Links und Empfehlungen. Und mir kommt es zusätzlich so vor, als redest (naja, schreibst) du z.T. von Dingen, die du uns noch garnicht erzählt hast. Demnächst vielleicht ein paar mehr Randinfos und Erklärungen zu dem was überhaupt passieren soll geben, es wäre den potentiellen Antwortern sicher sehr dienlich ;) Ich würd's so machen wie Luckie. Das ist sauber und effizient. MfG, dizzy :angle: \\edit: those tags drive me crazy one day... |
Re: Warum klappt das Label nicht
Ich erklärs euch spääääter, bin zu grad zu kaputt um sinnvolle Zusammenhänge zu posten :duck:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:04 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