PDA

View Full Version : جواب ندادن دلفی به دستور زیر



mbr485
جمعه 05 مهر 1387, 11:42 صبح
با سلام
دوستان عزیر من با استفاده از رجیستری می خواستم تعدادی از اطلاعات کامپیوتر را مانند نام کامپیوتر و ... را بدست آورم ولی برنامه زیر بدون اشکال اجرا می شود ولی هیچ پاسخی داده نمی شود .
لطفا مرا راهنمایی نمائید .

procedure TForm1.Button1Click(Sender: TObject);
var
reg:TRegistry;
s:string;
begin
reg:=TRegistry.Create;
reg.RootKey:=HKEY_LOCAL_MACHINE;
Reg.OpenKey('SOFTWARE\Microsoft\Windows\MSSQLServe r\MSSQLServer\CurrentVersion',false);
s:=Reg.ReadString('RegisteredOwner');
reg.CloseKey;
edit1.Text:=reg.CurrentPath ;
end;

Felony
جمعه 05 مهر 1387, 12:06 عصر
شما از چه مسیری میخوای اطلاعاتی در مورد نام کامپیوتر را بگیرید ؟؟؟


var
reg:TRegistry;
s:string;
begin
reg:=TRegistry.Create;
reg.RootKey:=HKEY_LOCAL_MACHINE;
Reg.OpenKey('SOFTWARE\Microsoft\Windows\MSSQLServe r\MSSQLServer\CurrentVersion',false);
s:=Reg.ReadString('RegisteredOwner');
reg.CloseKey;
edit1.Text:=reg.CurrentPath ;

شما اینجا رفتین داخل کلید های قرمز شده در صورتی که همچین کلید هایی به طور پیشفرض در ریجستری نیستن !!!
بعدشم چرا در آخر این کد رو نوشتین !!! :


edit1.Text:=reg.CurrentPath ;

اگه میخواستین این کار رو بکنین پس متغییر S اینجا چیکارس ؟

amin_alexi
شنبه 06 مهر 1387, 07:50 صبح
سلام
براي به دست آوردن اسم Computer از اين تابع استفاده كنيد .

Function ComputerName: String;
Var
ST: PChar;
I: DWORD;
Begin
I:=1000;
GetMem(ST,I);
If GetComputerName(ST,I) Then Result:=String(ST);
FreeMem(ST);
End;