PDA

View Full Version : سوال: سبكتر كردن برنامه و فرمها



Rasool-GH
چهارشنبه 05 بهمن 1390, 11:23 صبح
سلام دوستان
برنامه اي دارم كه در فرمهاي اون فيلدهاي زيادي وجود داره و از اشياء ديگه اي هم در اونها استفاده شده
در حال حاضر روي سيستمهايي كه يك مقدار كند هستند در حد CPU 2GH RAM 1GB دچار مشكلاتي شدم
براي مرور كردن ركوردها كاملا مشخصه كه برنامه تمام فيلدهارو پاك ميكنه و مجدد ركورد جديد رو بازنشاني ميكنه تا جاي ممكن فرم رو سبك كردم ولي باز هم مشكل باقيه . اگه راهي به نظر دوستان ميرسه راهنمايي كنه

wolfstander
چهارشنبه 05 بهمن 1390, 11:37 صبح
سلام
منم این مشکل رو داشتم
کاری که کردم اینها بود:
1- اشیاء اضافی رو پاک کردم
2-محاسبات غیر ضروری رو برداشتم
3- نمایش تاریخ فارسی روی فرم رو برداشتم
4-کوئری های آپدیتم رو بهینه کردم که فقط فیلدهایی که تغییر کرده اند رو آپدیت کنه
5- به ازای هر سطح دسترسی، محاسبات مختلف قرار دادم
6- فرم ادیت رو از فرم جستجو جدا کردم (با کلیک روی مورد، فرم جدیدی باز میشه که طرف ادیت کنه)
7- فرم ورود اطلاعاتم از اول هم جدا بود . بعضیا ادیت و ورود رو ، روی یک فرم میذارن که مسلما ً شما این کار رو نکردین :چشمک:
8- تعداد رکوردهای فراخوانی شونده در بخش جستجو محدود کردم (موارد فعال رو نمایش بده و فقط اطلاعات خود فرد . در صورت نیاز، فیلترها قابل تغییرند)
9- تو هم فرم نام کاربر گذاشته بودم، برش داشتم.
10- دیتابیس و فرمها و ... رو جداکردم که شما هم مسلما ً این کار رو کردید :لبخند:
همه و همه این کارها، شاید حدودا ً 70-80 درصد سرعتم رو توی شبکه برد بالا
البته، بگم ها
شاید چون من زیاد بلد نبودم، از اول گند زده بودم و سرعت همون بالای 70-80 درصد می بایست میبود که به دلیل عدم اطلاع درست و نداشتن علم کافی، سرعت رو آورده بودم پایین
من این کارها رو کردم سرعتم خوب شد
چون فایل شما رو ندیدم، نمیدونم
البته دوستان دیگه بیشتر بلدند
احتمالا ً اونها نکته های ریز و باریکتر از مو رو میگن میکروسکوپی
نکته های من با چشم نمره 3 هم قابل رویت هستند
:لبخندساده:

Rasool-GH
چهارشنبه 05 بهمن 1390, 11:55 صبح
ممنون داداش
چند موردي رو رعايت كردم و چند مورد رو نه
در مورد 7 كه فرمودين منظور اينه كه در يك فرم ركوردها مرور بشه و براي ثبت ركورد جديد يك باتون ثبت داشته باشيم كه به جاي ايجاد ركورد در همين فرم فرم جديدي رو باز كنه ؟
در مورد 10 منظور استفاده از جداول به صورت Link هستش ؟
من تو برنامه فرم هاي زيادي دارم كه بعضي ها بيش از 120 فيلد دارن ولي اونها عددي هستن و مشكل خاصي ندارم . در اين فرم كه 2 تا تپ داره كه در يكي 30 فيلد دارم و در دومي 15 تا فيلد دارم كه اكثرا كمبو باكس هستن و مقادير داخل اونها عدد و تاريخ و متن هست مشكل كاملا مشهوده

wolfstander
چهارشنبه 05 بهمن 1390, 13:06 عصر
در مورد 7 كه فرمودين منظو
کلا ً منظورم اینه که یک فرم اصلی داشته باشید
با یک دکمه، یک فرم کاملا ً مجزا و خالی باز بشه
با یک دکمه دیگه، فرم اطلاعات وارد شده در فرم اولی باز بشه



در مورد 10 منظور استفاده از جداول به صورت Link هستش ؟

بله
صد در صد منظور همین است
البته من نمیدونم که برنامه شما به چه کاری میاد
ولی فکر نمیکنید تعداد فیلدهای هر فرمتون خیلی خیلی خیلی زیاد باشه؟
کاربر باهاش راحته بعد؟
من یه فرم داشتم توش 10 تا فیلد بود، همه گیج شده بودن و نمیدونستن چی به چیه
الان همون 10 تا رو کردم یه دونه
بقیه اش خودکار و پیش فرض پر میشه
یه سری دیگه هم هست که برم تو ساب فرم
با دکمه فراخونی میشه
این تعداد فیلد، خیلی زیاده به نظرم
واسه همین کنده
حتما ً کمبو باکس ها هم میره و اطلاعات رو از جدول مختلف فراخونی میکنه؟
:افسرده:
اینجوری که شما طراحی کردی، کند نباشه معجزه است
شما ببین تو شبکه، موقعی که دیتا رو میخونی، کل اون دیتا از طریق شبکه فراخونی میشه و به صورت تمپ نگهداری میشه
هرچقدر این اطلاعات بیشتر باشه، زمان بیشتری میبره
شما میشه به من بگید که موضوع این فرم ها چیه؟
شاید بشه با همفکری، راه حلی پیدا کرد
ولی با این تعداد فیلد، مطئنم به صورت عجیب و غریبی سیستم های تحت شبکه، اطلاعات رو کندنشون میدن
به خصوص اگه سیستمی هم به صورت بی سیم وصل بشه به شبکه که دیگه واویلاست

Rasool-GH
پنج شنبه 06 بهمن 1390, 09:49 صبح
سلام
این نرم افزار تحت شبکه نیست . به دلیل اینکه تک کاربره اجرا میشه من تیبلهارو لینک نکردم . حجم برنامه زیاده باید یه مقدار کوچیکش کنم تا بتونم نمونه بزارم
خوشحال میشم از نظرات شما استفاده کنم

wolfstander
شنبه 08 بهمن 1390, 07:22 صبح
سلام
اینکه دیگه خیلی بدتره
معمولا ً وقتی تحت شبکه است، خیلی اوضاع بیریخت میشه
نه اونی که روی هر سیستم جداگانه بالا میاد
به نظر من -در حد سواد خودم- ایراد اساسی تو طراحی برنامه ات داری
از compact استفاده کن و بگو که حجم برنامه ات چقدر شده بعد از اون
اگه مثلا ً یک فرمت که به دیتابیس هم وصله رو بذاری هم که دیگه عالی میشه
در کل موضوع برنامه ات چیه؟
چی رو ریختی توش و چه دیتایی میخوای ازش دربیاد؟

Rasool-GH
شنبه 08 بهمن 1390, 14:29 عصر
سلام داداش شرمنده . چند روز گرفتار بودم . تا عصر نمونه رو میزارم .
موضوع برنامه تعمیر نگهداری تاسیسات و سیستمهای توزیع برق هست

wolfstander
شنبه 08 بهمن 1390, 14:52 عصر
سلام
دشمنت شرمنده
منم گذاشتی، فردا جوابتو میدم
با این حال هم فکر نکنم اینقدر شلوغ باید باشه
بذار ببینیم و بعدش راه حلی که به نظرم میرسه بدم که سرعتت بره بالا
بچه ها ی دیگه هم حتما ً کمک میکنند

Rasool-GH
یک شنبه 09 بهمن 1390, 18:00 عصر
سلام
بابت تاخير عذرخواهي ميكنم . اين هم نمونه مجبور شدم ملحقات رو تا جاي ممكن حذف كنم كه حجم كم بشه

c4soft
یک شنبه 09 بهمن 1390, 19:51 عصر
سلام
مراحل ذیل رو طی کردید تابحال :
- Access Option
- Current Database
گزینه ی Use Windows-themed Controls on Forms رو غیر فعال کنید.


و مراحل ذیل :
در فرم Dastorkar
خاصیت Back Style شی Tab Control رو به Transparent تغییر بدید.

Rasool-GH
یک شنبه 09 بهمن 1390, 21:23 عصر
lسلام
مورد اول رو نمیخوام که تغییر بدم ولی مورد دوم رو امتحان کردم خیلی تفاوت محسوسی ایجاد نکرد

c4soft
دوشنبه 10 بهمن 1390, 23:54 عصر
اونطور که شما میگید سنگین نیست برنامتون
ولی در کل از Tab Control سوء استفاده کردید
شیوه های جدید تری رو اعمال کنید
میشه گفت برنامتون زیاد کاربر پسند نیست . امیدوارم انتقاد پذیر باشد
میتونید از چندین فرم در برنامتون استفاده کنید

wolfstander
سه شنبه 11 بهمن 1390, 09:09 صبح
در ادامه صحبت دوست خوبم ، c4soft منم اینها رو میتونم بگم
تو تب گزارشات، به نظر اونتی وجود داره که با حرکت ماوس، فرم رو ریفرش میکنه
و مدام فرم میپره و برمیگرده
تعداد زیادی تب استفاده شده
و تب های تو در تو
شما میتونید یک فرم گزارشات داشته باشید
و بخشی رو بعنوان فیلتر گزارشات
و انوع و اقسام گزارشها رو از طریق اون تعیین کنید
من نمونه ای از فرم بخش مطالبات نرم افزار کنترل فروش خودمون رو که نوشتم، برات میذارم
در مورد اتمام و اینها
به نظر من، شما برنامه ات رو بررسی فرآیندی کن
یه فعالیت استارت میخوره
تغییراتی احتمالی توش وجود داره
به پایان میرسه
اگه فعالیتهای شما رو که به صورت پروژه ای هستند ، در نظر بگیریم، شما درصد پیشرفت فعالیتها به صورت تغییر وارد میکنید
اطلاعات اولیه، به عنوان پروژه تعریف میشن
پروژه تموم میشه
شما باید تلاش کنی که این سه تا رو از هم جدا کنی
و اینهمه استفاده از TAB رو نمیدونم که ضرورتش چی بوده
اگه ضرورتش نمایش گروه بندی شده بوده، استفاده از یه shape مستطیل هم کفایت میکرد
هرکدوم از عواملی که استفاده کردی، برای خودش اونت های مختلف و فرمت بندی های مختلف داره که لود میشه
پس باید حداکثر خساست رو در این زمینه به خرج بدی
بایدتلاش کنی که کاربر، کمترین میزان وروداطلاعات رو در هر فرمت داشته باشه
شما تا حالا از کاربرانت در مورد برنامه نظر سنجی کردی؟
میخوای من فرم نظر سنجی برنامه خودم رو برات بذارم که استفاده کنی؟
نکته جالبی که در مورد نرم افزار من بود ، این بود که اکثریت میگفتن صفحه شلوغه
کلا ً فرد سه تا آیتم وارد میکرد ها
تاریخ شروع
شرح
تاریخ اتمام
یه سری موارد دیگه هم اختیاری بود
من این کار رو کردم
موارد اختیاری رو یه گوشه گذاشتم و تو یه گروه
تاریخ شروع رو از سیستم میخونه و تاریخ روز رو میزنه
تاریخ اتمام هم به صورت خودکار، از پیش فرض کاربر که خودش تعیین میکنه معمولا ً کارش چند روز طول میکشه ، محاسبه میشه
حتی یه کمبو باکس گذاشتم که اگه خواست تغییر بده ،انتخاب کنه که مثلا ً فردا، پس فردا، هفته بعد ، و... رو بتونه انتخاب کنه و سیستم خودش عملیات محاسبه تاریخ رو بزنه
یعنی کاربر فقط شرح کار رو وارد میکنه
اینجوری رضایت بچه ها ، سریعا ً رفت بالا
چون میخوان وقتی دکمه + رو زدن ، سریعا ً بره روی مورد بعدی
به نظر من ، اشکال سیستم شما اینه که 10 قانون ساده سازی رو رعایت نکرده
http://lawsofsimplicity.com/tag/laws
(http://lawsofsimplicity.com/tag/laws)این قوانین در اپل کاربرد داشته و موفق هم بوده
شما ببین، آی پد، یه صفحه است با یک دکمه Play
بقیه موارد پنهانند مگه اینکه کاربر بخواد
حالا این رو در نظر بگیر با بقیه پلیرها
سیصدتا دکمه جلو، عقب، استاپ، 5 ثانیه ای، و ... دارن
باید هم اپل موفق بشه
چون کاربر حوصله نداره
دلش سرعت میخواد

حالا شما خودت بشین و نگاه مجدد با استفاده از ده قانون ساده سازی بنداز به برنامه ات
آیا واقعا ً همه این موارد لازمه؟

Rasool-GH
سه شنبه 11 بهمن 1390, 09:21 صبح
ممنون بابت مواردي كه گفتين . من توي برنامه حدود 100 تا فرم مختلف دارم كه براي راحتي بيشتر كاربر به درخواست خودشون چند فرم پر كاربرد رو اوردم داخل تب كه دسترسي سريع تر باشه . البته اول بالاي فرم مشابه تب يك سري باتون بود كه روي هر كدوم كليك ميكرد فرم بسته ميشد و فرم جديد در همون محل باز ميشد دقيقا مشابه تب بود ولي براي يكپارچگي بيشتر و زيبايي از تب استفاده كردم كه خيلي كند شد .

Rasool-GH
سه شنبه 11 بهمن 1390, 09:30 صبح
در مورد ساده سازي هم عرض كنم اين فرم ويرايش كلي هست كه تا جاي ممكن در هنگام ثبت ركورد با كد نويسي فيلدهاي غير ضروري در هر مرحله مخفي ميشن ولي تعريف يك دستور كار ذاتا فيلدهاي زيادي رو طلب ميكنه .
حتي در برنامه فرمي دارم كه براي تكميل يك مرحله ثبت اطلاعات حدود 110 فيلد رو بايد تكميل كرد .
تاجاي ممكن لطف كنيد راههايي رو مطرح كنيد كه بشه از حجم پروسس ها كم كرد يا روشهاي بهتر كد نويسي كه موجب پروسس كمتر ميشه
ممنون بابت نظرات خوبتون