PDA

نسخه کامل مشاهده نسخه کامل : چطور در دلفی نام كامپيوتر و گروه كاربر درون شبكه را تشخیص داد؟



hamed1358
22-04-2006, 15:20
چطور ميتوان در دلفي درون شبكه نام كامپيوتر و گروه كاري كاربر برنامه را را تشخيص داد ؟

NoneForce
23-04-2006, 13:24
سلام
براي گرفتن نام گروه كاري يا دومين :

function GetWorkgroupName: string;
type
P_WKSTA_INFO_100 = ^T_WKSTA_INFO_100;
_WKSTA_INFO_100 = record
wki100_platform_id: LongInt;
wki100_computername: PWideChar;
wki100_langroup: PWideChar;
wki100_ver_major: LongInt;
wki100_ver_minor: LongInt;
end;
T_WKSTA_INFO_100 = _WKSTA_INFO_100;
var
DLLHandle: THandle;
Info: P_WKSTA_INFO_100;
NetWkstaGetInfo: function(servername: PAnsiChar; Level: DWord; var Buf:
P_WKSTA_INFO_100): DWORD; Stdcall;
begin
Result := '';
DLLHandle := LoadLibrary('NETAPI32.DLL');
if DLLHandle = 0 then //Can't load DLL
exit;
@NetWkstaGetInfo := GetProcAddress(DLLHandle, 'NetWkstaGetInfo');
if @NetWkstaGetInfo = nil then //Exported function not found
begin
FreeLibrary(DLLHandle);
exit;
end;
if NetWkstaGetInfo(nil, 100, Info) = 0 then
Result := Info^.wki100_langroup;
FreeLibrary(DLLHandle);
end;


اين هم براي گرفتن اسم كامپيوتر :

function ComputerName: string;
var
size: DWORD;
begin
size := MAX_COMPUTERNAME_LENGTH + 1;
SetLength(Result, size - 1);
if not GetComputerName(PChar(Result), size) then
Result := '';
end;

elagoli
21-09-2006, 12:39
با سلام
ببخشيد كسي ميدونه چطور وقتي يك نام گروه كاري را پيدا مي كنيم مي توان به عنوان يك آدرس براي بازكردن فولدر آن استفاده كرد ؟
يا بتوانيم آدرس my network place\entire network را به عنوان مسير براي باز كردن پوشه بدهيم .
خواش مي كنم اگر كسي اطلاعاتي دارد به من كمك كند . شديداً احتياج دارم .
با تشكر

Admiral
21-09-2006, 13:18
ابتدا باید نام کامپیوتر و سپس پوشه هایی که دسترسی به آنها از طریق شبکه ممکن هست رو بدید.مثلاً :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

elagoli
21-09-2006, 19:06
با سلام و با تشكر از بذل توجه شما دوست عزيز
ولي فكر مي كنم من سوال خود را خيلي بد مطرح كردم
من مي خواهم پوشه هايي را كه در گروه كاري(شامل حدود 200 كاربر) به اشتراك گذاشته شده به صورت روزانه و يا ساعتي چك كرده و تغييراتي را كه در اين پوشه ها ايجاد شده ( مثلاَ يك فايل اضافه يا كم گرديده است ) را در بانك نگهداري كنم و بعد از آنها گزارش بگيرم . براي اين كار نياز است كه آدرس گروه كاري را به سيستم بدهم نه پوشه هاي اشتراكي را و مشكل اساسي من در پيدا كردن آدرس EntireNetwork در شبكه و آدرس دهي به آن است .اگر كسي اطلاعاتي دارد لطفاً كمك كند.
با تشكر

elagoli
23-09-2006, 08:06
با سلام
ببخشيد كسي نمي خواهد كمك كند ؟

مرد مباح
23-09-2006, 11:04
دوست عزيز.
اگه اين برنامه رو درست طراحي كرده باشي ميتوني هر دوتا مشكلت رو تو ديتابيس عين آب خوردن حل كني.
موفق باشي.

elagoli
23-09-2006, 11:13
ببخشيد
من اصلاً نميتونم به اطلاعات دسترسي پيدا كنم كه بخواهم انها را بريزم توي ديتابيس
ميشه برام واضح تر توضيح بديد ( آخه من كاربر جديدم حتي توي برنامه نويسي با دلفي )
با تشكر

مرد مباح
23-09-2006, 11:16
از چه ديتابيسي ايتفاده ميكني كه نميتوني ارتباط ايجاد كني ؟؟؟
به راحتي توي سرور فايل رو شير كن و از باقي كامپيوترها بهش كانكت بشو.

elagoli
23-09-2006, 12:07
با سلام
من فكر كردم سوالم را واضح بيان كردم ولي فكر كنم اشتباه كرده بودم
من نياز دارم كه روي كامپيوتر خودم به آدرس My Network Place\ EntireNetwork\WorkStation وصل شوم و در يك گرو كاري به خصوص، ShareFolder هاي اشتراكي را چك كرده و فايلهاي درون ان را با فايلهاي روز قبل بررسي كرده و اگر موردي به پوشه اضافه گرديده نام آن را نگهداري كنم .
اين WorkStation داراي حدوداً 200 كاربر است كه ممكن است هر كدام داراي چندين ShareFolder باشند
با تشكر

مرد مباح
23-09-2006, 16:00
وظيفه اصلي اين نزم اقزار رو توضيح بده تا بدونيم دقيق چي ميخواي

elagoli
23-09-2006, 18:37
با سلام
من فكر كردم سوالم را واضح بيان كردم ولي فكر كنم اشتباه كرده بودم
من نياز دارم كه روي كامپيوتر خودم به آدرس My Network Place\ EntireNetwork\WorkStation وصل شوم و در يك گرو كاري به خصوص، ShareFolder هاي اشتراكي را چك كرده و فايلهاي درون ان را با فايلهاي روز قبل بررسي كرده و اگر موردي به پوشه اضافه گرديده نام آن را نگهداري كنم .
اين WorkStation داراي حدوداً 200 كاربر است كه ممكن است هر كدام داراي چندين ShareFolder باشند
با تشكر


ببخشيد داريد سربه سر من مي گذاريد ؟ پس من بالا چي نوشتم ؟