PDA

View Full Version : حافظه دار کردن vb



ali190
جمعه 01 مرداد 1389, 11:19 صبح
با سلام و عرض خسته نباشید
فکر میکنم که vb به تنهایی جزو نرم افزارهایی هست که بعد از اجرا شدن حافظه ندارند و در واقع بعضی از تنظیماتی که در برنامه نوشته شده با vb بعد از یکبار باز و بسته شدن برنامه از بین میرود مثل تیک زدن یک چک باکس
خوب معمولاً برای ذخیره سازی این تنظیمات از یک بانک اطلاعاتی (در اکثر مواقع اکسس) استفاده میکنند.
میخواستم بدونم آیا برای برطرف کردن این مشکل ابزار ایده آل تری از اکسس وجود دارد
این ابزار میتونه یک اکتیوایکس باشه یا یک بانک
ابزاری که هم نسبت به اکسس سطح امنیت بالاتری داشته باشه و هم و هم کار باهاش راحت تر باشه
ممنون

M.T.P
جمعه 01 مرداد 1389, 14:01 عصر
سلام.
منظورتون از حافظه دار نبودن vb چیه؟ :متفکر:
تمامی نرم افزارها برای ذخیره تنظیمات و .. یا از بانک اطلاعاتی استفاده میکنند یا ریجستری و در برخی موارد فایل های متنی و ini
vb هم از این قائله مستثنی نیست.

fazelm
جمعه 01 مرداد 1389, 14:20 عصر
هزاران راه برای اینکار وجود داره و بستگی به شما و برنامه ی شما داره راحت ترین راه ها اینه که توی یه فایل با هر پسوندی ذخیره کنی یا توی رجیستری بنویسی که هر کدوم کاربرد متفاوت داره مثلا وقتی تو رجیستری مینویسی فقط توی همون یوزر و ویندوز کار میکنه و وقتی ویندوز رو عوض میکنن رجیستری هم پاک میشه و...

ali190
جمعه 01 مرداد 1389, 16:19 عصر
ممنون از توضیحاتی که دادید
من پروژه ام رو آماده کردم
فقط این مسئله یعنی ایجاد حافظه برای برنامه ام مونده که حالت بحضی از آپشن های نرم افزارم (مثل تیک خوردن یک چک باکس) بعد از باز و بسته شدن مجدد برنامه حفظ شود
میشه لطف کنید از هر دو روش یک مثال ساده بزنید و اندکی توضیح در خصوص کارکرد هر کدوم از روشها
با توجه به توضیحات شما عزیزان آیا از هر کدوم از این دو روشی که فرمودید (تر جیحاً روش رجیستری ) میتوان برنامه رو تریال کرد (محدودیت در دفعات اجراء)
ممنون و متشکر از شما عزیزان

fazelm
جمعه 01 مرداد 1389, 16:38 عصر
با استفاده از رجیستری و فایل تریال کردن بسیار بسیار امنیت کمی داره و اصلا پیشنهاد نمیکنم
برای حافظه با استفاده از رجیستری با دستور های setsetting و getsetting باید کار کنی و برای فایل هم یه richtext بذار و هر چی که خواستی توش بنویس به صورت سطر به سطر و با دستور richtextbox1.savefile اون رو توی یه فایل ذخیره کن

ali190
جمعه 01 مرداد 1389, 17:11 عصر
دوست گرامی ممنون از توضیحات جالبتون
ولی میشه لطف کنید که از هر کدوم از اتین دو روش یک مثال ساده بزنید
در هر روش از وارد کردن اطلاعات و خواندن اطلاعات (مثلاً نمایش اطلاعات دلخواه در یک تکست باکس)
مثلاً چطور میتونم وضعیت یک چک باکس رو در هر دو روش ذخیره کنم و در هنگام form load آخرین وضعیت چک باکس رو از هر کدوم از این روشها بخونم و به خود چک باکس منتقل کنم.

ممنون میشم

محسن شامحمدی
جمعه 01 مرداد 1389, 17:17 عصر
با استفاده از رجیستری و فایل تریال کردن بسیار بسیار امنیت کمی داره و اصلا پیشنهاد نمیکنم
برای حافظه با استفاده از رجیستری با دستور های setsetting و getsetting باید کار کنی و برای فایل هم یه richtext بذار و هر چی که خواستی توش بنویس به صورت سطر به سطر و با دستور richtextbox1.savefile اون رو توی یه فایل ذخیره کن

وقتی برنامه در حال بسته شدنه با دستور savesetting می تونی حالت رو ذخیره کنی و بعد از اجرای مجدد برنامه می تونی با تابع getsetting تنظیمات ذخیره شده در رجیستری رو بخونی
یک پروژه نمونه هم واست می ذارم.

http://rapidshare.com/files/408591099/frmsave.frm

ali190
جمعه 01 مرداد 1389, 19:49 عصر
سلام
آیا برای حاظه دار کردن یک فرم از یک فایل ini هم میتوان استفاده کرد
اگر میشه لطف کنید یک نمونه قرار بدید

saeedvir
جمعه 01 مرداد 1389, 22:01 عصر
سلام.


Private Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
Private Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long
Public Function ReadINI(Filename As String, Section As String, KeyName As String) As String
Dim Ret As String, NC As Long
Ret = String(255, 0)
NC = GetPrivateProfileString(Section, KeyName, "", Ret, 255, Filename)

If NC <> 0 Then Ret = Left$(Ret, NC)

ReadINI = Ret
End Function
Public Sub WriteINI(Filename As String, Section As String, Key As String, newValue As String)
WritePrivateProfileString Section, Key, newValue, Filename
End Sub

ali190
جمعه 01 مرداد 1389, 22:45 عصر
ممنون از نمونه کدتون
میشه لطف کنید در این مورد یک نمونه فایل قرار بدید
متشکرم

محسن شامحمدی
شنبه 02 مرداد 1389, 12:45 عصر
با این که کدی که جناب saeedvir گذاشته بودن خیلی واضح بود ولی من واستون یک نمونه از استفادش هم گذاشتم.
http://rapidshare.com/files/408754135/frmconfig.zip

ali190
شنبه 02 مرداد 1389, 18:39 عصر
متاسفانه لینک کار نمیکنه

returnx
شنبه 02 مرداد 1389, 22:50 عصر
این برنامه رو دانلود کن برو تو فرم main بعد tab دوم را انتخاب کن بعد کد دکمه save رو مطالعه کن.
لینک دانلود:http://up.iranblog.com/Files1/29f7ea0da3b24e06bc66.zip
امیدوارم بدردت بخوره.

ali190
شنبه 02 مرداد 1389, 23:58 عصر
باسلام و عرض خسته نباشید
میشه لطف کنید در مورد دستورات کار با فایلهای متنی اندکی توضیح بدید یا اگر قبلاً در سایت بحث شده لینکهاشو قرار بدید
مثل قرار دادن یک مقدار مشخص در ردیف مشخص
حذف یک داده
فراخوانی یک داده
معنی این عبارت چیه : 3#
و کلیه دستورات کار با فایلهای متنی
ممنون

fazelm
یک شنبه 03 مرداد 1389, 00:15 صبح
باسلام و عرض خسته نباشید
میشه لطف کنید در مورد دستورات کار با فایلهای متنی اندکی توضیح بدید یا اگر قبلاً در سایت بحث شده لینکهاشو قرار بدید
مثل قرار دادن یک مقدار مشخص در ردیف مشخص
حذف یک داده
فراخوانی یک داده
معنی این عبارت چیه : 3#
و کلیه دستورات کار با فایلهای متنی
ممنون

اگه در آخر خط دستور open اومده یعنی متغیری برای فایل یعنی خروجی فایل در متغیر 3# ذخیره میشه

محسن شامحمدی
یک شنبه 03 مرداد 1389, 11:37 صبح
متاسفانه لینک کار نمیکنه

دوست عزیز من لینک رو تست کردم کاملا سالمه
ضمنا اگر می بینی که حجمش رو نوشته 0 کیلو بایت به این خاطره که این فایل از یک کیلوبایت هم کمنره