PDA

View Full Version : بدست اوردن نام کامپیوتر و نام کاربری باهم



Hamid Mahmoudi
جمعه 20 فروردین 1389, 14:50 عصر
سلام. چطوری میشه نام کاربری و نام کامپیوتر رو با هم بدست بیاریم. من مثالهایی رو دیدم ولی نتونستم با هم بدستشون بیارم.

مثلا اگه فانکشن هامون به این اسم ها باشند در حالت زیر فقط میتونه نام کامپوتر بدست بیاره. چرا؟ و برای اینکه درست کار بکنه چکار باید بکنم؟

ShowMessage PcName + ' ' + UserNamee

در تاپیک زیر یه نمونه هست که من با تغییرش تونسم نام کاربری رو بدست بیارم ولی متاسفانه مشکل بالا وجود داره.

http://barnamenevis.org/forum/showthread.php?t=165209

علی کشاورز
جمعه 20 فروردین 1389, 17:26 عصر
در تاپیک زیر یه نمونه هست که من با تغییرش تونسم نام کاربری رو بدست بیارم ولی متاسفانه مشکل بالا وجود داره.
مشکل بالا چی هست؟!

کد شما که یک ShowMessage هست با دو متغیر PCName و UserName که معلوم نیست چی هستند، و چطور مقداردهی شدند. چه راهنمایی باید با توجه به اون کد انجام بشه؟!

برای به دست آوردن نام کامپیوتر از GetComputerName و برای به دست آوردن نام کاربر لاگین شده فعلی در سیستم از GetUserName استفاده میشه. نحوه استفاده از آنها هم یکسان هست، فقط باید در کد مربوطه نام این دو تابع را با هم عوض کنید.

Hamid Mahmoudi
جمعه 20 فروردین 1389, 17:37 عصر
از کدهای زیر استفاده کردم ولی فقط در حالت زیر و با کلیک روی باتن نام کامپیوتر رو فقط برمیگردونه!!

من میخام نام کامپیوتر + نام کاربری رو بعد از اینکه بدست آوردم نشون بدم.



function GetThisComputerName: string;
var
Size: DWord;
begin
Size := 0;
GetComputerName(nil,Size);
Inc(Size);
SetLength(Result,Size);
GetComputerName(PChar(Result),Size);
end;

function GetThisUserName: string;
var
Size: DWord;
begin
Size := 0;
GetUserName(nil,Size);
Inc(Size);
SetLength(Result,Size);
GetUserName(PChar(Result),Size);
end;





procedure Tfrm1.Button1Click(Sender: TObject);
begin
showmessage(GetThisComputerName + ' ' + GetThisUserName );
end;

DAMAVAND
جمعه 20 فروردین 1389, 18:14 عصر
از اين کد استفاده کنيد :


procedure TForm1.Button1Click(Sender: TObject);
var
cn,un:array [0..255] of char ;
Buf:Cardinal;
begin
Buf:=255;
GetComputerName(cn,Buf);
GetUserName(un,Buf);
showmessage(StrPas(cn)+' , '+StrPas(un));
end;

Hamid Mahmoudi
جمعه 20 فروردین 1389, 18:22 عصر
شلوغ شدنش به دلیل توضیح آقای کشاورز در پست زیر بوده :

http://barnamenevis.org/forum/showpost.php?p=774184&postcount=10

راستی راه دیگه ای هم وجود داره ؟(به غیر از روش شما)

Hamid Mahmoudi
جمعه 20 فروردین 1389, 19:47 عصر
مشکل کدهای بنده چی بود؟ و اینکه چطور میشه اونو اطلاح بکنم؟