PDA

View Full Version : ارور هنگام بسته شدن برنامه



saied7468
سه شنبه 20 اسفند 1387, 10:54 صبح
سلام
در برنامم اعداد رو 24 تا 24 تا جدا کردم(مجبورم اعداد رو 24 تا 24 تا جدا کنم) و به هر کدوم بسته به بزرگ بودنش یه رتبه دادم.مثال برای اینکه بهتر متوجه بشید :

اعداد 2و8و3و5و6و4 در بانک به همین صورتی که وارد شده داریم حالا با توجه به بزرگی عدد یه رتبه بهش می دیم:
عددها رتبه
2 ------> 6
8 ------> 1
3 ------> 5
5 ------> 3
6 ------> 2
4 ------> 4

خوب حالا که رتبه رو حساب کردم رتبه های این اعداد رو از رتبه یه سری عدد دیگه کم می کنم.

مشکلم اینه که موقعی که می خوام برنامم رو ببندم ارور می ده امتحان کردم ارور را رو وقتی می ده که من محاسبات بالا رو انجام می دم.
http://upload.iranblog.com/1/1236697260.jpg
http://upload.iranblog.com/1/1236738315.jpg

سورس این تیکه ای که گفتم رو + بانک اطلاعاتی که این تیکه سورس احتیاج داره رو ضمیمه می کنم که اگه دوستان تونستن یه نگاهی بهش بندازن.
زبان برنامه نویسی دلفی 7
بانک اطلاعاتی sql 2000

shervin farzin
سه شنبه 20 اسفند 1387, 13:27 عصر
سلام
برنامتون رو نگاه كردم ، اول بگم ماشاءالله به اين همه متغير !!
چند نكته به نظرم اومد كه عرض ميكنم :
وقتي از دستور SetLength استفاده ميكنيد بايد توجه داشته باشيد كه اين دستور فقط طول
آرايه رو تعيين ميكنه . به عنوان مثال :

SetLength(rotbe1,23);
كد بالا آرايه rotbe1 رو به طول 23 سلول تعيين ميكنه ولي Index سلولها از 0 شروع ميشه يعني
سلولهاي اين آرايه از 0 تا 22 هستن در حالي كه در برنامه شما كد زير وجود داره :

rotbe1[23]:=bh23;
rotbe1[24]:=bh24;

اين مشكل براي rotbe2 و rotbe3 هم هست .
كد هايي رو كه در بخش FormShow نوشتيد به رويداد FormCreate منتقل كنيد .
يه پيشنهاد ديگه هم دارم ، در تعريف متغيير هاتون يه تجديد نظر بكنيد و سعي كنيد تا حد
ممكن آرايه ها رو با هم تركيب كنيد ، مثلا از يك ساختار آرايه دو بعدي پويا استفاده كنيد .
موفق باشيد .

saied7468
چهارشنبه 21 اسفند 1387, 08:35 صبح
سلام
اون متغییر ها اضافی مال برنامه اصلیم هست که من موقع کپی اطلاعاتم از سورس اصلی به این سورسی که اینجا گذاشتم اونا رم کپی کردم و یادم رفت اونا رو پاک کنم.

اینم سورس بدون متغییر های اضافی و اصلاح شده .
اگه بازم دوستان لطف کنن و نگاه هی بندازن ببینن چرا ارور می ده ممنون می شم.

shervin farzin
چهارشنبه 21 اسفند 1387, 15:30 عصر
سلام
عرض كنم من برنامه اي كه شما فرستاده بوديد رو نتونستم اجراء كنم .
اما سعي كردم به جاي متغييرهاي زياد از ساختارهاي آرايه استفاده كنم و تا حد امكان
متغييرها و خط هاي كد برنامه رو كوچك كنم .
شما اين برنامه جديد رو سعي كن كه اول بخوني و بعد كدهاش رو داخل برنامه خودت قرار بده.
من اين برنامه رو با delphi 2007 نوشتم . در ضمن داخل كد برنامه در خط هاي 25 و 113 دو تا
نكته راهنما نوشتم كه براي درك برنامه حتما بهشون يه نگاهي بكن .
اميدوارم مشكل حل بشه .
موفق باشيد .