ورود

View Full Version : اجراي پايدار فرم



iran2008
دوشنبه 30 دی 1387, 01:01 صبح
سلام
من دارم برنامه اي مينويسم كه به كمك شما عزيزان احتياج دارم .


http://tinypic.ws/files/5j0kv2vvo5boya5dln7o.jpg

من ميخوام كاري كنم كه وقتي برنامه رو اجرا كرديم و روي دكمه Form2 زديم (و فرم 2 آمد و همانطور كه در عكس مشاهده ميكنيد تمام محتوياتش كه در حال اجرا هستند )،
حال ميخوام كاري كنم كه چنانچه روي ضربدر خروج فرم يا روي دكمه خروج / انصراف كليك كرديم و فرم2 رو بستيم عمليات حساب و كنتوراندازي و تايمر ها متوقف نشه و اگه دوباره فرم 2 رو باز كنيم همچنان عمليات در حال انجام باشند .

مگر اينكه روي دكمه پايان كار كليك كنيم و عمليات كاملا متوقف بشوند . و اگر چنانچه باز روي دكمه فرم 2 كليك كرديم باز از اول شروع به شمارش كند .

parselearn
دوشنبه 30 دی 1387, 01:17 صبح
روش اول: مي تونيد اطلاعات رو در فايل ذخيره كنيد و دوباره فراخواني كنيد
روش دوم: اطلاعات اصلي در فرم يك باشند اما مخفي و هنگامي كه فرم دو فراخواني ميشه اطلاعات با استفاده از يك تايمر چك بشه (با بستن برنامه اطلاعات از بين ميره كه مي تونيد آن را ذخيره كنيد)

Pr0grammer
دوشنبه 30 دی 1387, 01:34 صبح
بفرمائید....

iran2008
دوشنبه 30 دی 1387, 13:18 عصر
مرسي از جوابتان

حال آيا راهي هست كه اگر چناچه برنامه رو بطور كامل بستيم و دوباره اجراش كرديم ، برنامه هنوز در حال كار كردن باشه .؟ يعني وقتي برنامه رو بستيم توقف نكنه كارش .

البته يه دستور اينجوري هست كه براي جلوگيري از عدم اجراي دوباره برنامه در Form_Load بكار ميرود :




iff app.previnstance = true then
dim result as integer

result=msgbox

unload me
end if

Pr0grammer
دوشنبه 30 دی 1387, 13:55 عصر
مرسي از جوابتان

حال آيا راهي هست كه اگر چناچه برنامه رو بطور كامل بستيم و دوباره اجراش كرديم ، برنامه هنوز در حال كار كردن باشه .؟ يعني وقتي برنامه رو بستيم توقف نكنه كارش .


راه هست، اما بستگی به برنامه تون داره؛

* برنامه تحت شبکه باشه : در این صورت میشه اطلاعات هر سیستم رو از سرور گرفت.
* برنامه تنها روی یه سیستم باشه : در این صورت همون طور که دوستمون اشاره کردن؛ میشه اطلاعات رو توی یه فایل ذخیره کرد (موقع بستن برنامه)...

موفق باشید

iran2008
سه شنبه 01 بهمن 1387, 00:43 صبح
بازم ممنون از جوابتون

حال يه كار اساسي نشونم بدين :

با توجه با اينكه هر يك ساعت 60 دقيقه هست و اگر اين 60 دقيقه رو به هشت قسمت مساوي تقسيم كنيم سهم هر قسمت 7:30 دقيقه ميباشد .

اكنون ميخوام هر 7:30 دقيقه با يه عددي ( مثلا 67 )جمع بشه . ( الان توي سورس ضميمه دوست عزيزم Pr0grammer هر 5 دقيقه يه مبلغ جمع ميشه )

يه چيز ديگه كه ميمونه اينه كه ميخوام حاصل جمع هر چي شد عددي رند بشه .
يعني اگه دو تا 67 تا با هم جمع بشن كه بشه 134 ، رند بشه و بشه 150 .
چطوري امكان رند كردنش هست . ؟

parselearn
سه شنبه 01 بهمن 1387, 07:06 صبح
خواسته اول: كه دوستمون هم حلش كردن


If Min = 7 and S1 = 30 Then
text1.text = text1.text + 67

خواسته دوم: اينو مي تونيد به صورت يك تابع فراخواني كنيد


If Len(Text1.Text) > 1 Then b1 = Mid(Text1.Text, Len(Text1.Text) - 1, 1)
If Len(Text1.Text) > 2 Then b2 = Mid(Text1.Text, Len(Text1.Text) - 2, 1)
Cls
Print b1
Print b2
If b1 >= 5 Then c2 = b2 + 1: c1 = 0
If b1 < 5 Then c1 = 5: c2 = b2

If Len(Text1.Text) > 3 Then
Print c2
Print c1
m1 = Left(Text1.Text, Len(Text1.Text) - 3)
Text1.Text = Val(m1 + CStr(c2) + CStr(c1) + CStr(0))
Else
Print c2
Print c1
Text1.Text = Val(CStr(c2) + CStr(c1) + CStr(0))
End If

ali_habibi1384
سه شنبه 01 بهمن 1387, 19:32 عصر
در رویداد unload فرم اونو hide کنید.

parselearn
چهارشنبه 02 بهمن 1387, 11:24 صبح
اصلاح شده:


If Len(Text1.Text) > 1 Then b1 = Mid(Text1.Text, Len(Text1.Text) - 1, 1)
If Len(Text1.Text) > 2 Then b2 = Mid(Text1.Text, Len(Text1.Text) - 2, 1)
Cls
Print b1
Print b2
If b1 > 5 Then c2 = b2 + 1: c1 = 0
If b1 < 5 And b1 > 0 Then c1 = 5: c2 = b2
If b1 = 0 Then c1 = 0: c2 = b2
If b1 = 5 Then c1 = 5: c2 = b2

If Len(Text1.Text) > 3 Then
Print c2
Print c1
m1 = Left(Text1.Text, Len(Text1.Text) - 3)
Text1.Text = Val(m1 + CStr(c2) + CStr(c1) + CStr(0))
Else
Print c2
Print c1
Text1.Text = Val(CStr(c2) + CStr(c1) + CStr(0))
End If


روشي هم كه دوستمون گفتن روش خوبي
فرم دو رو هنگام زدن كليد خروج مخفي كنيد.

iran2008
چهارشنبه 02 بهمن 1387, 15:30 عصر
مرسي از دوستان و خصوصا كاربر parselearn

حال ميخواستم همين دستور رند كردن براي قسمت مبلغ قابل پرداخت رو تو اين سورس برام پياده كنيد :

مرسي از همه ...
سپاس

iran2008
پنج شنبه 03 بهمن 1387, 00:39 صبح
يكي لطفا اين كد دوست عزيزمون رو براي اين سورسي كه من گذاشتم كاملش كنه تو سورسم .

مرررررسي....

parselearn
پنج شنبه 03 بهمن 1387, 06:41 صبح
البته فكر كنم روشهاي بهتري براي رند كردن باشه كه من نميدونم

iran2008
پنج شنبه 03 بهمن 1387, 13:35 عصر
مرسي با مرام
دمت گرم
حال دادي