تعریف متغیر (متغیری در ریجستری) در ویژوال بیسیک
سلام
میخواستم ببینم با ویژوال بیسیک هم میشه چنین متغیری تعریف کرد؟
for /f "tokens=2*" %%a in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\yahoo\pager" /v "Version"') do set "$setM=%%b"
echo %$set%
کد بالا میاد از مسیر HKEY_LOCAL_MACHINE\SOFTWARE\yahoo\pager که در ریجستری هست ، هر مقدار یا آدرسی که در فایل Version هست رو به عنوان متغیر در نظر میگیره
و با دستور echo %$set% نمایش میده.
( اگه یاهو مسنجر داشته باشید این کد بالا رو بنویسید توی فایل txt و با bat ذخیره کنید ورژن یاهو مسنجرتون رو نشون میده. )
بگذریم
کلا میخواستم ببینم که میشه از این نوع متغیر ها تعریف کرد؟
اگه امکان تعریف هست شما بلدید؟ با چه کدی میشه این کارو کرد؟
مرسی
نقل قول: تعریف متغیر (متغیری در ریجستری) در ویژوال بیسیک
سلام
با توابع کنترل ریجستری امکان ویرایش یا گرفتن داده های ریجستری وجود دارد که البته قبلا بارها در اینباره مباحثی ارائه شده،
تاپیک های زیر را بررسی کنید:
https://barnamenevis.org/showthread.php?136330
https://barnamenevis.org/showthread.php?321012
و ماژول زیر:
https://barnamenevis.org/attachment.p...7&d=1317799843
همچنین میتوانید از توابع کنترل ریجستری موجود در کتابخانه "Windows Script Host Object Model" استفاده کنید:
https://barnamenevis.org/showthread.p...=1#post1347843
موفق باشید
نقل قول: تعریف متغیر (متغیری در ریجستری) در ویژوال بیسیک
مرسی محسن واژدی جان خوندم :بوس: :قلب:
ولی نتونستم متغیر تعریف کنم!!!! :ناراحت: :ناراحت:
نقل قول: تعریف متغیر (متغیری در ریجستری) در ویژوال بیسیک
چرا، به عنوان مثال اگر بخواهیم با کامپوننت "Windows Script Host Object Model" مقدار "Version" را از ریجستری دریافت کنیم میشود:
کد HTML:
Private Sub Command1_Click()
MsgBox reg.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\yahoo\pager\Version")
End Sub
و یا برای تعریف مقدار جدید
کد HTML:
Private Sub Command2_Click()
reg.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\yahoo\pager\Version", "1.0.1.0"
End Sub
موفق باشید
نقل قول: تعریف متغیر (متغیری در ریجستری) در ویژوال بیسیک
از کد زیر استفاده کردم ولی پس از اجرا و کلیک بر روی دکمه خطای
RUN-TIME ERROR '424':
OBJECT REQUIRED
میده!!!!!
کد HTML:
Private Sub Command1_Click() MsgBox reg.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\yahoo\pager\Version") End Sub
بعد یه چیزی اگه کد بالا عمل کنه و توی کلید VERSION آدرس باشه مثلا :
C:\WINDOWS
بعد من بخوام با یه کد دیگه بگم که از مسیری که توی VERSION هست هرچی dll هست رو کپی کنه چطور باید تعریف کنمش؟
مرسی
نقل قول: تعریف متغیر (متغیری در ریجستری) در ویژوال بیسیک
این کد رو هم توی یکی از تاپیک ها پیدا کردم
Private Sub Form_Load()
Set wshshell = CreateObject("WScript.Shell")
Text1.Text = wshshell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\yaho o\pager\Version")
End Sub
کد اطلاعات فایل version رو توی text box نشون میده
حالا مثلا توی text box ما مسیر C:\WINDOWS هست
با چه کدی باید بگم که از مسیری که توی text box هست فایل reza.dll رو کپی کنه توی C:\1
مرسی
نقل قول: تعریف متغیر (متغیری در ریجستری) در ویژوال بیسیک
نقل قول:
نوشته شده توسط
R2du-soft
از کد زیر استفاده کردم ولی پس از اجرا و کلیک بر روی دکمه خطای
RUN-TIME ERROR '424':
OBJECT REQUIRED
میده!!!!!
.
.
.
طبیعتا" این خطا را میدهد چون هنوز کامپوننت "Windows Script Host Object Model" به Reference اضافه نشده، برای اضافه کردن این کامپوننت هم میتوانیم از فرم Reference این کامپوننت را انتخاب کنیم و هم با CreateObject آنرا ایجاد کنیم، که در اینجا آنرا با CreateObjectایجاد میکنیم:
کد HTML:
Dim reg
Private Sub Form_Load()
Set reg = CreateObject("wscript.shell")
End Sub
Private Sub Command1_Click()
MsgBox reg.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\yahoo\pager\Version")
End Sub
نقل قول:
اگه کد بالا عمل کنه و توی کلید VERSION آدرس باشه مثلا :
C:\WINDOWS
بعد من بخوام با یه کد دیگه بگم که از مسیری که توی VERSION هست هرچی dll هست رو کپی کنه چطور باید تعریف کنمش؟
به اینصورت با توابع جستجوی میتوانیم محتوی مسیر بدست آمده را جستجو و با دستوری مانند FileCopy کپی کنیم، در مورد جستجوگر هم:
https://barnamenevis.org/attachment.p...7&d=1298962438
و یا
http://download.microsoft.com/downlo...C3/DirWalk.exe
-----
http://www.planet-source-code.com/vb...74032&lngWId=1
http://www.planet-source-code.com/vb...73753&lngWId=1
http://www.planet-source-code.com/vb...71531&lngWId=1
http://www.planet-source-code.com/vb...67051&lngWId=1
http://www.planet-source-code.com/vb...58810&lngWId=1
http://www.planet-source-code.com/vb...49401&lngWId=1
موفق باشید
نقل قول: تعریف متغیر (متغیری در ریجستری) در ویژوال بیسیک
محسن واژدی جان یه سوال
من اینحالتی از کد استفاده کردم
Private Sub Command1_Click()
Dim R As Integer
R = Text1.Text
FileCopy "(R\cnlurllist.dat)", "(c:\vbasic6\cnlurllist.dat)"
End Sub
Private Sub Form_Load()
Set wshshell = CreateObject("WScript.Shell")
Text1.Text = wshshell.RegRead("HKEY_CURRENT_USER\Software\Downl oadManager\AppDataIDMFolder")
End Sub
تو قسمت بالا R رو از توع integer تعریف کردم
بعد چطوری از دستور filecopy باید استفاده کنم؟
موقعی که این دوستورات رو مینویسم و exe میکنم
بعد از باز کردن exe روی دکمه کلیک میکنم تا فایلها کپی بشن، ولی ارور زیر میاد!!!!
کد HTML:
run-time error '13':
type mismatch
مرسی
نقل قول: تعریف متغیر (متغیری در ریجستری) در ویژوال بیسیک
توی تکست 1 شما چی نوشته شده؟ آدرس فولدر؟
اولا اون اروری که میده به خاطر اینه که نوع R از نوع Integer هستش و شما باید String تعریف کنی
(Integer یک نوع عددی هست و String میتونه شامل هر متنی باشه)
دوما اونطوری که شما نوشتی اشتباهه و مقدار R رو نمیذاره اونجا و فقط حرف R رو میذاره
اگه تکست 1 آدرس هستش شما میتونی اینجوری استفاده کنی:
FileCopy Text1.Text & "\cnlurllist.dat", "c:\vbasic6\cnlurllist.dat"
البته آدرسی که توی تکست مینویسی نباید آخرش \ داشته باشه اینجا
نقل قول: تعریف متغیر (متغیری در ریجستری) در ویژوال بیسیک
درست شد :متعجب:
ای جانمی جان
مرسی arenaw جان
عالی بود
:قلب: :قلب: :قلب: :قلب:
:قلب: :قلب: :قلب: :قلب:
:قلب: :قلب: :قلب: :قلب:
مرسی گلم
نقل قول: تعریف متغیر (متغیری در ریجستری) در ویژوال بیسیک
لطفا از دکمه تشکر به جای اسپم استفاده کنید.
MMD
نقل قول: تعریف متغیر (متغیری در ریجستری) در ویژوال بیسیک
سلام
باز من اومدم و تا با 1سوال دیگه شما رو اذیت کنم :خجالت:
خلاصه ببخشید که اینقدر سوال میکنم
چطور میشه با یک text box و تعریف یک متغیر در ویژوال بیسیک 3 متن رو داخل textBox قرار داد؟
الان مثال میزنم تا بهتر منظورمو بگم:
من یک textbox به نام Text4 در برنامه ایجاد کردم
حالا میخوام متن داخل 3 مسیر از ریجستری داخل این فایل این textBox که اسمش text4 هست نشون داده بشه
از کد زیر استفاده کردم ولی متاسفانه نتیجه نگرفتم و فقط محتویات آدرسی که در متن زیر با قرمز مشخص کردم نمایش داده میشه و اون 2تای قبلی نمایش داده نمیشه
Private Sub Form_Load()
On Error Resume Next
Set WshShell = CreateObject("WScript.Shell")
Text4.Text = WshShell.RegRead("HKEY_CURRENT_CONFIG\reza\1")
Text4.Text = WshShell.RegRead("HKEY_CURRENT_CONFIG\reza\2")
Text4.Text = WshShell.RegRead("HKEY_CURRENT_CONFIG\reza\3")
End Sub
میخوام هر 3 مسیر با هم تو Text4 نمایش داده بشه
یعنی مثلا
تو key اول نوشته A
تو key اول نوشته B
تو key اول نوشته C
میخوام ABC یکجا در فایل text4 نمایش داده بشه
مرسی
مرسی از همه دوستان عزیزم
نقل قول: تعریف متغیر (متغیری در ریجستری) در ویژوال بیسیک
سلام علیکم
کد را بصورت زیر ویرایش کنید:
Private Sub Form_Load()
On Error Resume Next
Set WshShell = CreateObject("WScript.Shell")
Text4.Text = WshShell.RegRead("HKEY_CURRENT_CONFIG\reza\1") & WshShell.RegRead("HKEY_CURRENT_CONFIG\reza\2") & WshShell.RegRead("HKEY_CURRENT_CONFIG\reza\3")
End Sub
موفق باشید
نقل قول: تعریف متغیر (متغیری در ریجستری) در ویژوال بیسیک
داداشی محسن اگه تو کد بالا که گفتی key
HKEY_CURRENT_CONFIG\reza\2
وجود نداشته باشه اونوقت کلا دیگه نه
HKEY_CURRENT_CONFIG\reza\1
و نه
HKEY_CURRENT_CONFIG\reza\3
ثبت میشه داخل textBox !!!!!
کلا اگه چیزی که تعریف کردی وجود نداشته باشه و چند تای دیگه وجود داشته باشه textbox خالی میمونه !!!!
چطور میشه اگه یکیش هم وجود نداشت بقیه رو ثبت کنه؟
مرسی گلم
نقل قول: تعریف متغیر (متغیری در ریجستری) در ویژوال بیسیک
نقل قول:
نوشته شده توسط
R2du-soft
داداشی محسن اگه تو کد بالا که گفتی key
HKEY_CURRENT_CONFIG\reza\2
وجود نداشته باشه اونوقت کلا دیگه نه
HKEY_CURRENT_CONFIG\reza\1
و نه
HKEY_CURRENT_CONFIG\reza\3
ثبت میشه داخل textBox !!!!!
کلا اگه چیزی که تعریف کردی وجود نداشته باشه و چند تای دیگه وجود داشته باشه textbox خالی میمونه !!!!
چطور میشه اگه یکیش هم وجود نداشت بقیه رو ثبت کنه؟
مرسی گلم
در صورت نبود کلید های تعریف شده برنامه تولید خطا میکند اما چون دستگیره های خطا خاموش است خطایی ظاهر نمی شود، کد زیر را بررسی کنید:
Private Sub Form_Load()
On Error Resume Next
Dim WshShell As Object, sV1$, sV2$, sV3$
Set WshShell = CreateObject("WScript.Shell")
sV1$ = WshShell.RegRead("HKEY_CURRENT_CONFIG\reza\1")
sV2$ = WshShell.RegRead("HKEY_CURRENT_CONFIG\reza\2")
sV3$ = WshShell.RegRead("HKEY_CURRENT_CONFIG\reza\3")
Text4.Text = sV1$ & sV2$ & sV3$
End Sub