PDA

View Full Version : سوال: گزینه ذخیره در برنامه



hosein3000
جمعه 04 فروردین 1391, 18:06 عصر
با سلام خدمت مهندسان عزیز

نرم افزار من حدود 200 تا فرم داره و کلی تکست باکس و از اینجور چیزا
مشکلی که کاربر هنگام کار کردن با اون روبرو میشه عدم داشتن گزینه ذخیره است یعنی کاربر هر وقت بخواد دکمه ذخیره برنامه رو بزنه و بعد که برنامه رو باز کرد دوباره بتونه کارشو از همونجایی که مونده بود ادامه بده
متاسفانه برنامه من این قابیلت رو نداره و قبلا که تو فروم با دوستان مشورت کرده بودم گفته بودن که با فایل ini باید یک به یک موقیعت تکست باکس ها رو تعریف کنم و بعد با دستور خواندن و نوشتن این کارو انجام بدم اما از انجایی که برنامه من تکست باکس ها و فرم های زیادی داره نتونستم این کارو انجام بدم یا بهتره بگم بلد نبودم

به نظر شما راه دیگه ای برای استفاده از گزینه save وجود نداره تا هر وقت کاربر بخواد نرم افزار و ذخیره کنه و بعد فایل ذخیره شده رو باز کنه بتونه به راحتی از نرم افزار استفاده کنه ؟؟

ho3ein.3ven
جمعه 04 فروردین 1391, 18:10 عصر
خب چرا از بانک اطلاعاتی استفاده نمی کنی ؟

AbbasVB
جمعه 04 فروردین 1391, 18:21 عصر
می توانید از این نمونه استفاده کنید
84589

hosein3000
جمعه 04 فروردین 1391, 18:30 عصر
می توانید از این نمونه استفاده کنید
84589

گفتم که مشکل من اینه که فرم هام زیاده و همجنین تکست باکس ها و اینجور چیزا به همین خاطر تا بیام از این فایل ini استفاده کنم یکی دوماه زمان میبره

در مورد بانک هم استفاده کردم ولی نتونستم تمام جدول ها رو به هم ربط بدم بطوری که وقتی کاربر یک جدولی رو انتخاب می کنه تمام فیلد های مربوط به اون تو تکست باکس ها و سایر مقادیر دوباره لود بشه

سید حمید حق پرست
جمعه 04 فروردین 1391, 18:38 عصر
سلام
چرا از ذخیره در رجستری استفاده نمیکنید

موفق باشید


یا علی (ع)

hosein3000
جمعه 04 فروردین 1391, 18:42 عصر
میشه یه مثال بزنید؟

من می خوام کاربر هر وقت خواست بتونه نرم افزار رو با هر نوع فایلی در هر جا خواست ذخیره کنه و بعد هر وقت هم خواست بتونه اون فایل رو باز کنه و کارشو ادامه بده ؟؟؟؟

AbbasVB
جمعه 04 فروردین 1391, 19:37 عصر
گفتم که مشکل من اینه که فرم هام زیاده و همجنین تکست باکس ها و اینجور چیزا به همین خاطر تا بیام از این فایل ini استفاده کنم یکی دوماه زمان میبره
آقا چرا دوماه طول میکشه؟ کافیه شما در رویداد Unload هر فرم تغییرات رو در فایل ذخیره کنید با کپی پیست کردن کد خیلی سریع میشه این کار رو انجام داد و در رویداد FormLoad مقادیر رو دوباره بخونید
کافیه برای هر فرم یک نام در فایل ini قرار بدید و برای هر کنترل یک سکشن با نام خودش

[Fornm1]
"Text1="Helo
[Form2]
"Text2="Hi
.
.
.
.
.
.
[Form200]
"text1="good bye

به نظر من این بهترین راهه استفاده از بانک اطلاعاتی که خیلی سخت تره
در ضمن استفاده از ریجستری علاوه براینکه ریجستری رو کند می کنه لازمه که برای هر کنترل و فرم یک کلید
و برای هر کنترل یک مقدار قرار بدهید مثلا اگر شما در هر فرم 5 منترل داشته باشید باید1000 مقدار در ریجستری
بسازید و آن هارو مدیریت کنید

در واقع این کار هم راحت تر از فایل ini نیست و شما باید در هر فرم تغییرات رو با کد نویسی ریجستری ذخیره و دوباره بخونید

Mr'Jamshidy
جمعه 04 فروردین 1391, 19:51 عصر
با سلام خدمت مهندسان عزیز

نرم افزار من حدود 200 تا فرم داره و کلی تکست باکس و از اینجور چیزا
مشکلی که کاربر هنگام کار کردن با اون روبرو میشه عدم داشتن گزینه ذخیره است یعنی کاربر هر وقت بخواد دکمه ذخیره برنامه رو بزنه و بعد که برنامه رو باز کرد دوباره بتونه کارشو از همونجایی که مونده بود ادامه بده
متاسفانه برنامه من این قابیلت رو نداره و قبلا که تو فروم با دوستان مشورت کرده بودم گفته بودن که با فایل ini باید یک به یک موقیعت تکست باکس ها رو تعریف کنم و بعد با دستور خواندن و نوشتن این کارو انجام بدم اما از انجایی که برنامه من تکست باکس ها و فرم های زیادی داره نتونستم این کارو انجام بدم یا بهتره بگم بلد نبودم

به نظر شما راه دیگه ای برای استفاده از گزینه save وجود نداره تا هر وقت کاربر بخواد نرم افزار و ذخیره کنه و بعد فایل ذخیره شده رو باز کنه بتونه به راحتی از نرم افزار استفاده کنه ؟؟

میشه شما اول بگید دقیقا چه چیزی رو میخواید ذخیره کنید؟
اگر دقیق بگید چه چیزی روی میخواید ذخیره کنید نحایتا با 20 خط میشه جمع و جورش کرد

hosein3000
جمعه 04 فروردین 1391, 21:55 عصر
با تشکر به خاطر راهنمایی ها تون

برنامه من از تکست باکس و یا کمبو باکس و یا چک باکس و این جور چیزا تشکیل شده. مشکل برنامه من اینه که وقتی از برنامه به هر دلیلی خارج شدم و یا خودم خواستم برنامه رو ببندم و دوباره باز کنم باید از اول تمام مقادیر تکست باکس ها و همه عدد ها رو دوباره وارد کنم.اما اکثرا و تو کل برنامه ها گزینه ای به نام save هست که هر وقت خواستی می تونی نرم افزار رو با فایل مخصوص اون نرم افزار ذخیره کنی تا وقتی از برنامه خارج شدی و دوباره برنامه رو باز کردی بتونی براحتی ادامه کارتو انجام بدی.مثل همین سورسی که دوستمون با فایل ini تو پست قبلی گذاشته بودن.منتها اون فقط برای یک تسکت باکس و یک فرم بود در حالی که مال من فرم ها و اشیاش زیاده و اینکه کاربر خودش هر وقت خواست جاشو انتخاب کنه و فایل رو ذخیره کنه و هر وقت خواست خودش دوباره فایل ذخیره شده رو لود کنه
اگه یه نمونه با شرایطی که گفتم برام بزارین و یا راهی بگین که با کمترین کار بشه این کارو انجام داد یک دنیا ممنون میشم

با تشکر دوباره

بهروز عباسی
شنبه 05 فروردین 1391, 00:36 صبح
و هر وقت خواست خودش دوباره فایل ذخیره شده رو لود کنه
بحث ذخیره تنظیمات یه چیزه
بحث اینکه برنامه خودش یه فایلی تولید کنه و اونو ذخیره و بازیابی کنه چیز دیگه ایه:لبخند:

من فکر کنم طبق گفته شما شما برنامه میخواید که کار دوم رو انجام بده که این کار اگه قرار باشه اصولی انجام بشه باید کمی زمان بذاری
و چیزی که شما لازم داری کار با فایلها در vb هستش

نکته:
چون فرم ها و گزینه های برنامه زیاده این کار وقت میشه
چون شما باید برای هر گزینه یه فیلد یا رکورد در دیتابیس برنامت بسازی این کارو دستی و با دقت انجام بدی بهتره و بعد برنامه مقادیر مورد نظرت رو داخل فیلدهای مربوطه ذخیره و باز یابی میکنه

Mr'Jamshidy
شنبه 05 فروردین 1391, 00:59 صبح
ببین دوست من
یک نمونه کد میزارم دیگه خودت برای برنامه خودت بهینه کن و ازش استفاده کن

Dim Obj As Object
Open "C:\Sample.cnf" For Output As #1
For Each Obj In Me.Controls
If TypeOf Obj Is TextBox Then Print #1, Obj.Text
If TypeOf Obj Is Label Then Print #1, Obj.Caption
Next
Close #1

این کد تو هر فرمی که گذاشته بشه دنبال تکست باکس ها و لیبل ها میگرده و مقادیر اون ها رو تو فایل مورد نظر میریزه
حالا شما این کد رو اونطوری که میخوای تغییر بده که بعدا بتونی بدون دردسر از تو فایل بخونی

نیازی هم نداری لقمه رو دور سرت بچرخونی

میتونی از خاصیت Tag یا Index یا حتی Name و امثال این ها کمک بگیری

اما سعی کن فقط خودت به تنهایی این کار رو انجام بدی تا یاد بگیری

hosein3000
شنبه 05 فروردین 1391, 22:02 عصر
با تشکر
مهندس جان من چه جوری یاد بگیرم ؟رشته تخصصی من کامپیوتر نیست
هر کی از برنامه ام استفاده می کنه میگه چرا save توش نیست
کاش یه نمونه کامل بود که چند فرم رو ذخیره و بازیابی می کرد تا می تونستم با کمک اون مال خودم رو درست کنم

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

محسن واژدی
یک شنبه 06 فروردین 1391, 15:10 عصر
سلام
احتمالا" سورس زیر جوابگوی مشکلتان باشد، برای استفاده کافیست مادول کد همراه سورس را به پروژه تان اضافه کنید و در رویداد های Load و Unload فرمهای پروژه دستورات زیر را کپی کنید:

Private Sub Form_Load()
SaveLoadFormData Me, slfLoadFormData
End Sub

Private Sub Form_Unload(Cancel As Integer)
SaveLoadFormData Me, slfSaveFormData
End Sub


اطلاعات فرم های موجود در قالب فایل INI ذخیره و بارگذاری میشوند
همچنین روالی در مادول وجود که نام فرم و کنترل ها را هگز میکند، هرچند که تاحدودی نام keyو section فایل ini تاحدودی کشیده میشود اما تا اندازه ای از نمایش علنی نام کنترل و فرم در فایل ذخیره شده جلوگیری میشود (فکر کنم اینطوری بهتر باشد) ،در صورت لزوم میتوانید این روال را حذف کنید

موفق باشید

hosein3000
دوشنبه 07 فروردین 1391, 10:38 صبح
با تشکر

نمیشد کاری کرد که کاربر بتونه اگه خواست این تنظیمات رو با یک فایل مشخص خودش ذخیره کنه و اگه نخواست ذخیره نکنه؟؟

محسن واژدی
دوشنبه 07 فروردین 1391, 12:44 عصر
سلام
چرا، فقط کافیست مسیر فایل را سفارشی کنید، به عبارت بهتر با کامپوننتی مانند Microsoft Common Dialog کاربر مسیر مورد نظر خودش را انتخاب کند
همچنین گزینه ذخیره تنظیمات را هم در یک دکمه قرار دهید تا رویداد unload فرم

موفق باشید

hosein3000
دوشنبه 07 فروردین 1391, 20:48 عصر
با تشکر
ولی با چه فرمتی ذخیره می شه ؟؟ با همون فایل ini
و اینکه فرم یک برنامه ای که گذاشتین تنظیماتو ذخیره نمی کنه و میشه خواهش کنم common dialog رو هم بهش اضافه کنین؟؟

محسن واژدی
سه شنبه 08 فروردین 1391, 01:14 صبح
ولی با چه فرمتی ذخیره می شه ؟؟ با همون فایل ini

بله



و اینکه فرم یک برنامه ای که گذاشتین تنظیماتو ذخیره نمی کنه

میبخشید متوجه نشدم، چرا که برنامه بدون هیچ مشکلی تنظیمات را ذخیره میکند، روش کار هم به این صورت است که پس از اجرا هر تغییری را که مایل هستید را در جعبه ها انجام میدهید سپس فرمها را میبندیم که اگر مجددا برنامه را اجرا کنیم همچنان تنظیمات قبلی پابرجاست البته اگر بر روی کلید Stop کلیک کنیم برنامه terminate شده و تغییرات ذخیره نمیشود

نمونه ویرایش شده را هم بررسی کنید

موفق باشید

hosein3000
شنبه 16 اردیبهشت 1391, 18:39 عصر
آقا محسن کارت درسته
فقط کاش میشد کل فرمها رو تو یک فایل واحد ذخیره میکردیم کدی که شما زحمتشو کشیدی برای هر فرم یک فایل ذخیره می کنه
حالا برنامه من صفحات زیادی و داره و هم اینکه فیلد هاش زیاده بیام برا هر صفحه اینطوری فایل بذارم که خیلی زیاد میشه
اگه راهنماییم کنین که بتونم اینکارو هم بکنم یک دنیا ممنون میشم

و دیگه اینکه مقادیر کمبو باکس ها رو ذخیره نمی کنه
کد کمبو رو چطوری بهش اضافه کنم؟

با تشکر ویژه از جنابعالی و سایر مهندسین عزیز

محسن واژدی
شنبه 16 اردیبهشت 1391, 21:23 عصر
کاش میشد کل فرمها رو تو یک فایل واحد ذخیره میکردیم کدی که شما زحمتشو کشیدی برای هر فرم یک فایل ذخیره می کنه
حالا برنامه من صفحات زیادی و داره و هم اینکه فیلد هاش زیاده بیام برا هر صفحه اینطوری فایل بذارم که خیلی زیاد میشه
اگه راهنماییم کنین که بتونم اینکارو هم بکنم یک دنیا ممنون میشم
سلام علیکم
اگر مسیری برای ذخیره فایل مشخص نکنید یا مسیر ذخیره همه فرمها را به یک فایل یکسان بدهید همه تنظیمات فرمها در یک فایل واحد ذخیره میشوند، برای نمونه در دستور زیر که مسیر را تعیین نکرده ایم تغییرات فرمها در فایلی با عنوان AppData.ini در فولدر برنامه ذخیره میشوند
SaveLoadFormData Me, slfSaveFormData



مقادیر کمبو باکس ها رو ذخیره نمی کنه
کد کمبو رو چطوری بهش اضافه کنم؟

سورس ویرایش شده جدید را که کمبو و لیست باکس هم پشتیبانی میشه جایگزین ضمیمه پست 17 شد

موفق باشید

hosein3000
شنبه 16 اردیبهشت 1391, 22:16 عصر
واقعا مرسی مهندس
فقط یه سوال دیگه
فرم اول وقتی تیک Save/load from default f رو میزام باز فقط فرم اول رو ذخیره می کنه
نمیشه کاری کرد که مسیر فایل رو کاربر انتخاب کنه و تمام فرم ها رو با یک فایل با یک پسوند خاص در جایی که کاربر بخواد ذخیره کنه؟و کاربر هر وقت خواست بتونه براحتی فایل مورد نظر خود رو لود کنه؟
و اینکه وقتی از فرم خارج بشه اگه ذخیره نکرده باشه پیغام بده که کاربر محترم شما این محاسبه رو ذخیره نکردید
؟؟؟

محسن واژدی
یک شنبه 17 اردیبهشت 1391, 00:27 صبح
فرم اول وقتی تیک Save/load from default f رو میزام باز فقط فرم اول رو ذخیره می کنه چون این فقط نمونه ای از عملکرد مادول را نشان میدهد فقط فرم اول را ذخیره میکند، برای اینکه همه فرمهای فعال را ذخیره کنید بایستی از دستوری مشابه زیر استفاده کنید:

Private Sub Command1_Click()
Dim frm
For Each frm In Forms
SaveLoadFormData frm, slfLoadFormData
Next
End Sub

که البته برای بارگذاری تنظیمات ذخیره شده بنابردلایلی بهتر است دستور بارگذاری را در هرفرم بصورت جداگانه قرار دهید،



نمیشه کاری کرد که مسیر فایل رو کاربر انتخاب کنه و تمام فرم ها رو با یک فایل با یک پسوند خاص در جایی که کاربر بخواد ذخیره کنه؟و کاربر هر وقت خواست بتونه براحتی فایل مورد نظر خود رو لود کنه؟چرا، کافیست همه مسیر ها را منتهی به یک فایل با یک پسوند تعیین شده کنید مثلا اگر بخواهیم این را برای کد بالا بنویسیم:

Private Sub Command1_Click()
Dim frm
For Each frm In Forms
SaveLoadFormData frm, slfLoadFormData, "d:\my_settings.dat"
Next
End Sub

در اینصورت تنظیمات همه فرمهای فعال در فایل "d:\my_settings.dat" ذخیره میشود


و اینکه وقتی از فرم خارج بشه اگه ذخیره نکرده باشه پیغام بده که کاربر محترم شما این محاسبه رو ذخیره نکردید برای اینکار میتوانید از دستورات شرطی استفاده کنید، به عنوان مثال میتوانید متغیری از نوع Boolean تعریف کرده و با قرار دادن آن در همه روال هایی که امکان تغییر در آنها وجود دارد تا در صورت اجرای روال دستوری مقدار متغیر True شود، و در رویداد Unload فرم نیز شرط True بودن این متغیر را برای نمایش پیام ذخیره قرار دهید

موفق باشید

hosein3000
یک شنبه 17 اردیبهشت 1391, 22:00 عصر
واقعا ممنون یکم اخرین تاپیکو متوجه نشدم اما سعی می کنم یاد بگیرم و انجامش بدم یه سوال دیگه میمونه و اونم اینکه
حالا این فایل های ini و یا dat رو ذخیره کردیم چطور می تونیم فایل های ذخیره شده رو توی یک لیست باکس نمایش بدیم که کاربر با کلیک روی اون بتونه اون فایل رو لود کنه؟؟
میشه اونم به برنامه اضافه کنین ؟؟؟

محسن واژدی
دوشنبه 18 اردیبهشت 1391, 09:11 صبح
برای اینکار میتوانیم مسیر فایل های ذخیره شده را همزمان پس از ذخیره سازی در ریجستری یا هرجای دیگر ذخیره کنیم سپس آنها را از آن محل بارگذاری و در لیست باکس نمایش دهیم

hosein3000
دوشنبه 18 اردیبهشت 1391, 23:52 عصر
فکر نکنم بتونم اینکارو انجام بدم
میشه لطف کنین و یه نمونه برای سورس قبلی بنویسین؟

محسن واژدی
سه شنبه 19 اردیبهشت 1391, 10:08 صبح
سلام سورس ویرایش شده جایگزین ضمیمه پس 17 شد، در این نمونه روال جدیدی اضافه شده که میتوانیم تمامی مکان های ذخیره شده تنظیمات را از ریجستری بارگیری و در یک لیست باکس نمایش دهیم، موفق باشید

arenaw
پنج شنبه 21 اردیبهشت 1391, 21:01 عصر
سلام سورس ویرایش شده جایگزین ضمیمه پس 17 شد، در این نمونه روال جدیدی اضافه شده که میتوانیم تمامی مکان های ذخیره شده تنظیمات را از ریجستری بارگیری و در یک لیست باکس نمایش دهیم، موفق باشید
سلام؛
من پروژه شما رو دانلود کردم راستش من با این اطلاعات ناقص هیچی از مفهوم کدها متوجه نشدم.
ولی مشکل پروژه شما این بود که قابلیت ذخیره تکس باکس های مولتی لاین رو نداشت. همچنین لیست ایندکس لیست و همینطور تکست کومبو رو ذخیره نمیکرد
با اجازه شما یک نمونه ازین برنامه رو هم من نوشتم که کمی واسه افراد مبتدی مثل خودم راحت تر باشد و این مشکلاتش رو هم برطرف کردم:

86915

محسن واژدی
جمعه 22 اردیبهشت 1391, 15:17 عصر
سلام؛
من پروژه شما رو دانلود کردم راستش من با این اطلاعات ناقص هیچی از مفهوم کدها متوجه نشدم.
ولی مشکل پروژه شما این بود که قابلیت ذخیره تکس باکس های مولتی لاین رو نداشت. همچنین لیست ایندکس لیست و همینطور تکست کومبو رو ذخیره نمیکرد
با اجازه شما یک نمونه ازین برنامه رو هم من نوشتم که کمی واسه افراد مبتدی مثل خودم راحت تر باشد و این مشکلاتش رو هم برطرف کردم:

86915

سلام علیکم
ممنون، بله حق با شماست، از آنجایی که این سورس تنها بر اساس مشکل جناب hosein3000 و برای رفع مشکلشون نوشته شده، از خیلی جهات هنوز ممکن است دچار کمبودهایی باشد، مثلا برای object-indexedها یا TextBoxهایی با خاصیت multi-line خودتان نیز اشاره فرمودین همینطور عدم پشتیبانی از RichTextBox و... که انشاء الله با کمک شما دوست عزیز و سایر دوستان کاملتر شده و مورد استفاده عزیزان قرار گیرد

موفق باشید

hosein3000
شنبه 23 اردیبهشت 1391, 23:08 عصر
با تشکر
از دوستان عزیز
چطور من دو سورس رو با هم ترکیب کنم؟ا
سورس آقا محسن یک نکته مهمی که داشت این بود که کاربر می توانست خودش مسیر فایل رو انتخاب کنه و این فایل رو دوباره لود کنه اما سورس آقای arenaw فقط تو یک فایل و احد ذخیره می کنه ولی حالت مولتی لاین و اینا رو داره
چطور این دو تا سورس رو یکی کنم؟؟
میشه زحمتشو بکشین کاملش کنین؟

hosein3000
یک شنبه 24 اردیبهشت 1391, 17:03 عصر
با تشکر
از دوستان عزیز
چطور من دو سورس رو با هم ترکیب کنم؟ا
سورس آقا محسن یک نکته مهمی که داشت این بود که کاربر می توانست خودش مسیر فایل رو انتخاب کنه و این فایل رو دوباره لود کنه اما سورس آقای arenaw فقط تو یک فایل و احد ذخیره می کنه ولی حالت مولتی لاین و اینا رو داره
چطور این دو تا سورس رو یکی کنم؟؟
میشه زحمتشو بکشین کاملش کنین؟

دوستان به نظرتون چیکار کنم؟؟

محسن واژدی
یک شنبه 24 اردیبهشت 1391, 18:41 عصر
با تشکر
از دوستان عزیز
چطور من دو سورس رو با هم ترکیب کنم؟ا
سورس آقا محسن یک نکته مهمی که داشت این بود که کاربر می توانست خودش مسیر فایل رو انتخاب کنه و این فایل رو دوباره لود کنه اما سورس آقای arenaw فقط تو یک فایل و احد ذخیره می کنه ولی حالت مولتی لاین و اینا رو داره
چطور این دو تا سورس رو یکی کنم؟؟
میشه زحمتشو بکشین کاملش کنین؟
سلام
نمونه جدید جایگزین ضمیمه پست 17 شد

موفق باشید

hosein3000
یک شنبه 24 اردیبهشت 1391, 22:36 عصر
با سلام و تشکر به خاطر زحمتتون
فقط یک مشکل
متاسفانه کمبو رو ذخیره نمی کنه
حتی تو برنامه خودم هم تست کردم وقتی فایل ذخیره شده رو لود می کنم مقدار کمبو پاک میشه و اینکه برای ذخیره لیبل ها باید چیکار کنیم؟

محسن واژدی
دوشنبه 25 اردیبهشت 1391, 17:49 عصر
با سلام و تشکر به خاطر زحمتتون
فقط یک مشکل
متاسفانه کمبو رو ذخیره نمی کنه
حتی تو برنامه خودم هم تست کردم وقتی فایل ذخیره شده رو لود می کنم مقدار کمبو پاک میشه و اینکه برای ذخیره لیبل ها باید چیکار کنیم؟
سلام علیکم
دوباره نمونه پست 17 را بررسی کنید

موفق باشید

hosein3000
پنج شنبه 28 اردیبهشت 1391, 23:54 عصر
سلام علیکم
دوباره نمونه پست 17 را بررسی کنید

موفق باشید

آقا محسن نمی دونم چطوری از شما به خاطر جوابگوییتون تشکر کنم
فقط یک مشکلی که پیش اومده اینه که مشکل لیبل ها حل شد این بار تکست باکس ها رو ذخیره نمی کنه میتوین پست 17 رو یک بار کنترل کنین
یعنی وقتی توی یک فایل مقادیر تسکت باکس ها رو ذخیره می کنم موقع بازیابی فراخوانی نمیشه
و مشکل دیگه اینکه
موقعی که دکمه ذخیره رو میزنم توی msgbox محتویات combo ها رو نشون می ده چیکار کنیم این پیغام ها نشون داده نشه؟/

محسن واژدی
جمعه 29 اردیبهشت 1391, 15:31 عصر
آقا محسن نمی دونم چطوری از شما به خاطر جوابگوییتون تشکر کنم
فقط یک مشکلی که پیش اومده اینه که مشکل لیبل ها حل شد این بار تکست باکس ها رو ذخیره نمی کنه میتوین پست 17 رو یک بار کنترل کنین
یعنی وقتی توی یک فایل مقادیر تسکت باکس ها رو ذخیره می کنم موقع بازیابی فراخوانی نمیشه
و مشکل دیگه اینکه
موقعی که دکمه ذخیره رو میزنم توی msgbox محتویات combo ها رو نشون می ده چیکار کنیم این پیغام ها نشون داده نشه؟/
خواهش میکنم
یکی دو تا مشکل جزئی بود برطرف شد، دوباره پست 17 را بررسی کنید انشاء الله درسته

موفق باشید

hosein3000
سه شنبه 02 خرداد 1391, 19:11 عصر
خواهش میکنم
یکی دو تا مشکل جزئی بود برطرف شد، دوباره پست 17 را بررسی کنید انشاء الله درسته

موفق باشید

با تشکر
من تونستم از این کد استفاده کنم ولی یک مشکل وجود داره
وقتی فایل رو ذخیره می کنم و دوباره لودش می کنم دفعه اول که لود می کنم نصف فرم رو بازیابی می کنه و باید دوباره همون فایل ذخیره شده رو دوباره لود کنم تا کلیه اطلاعات فرم رو بازیابی کنه
یعنی برای بازیابی فرم باید دوبار فایل رو باز کنم تا اطلاعات ذخیره شده بازیابی بشه !
به نظر شما مشکل از چی می تونه باشه؟
البته اینم بگم که تو فرم هایی این اتفاق می افته که تعداد کنترل هاش اعم از تکست باکس و لیبل و اینا زیاده
ولی با یک بار دیگر لود کردن کلیه اطلاعات بخوبی بازیابی می شن
و نکته دیگه اینکه من تو فرم هام از فریم هم استفاده کردم نکنه به خاطر فریم ها باشه؟؟؟

محسن واژدی
چهارشنبه 03 خرداد 1391, 12:39 عصر
با تشکر
من تونستم از این کد استفاده کنم ولی یک مشکل وجود داره
وقتی فایل رو ذخیره می کنم و دوباره لودش می کنم دفعه اول که لود می کنم نصف فرم رو بازیابی می کنه و باید دوباره همون فایل ذخیره شده رو دوباره لود کنم تا کلیه اطلاعات فرم رو بازیابی کنه
یعنی برای بازیابی فرم باید دوبار فایل رو باز کنم تا اطلاعات ذخیره شده بازیابی بشه !
به نظر شما مشکل از چی می تونه باشه؟
البته اینم بگم که تو فرم هایی این اتفاق می افته که تعداد کنترل هاش اعم از تکست باکس و لیبل و اینا زیاده
ولی با یک بار دیگر لود کردن کلیه اطلاعات بخوبی بازیابی می شن
و نکته دیگه اینکه من تو فرم هام از فریم هم استفاده کردم نکنه به خاطر فریم ها باشه؟؟؟
سلام علیکم
مشکلی نبود یعنی بنده ندیدم، چون بدون هیچ مشکلی اطلاعات فرم ذخیره و بارگذاری میشد،:متفکر:

hosein3000
چهارشنبه 03 خرداد 1391, 14:44 عصر
سلام علیکم
مشکلی نبود یعنی بنده ندیدم، چون بدون هیچ مشکلی اطلاعات فرم ذخیره و بارگذاری میشد،:متفکر:

درسته مشکلی نیست کار می کنه ولی تو فرم هایی که تعداد کنترل هاش زیاده اینطور میشه یعنی برای لود کردن کامل باید 2 بار فایل رو باز کنیم تا بشه اطلاعات رو کامل بازیابی کرد

محسن واژدی
چهارشنبه 03 خرداد 1391, 15:48 عصر
درسته مشکلی نیست کار می کنه ولی تو فرم هایی که تعداد کنترل هاش زیاده اینطور میشه یعنی برای لود کردن کامل باید 2 بار فایل رو باز کنیم تا بشه اطلاعات رو کامل بازیابی کرد

این نمونه را بررسی کنید، با وجودی که بیش از 160 کنترل اعم از لیست باکس، کامبوباکس، چک باکس و ... بر روی فرم قرار دارند و حتی مقدار دهی هم میشوند، باز اطلاعات با موفقیت ذخیره و بارگذاری میشوند

موفق باشید

hosein3000
چهارشنبه 03 خرداد 1391, 21:53 عصر
مرسی مهندس مال منم کار می کنه ولی بعضی موقع ها اینطور میشه
شاید به خاطر پسوندش باشه چون من از خودم یک پسوند من در اوردی ایجاد کردم و اطلاعات رو داخل اون فایل ذخیره می کنم
به هر حال خیلی ممنون
راستی در مورد فرم 3 که لیست فایلهای ذخیره شده رو نشون میده
چکار کنیم که کاربر بتونه توی این لیست هر کدوم از فایلها رو خواست به راحتی حذف کنه

محسن واژدی
پنج شنبه 04 خرداد 1391, 09:37 صبح
چکار کنیم که کاربر بتونه توی این لیست هر کدوم از فایلها رو خواست به راحتی حذف کنه از اونجایی که اطلاعات توسط SaveSetting ذخیره میشوند میتوانید از دستور DeleteSetting برای حذف هر آیتم انتخاب شده استفاده کنید

موفق باشید

hosein3000
پنج شنبه 04 خرداد 1391, 15:34 عصر
از اونجایی که اطلاعات توسط SaveSetting ذخیره میشوند میتوانید از دستور DeleteSetting برای حذف هر آیتم انتخاب شده استفاده کنید

موفق باشید

منظورم تو اون لیست که فایلهای ذخیره شده رو نشون میده
و کاربر با کلیک روی آن فایل رو لود می کنه
حالا چطوری کدی بنویسیم که کاربر بتونه با کلیک روی اون فایل رو بتونه حذف کنه

محسن واژدی
پنج شنبه 04 خرداد 1391, 19:23 عصر
از دستوری مشابه زیر میتوانید استفاده کنید:
Private Sub Command1_Click()
If MsgBox("Delete '" & List1 & "' setting file?", vbYesNo Or vbExclamation) = vbYes Then Kill List1
End Sub

موفق باشید

hosein3000
پنج شنبه 04 خرداد 1391, 22:27 عصر
با تشکر از زحماتتون
مشکل حل شد.وقتی فایل رو از لیست حدف می کنم باید یک بار از لیست خارج بشم تا بتونه اونو از لیست حذف می کنه
با کد list1.refresh هم نتونستم لیست رو رفرش کنم تا وقتی فایل حدف شد همون لحظه از لیست هم اسمش حذف بشه

محسن واژدی
جمعه 05 خرداد 1391, 14:45 عصر
با تشکر از زحماتتون
مشکل حل شد.وقتی فایل رو از لیست حدف می کنم باید یک بار از لیست خارج بشم تا بتونه اونو از لیست حذف می کنه
با کد list1.refresh هم نتونستم لیست رو رفرش کنم تا وقتی فایل حدف شد همون لحظه از لیست هم اسمش حذف بشه
خواهش میکنم،
برای اینکار هم میتوانید از RemoveItem استفاده کنید، که اگر این متد را به کد اضافه کنیم میشود:
Private Sub Command1_Click()
If MsgBox("Delete '" & List1 & "' setting file?", vbYesNo Or vbExclamation) = vbYes Then
Kill List1
List1.RemoveItem List1.ListIndex
End If
End Sub


موفق باشید

hosein3000
جمعه 05 خرداد 1391, 18:44 عصر
با تشکر از زحمت های شما دوست عزیز
مشکل من حل شد و تونستم تک تک فرم ها رو ذخیره کنم
فقط نتونستم کل فرم ها رو توی یک فایل واحد ذخیره کنم
مثل اکثر نرم افرار هایی که گزینه save project دارن و هر گونه تغییرات رو به محض انجام با زدن دکمه ذخیره ذخیره می کنن
با این سورس شما من هر کاری کردم نتونستم کل فرم های فعال رو ذخیره کنم. چون تعداد فرم هایی که لود میشن زیادن
و فکر کنم وقتی هم ذخیره بشن هنگام لود کردن دچار مشکل بشن چون تو این سورس وقتی فایل رو لود می کنی باید اون فرم لود شده باشه در حالی که وقتی توی نرم افزارها open project رو می زنی کلیه تنظیمات لود میشن
به نظر شما برای این مشکلم چیکار کنم؟؟
مرسی

محسن واژدی
جمعه 05 خرداد 1391, 23:00 عصر
مثل اکثر نرم افرار هایی که گزینه save project دارن و هر گونه تغییرات رو به محض انجام با زدن دکمه ذخیره ذخیره می کنن
با این سورس شما من هر کاری کردم نتونستم کل فرم های فعال رو ذخیره کنم. چون تعداد فرم هایی که لود میشن زیادنسلام علیکم
خواهش میکنم،
در پست های قبلی به این موضوع پرداختیم، میتوانید پستهای قبلی همین تاپیک را بررسی کنید


وقتی هم ذخیره بشن هنگام لود کردن دچار مشکل بشن چون تو این سورس وقتی فایل رو لود می کنی باید اون فرم لود شده باشه در حالی که وقتی توی نرم افزارها open project رو می زنی کلیه تنظیمات لود میشنبرای این مورد هم راه های مختلفی وجود دارد برای نمونه میتوانید دستور بارگذاری اطلاعات هر فرم را در رویداد load آن فرم قرار بدین که در زمان باز شدن هر فرم به ترتیب پس از بازشدن، داده های همان فرم بارگذاری میشوند که در اینصورت عملا هیچگونه کاهش سرعتی در برنامه احساس نمیشود چرا که در ان واحد نمیخواهیم از همه فرها استفاده کنیم پس در اجرای اول برنامه تنها داده های اولین فرم بارگذاری میشوند و بارگذاری همه اطلاعات در همان اول کار لزومی ندارد، این خود مزیت هایی هم دارد که یک نمونه آن در ابتدا عرض شد مزیت دیگرش هم این است که در هنگام بستن فرم (نه hide شدن) تمامی داده های آن حذف میشود و اگر تنها یکبار در ابتدا برنامه به فرض اینکه بدون هیچ مشکلی تمامی داده های را یکجا بارگذاری میکردیم پس از بستن فرم و بازشدن مجددا آن اطلاعات قبلی در آن وجود نداشت اما وقتی دستور را در رویداد load تعریف کنیم همزمان با گشودن فرم مجددا داده های فرم بارگذاری میشوند (همانند فرم های settings برنامه ها)

موفق و پیروز باشید

hosein3000
شنبه 06 خرداد 1391, 15:25 عصر
خوب حق با شماست
ولی نتونستم درستش کنم
ولی مهندس جان یک نمونه ندارین بذارین برای مشکل من
تا بتونم از روی اون مال خودمو درست کنم؟؟

محسن واژدی
شنبه 06 خرداد 1391, 15:44 عصر
با عرض معذرت فعلا درگیر یک پروژه هستم اگر تونستم حتماً