PDA

View Full Version : سوال: ذخیره یک عمل و اطلاعات بر روی ریجستری



rezapassword
پنج شنبه 09 آبان 1387, 08:55 صبح
سلام دوستان
من اصلا نمیتونم با این ریجستری کار کنم خیلی هم لازمش دارم
من میخوام یه صفحه رو قبل از برنامه باز کنم که توی اون کاربر مشخص کنه که زبان برنامه از بین فارسی و انگلیسی چی باشه ؟
بعد از انتخاب چه طور توی ریجستری سیوش کنم که دفه بعد برنامه با زبان انتخابی کاربر اجرا بشه ؟
ممنون اگه کدش رو برام بزارید

mostafaaa
پنج شنبه 09 آبان 1387, 09:59 صبح
سلام دوست من
اول سعی کن از امکانات خود دات نت استفاده کنی و اگه نشد بعد سراغ رجیستری و اینجور حرفا.
پیشنهادات من:
اول اینکه از قسمت Application Setting استفاده کنی. به این ترتیب که وارد پروپرتی پروژت بشی و در قسمت Setting یه کلید با فرمت String ایجاد کنی. و به این شکل هم میتونی ازش استفاده کنی

If My.Settings.MySampleKey = "English" Then
'Do Something
End If
برای قرار دادن یه مقدار هم در اون هم میتونی از داخل همون قسمت Setting این کار رو انجام بدی و هم اینکه به این شکل.

My.Settings.MySampleKey = "Your text here"
راه دیگه اینه که از متدها SaveSetting و GetSetting استفاده کنی ، این متدها مقادیر رو در رجستری ذخیره میکنن و استفاده از این متد به نظرم بهتر از استفاده از کلاس های Win32 هستش.
برای ذخیره کردن

SaveSetting(My.Application.Info.AssemblyName, "Properties", "Language", "Persian")
برای خواندن

Dim SavedSetting As String = GetSetting(My.Application.Info.AssemblyName, "Properties", "Language")
و در آخر هم میتونی از کلاس win32 برای دسترسی مستقیم به رجیستری استفاده کنی .
ساختن یه SubKey

Microsoft.Win32.Registry.CurrentUser.CreateSubKey("MyAplicationName")
ذخیره مقادیر

Microsoft.Win32.Registry.CurrentUser.OpenSubKey("MyAplicationName").SetValue("language", "Persian")
خواند مقادیر

Dim SavedValue As String = _
Microsoft.Win32.Registry.CurrentUser.OpenSubKey("MyAplicationName").GetValue("language")
امیدوارم به دردت بخوره
موفق باشی

rezapassword
پنج شنبه 09 آبان 1387, 17:23 عصر
از این بهتر نمیشه مصتفا جان

rezapassword
پنج شنبه 09 آبان 1387, 18:41 عصر
سلام مصتفا جان اگه بتونی این کار با این تابع رو به من یاد بدی خیلی عالی میشه
فرض کن من میخوام رنگ بک گراند رو سیو کنم اون وقت چه طور میشه
بفرما این سمپل رو برا من کامل کن بزار دستت درد نکنه
من یاد بگیرم از این تابع استفاده کنم
یه کمک بزرگ به من کردی مثل همیشه
ممنون
http://rapidshare.com/files/159036586/save.rar.html

mostafaaa
پنج شنبه 09 آبان 1387, 21:45 عصر
راحت ترین راه استفاده از همون راه اول هستش.
یه کلید از نوع Color ایجاد کن و رنگ زمینه فرمت رو توش ذخیره کن.
در مرحله اول برای ایجاد یک کلید. به این مسیر برو Properties>Setting
نام کلید رو برای مثال میتونی BColor بزاری و Typeش رو باید System.Drawing.Color بزاری. البته Text هم میتونه باشه با این تفاوت که موقع Save کردن از متد ToArgb استفاده کنی.
حالا دیگه کار اصلی رو انجام دادی میتونی توی رویداد Save داخل فرمت این کد رو بنویسی

Private Sub btnSaveColor_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSaveColor.Click
My.Settings.BColor = Me.BackColor
End Sub
و تو رویداد لود هم به این شکل فراخوانیش کنی.

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.BackColor = My.Settings.BColor
End Sub
البته راه های دیگه ای هم واسه استفاده از این امکان دات نت هست . ولی همین واسه کار شما کفایت میکنه.

rezapassword
جمعه 10 آبان 1387, 10:54 صبح
نمیشه استفاده از این متد ها رو هم بگی و استفاده از اون فایلی که برات گذاشتم یعنی عوض کردن پوسته از مجموعه کالکشن ها
ممنون

mostafaaa
جمعه 10 آبان 1387, 17:25 عصر
سلام

من یاد بگیرم از این تابع استفاده کنم

نمیشه استفاده از این متد ها رو هم بگی
کدوم متدها ؟؟

استفاده از اون فایلی که برات گذاشتم
متاسفانه هنوز فرصت نکردم اون فایل رو ببینم.یکم سرم شلوغه ، شرمنده.

rezapassword
شنبه 11 آبان 1387, 08:58 صبح
همین سیو و گت سیو
باشه میدونم سرتون شلوغه
خیلی ممنون
هر وقت وقت داشتی نگاهی بش بنداز