Autor Beitrag
GericasS
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 540

Windows Vista Home Premium
D2010, VisualStudio2008
BeitragVerfasst: Mi 30.01.08 07:32 
Einen wunderschönen guten morgen,

ich hab diesen Source hier bei DSDT gefunden,
da ich nicht einfach copy und paste nutzen wollte und im Endeffekt nichts verstehe, meine frage ob mir das jmd. genau erklären könnte wie das abläuft.

:D

bzw. was die einzelnen zeilen bewirken !


ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
function GetUsername : String ;
var
  Buffer: array[0..255of Char;
  Size: DWord ;
begin
   Size := SizeOf(Buffer);
   if not Windows.GetUserName(Buffer, Size) then
    RaiseLastWin32Error;
   SetString(Result, Buffer, Size -1 );

_________________
Alexander N.
Neue Bewaffnung Amilo xi2428 T9300
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19326
Erhaltene Danke: 1749

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mi 30.01.08 11:31 
Nach dem begin:
1. Die Größe des Buffers (= Zwischenspeichers) in Size ablegen.
2. GetUserName mit dem Buffer und dessen Größe aufrufen. Der Buffer erhält in der Funktion dann die Daten in den innerhalb unserer Funktion belegten Arbeitsspeicher. Wir übergeben also den vorbereiteten Behälter und die Größe des Behälters und die Funktion legt die Daten rein.
3. Wenn die Funktion NICHT erfolgreich war, dann den zuletzt aufgetretenen Fehler als Exception auslösen, d.h. der wird dann auch angezeigt.
4. In Result soll der Inhalt von Buffer rein bis auf das abschließende Nullzeichen, dass du bei PChars (bzw. array of Char) dann hast. (Size wurde innerhalb von GetUserName auf den korrekten Wert gesetzt, so dass darin jetzt die tatsächliche Größe der Daten steht.)

Mehr zu dieses API-Funktionen findest du auch direkt bei Microsoft im MSDN: ;-)
msdn2.microsoft.com/...ms724432(VS.85).aspx
(Links gehen mit solchen URLs nicht^^)
GericasS Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 540

Windows Vista Home Premium
D2010, VisualStudio2008
BeitragVerfasst: Mi 30.01.08 11:44 
hey jaenicke,

vielen vielen Danke für die ausführliche ERklärung, falls ich noch fragen habe schreib ich sie hier rein !

_________________
Alexander N.
Neue Bewaffnung Amilo xi2428 T9300