PDA

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



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

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

ShowMessage PcName + ' ' + UserNamee

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

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

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

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

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

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

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



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:44 عصر
از اين کد استفاده کنيد :


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;

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

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

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

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