PDA

View Full Version : سوال: مشکل در مورد تایمر



ali-software
یک شنبه 14 شهریور 1389, 19:09 عصر
If txt.text="" then
Txt.text=0
End if

سلام.من این کد رو تایمر نوشتم.میخوام ماشین حساب درست کنم و اگه تکست باکس خالی شد توش بنویسه صفر.ولی با توجه که اگه button1 مثلا درش این دستوره :text1.text=text1.text+"0
به همین خاطر با این کار اگه این باتن رو فشار بدم عدد میشه 01 نه 1 تنها.ممنون میشم اگه کمک کنید.

nasim bahari
یک شنبه 14 شهریور 1389, 19:49 عصر
سلام..........

با اینکه منظورت رو درست متوجه نشدم ولی فکر مشکلت مربوط به ( + ) باشه که برای الحاق رشته ها به کار بردی...بجای اون از ( & ) استفاده کن.....

اگه مشکل این نبود .... دقیقتر توضیح بده تا با همفکری مشکل رو حل کنیم

موفق باشین

hero4000
دوشنبه 15 شهریور 1389, 09:59 صبح
دوست عزيز کاري نداره توي رويداد کليک button1 دستور زير رو توي اولين خط بنويس



If txt.text="0" then
Txt.text=""
End if

ali-software
دوشنبه 15 شهریور 1389, 11:50 صبح
دوست عزيز کاري نداره توي رويداد کليک button1 دستور زير رو توي اولين خط بنويس



If txt.text="0" then
Txt.text=""
End if


دوست عزیز اگه این دستور رو به کار ببرم برای دفعیب اول خوبه دفعه ی دوم که مثلا 10 تا عدد تو ماشین حساب هست 10 تاش پاک میشه.لطفا کمک کنید.

modirmasool
دوشنبه 15 شهریور 1389, 16:02 عصر
من خوب مشکلتون رو متوجه نشدم. ببینین مثلا فرض کنیم الان کاربر دکمه c رو زده و ماشین حسابمون عدد 0 رو نشون میده. حالا اونطور که برداشت کردم، مشکل شما اینه که اگه کاربر الان مثلا عدد 123 رو وارد کنه، ماشین حساب عدد 0123 رو نشون میده. خوب برای حلش راه زیاده، یکی از کارهایی که میتونین بکنین اینه که کدها دکمه هاتون رو اینطوری بنویسین:
مثلا کد دکمه ی عدد 1:



If Mid(TextBox1.Text, 1, 1) = 0 Then
TextBox1.Text = Mid(TextBox1.Text, 2)
End If
TextBox1.Text = TextBox1.Text & "1"

راستی من فرض رو بر این گرفتم که ماشین حساب شما مثل بقیه ی ماشین حساب ها(مثل مال خود ویندوز)،در اول برنامه هم عدد 0 درش درج شده باشه نه اینکه خالی باشه. اگه اینطوریه ، در فرم لودتون عدد 0 رو بهش بدین.
یه چیز دیگه: چرا با تایمر خالی بودن رو چک می کنین؟:متعجب:
به جای این کار باید از کدهای رویداد هاتون کمک بگیرین. استفاده از تایمر منابع رو بیخودی مصرف میکنه. فکرشو بکنین : مدام باید برنامه تون یه شرط رو چک کنه!

hero4000
سه شنبه 16 شهریور 1389, 09:13 صبح
دوست عزیز اگه این دستور رو به کار ببرم برای دفعیب اول خوبه دفعه ی دوم که مثلا 10 تا عدد تو ماشین حساب هست 10 تاش پاک میشه.لطفا کمک کنید.

من متوجه منظور شما نميشم من توي شرطم گفتم اگه فقط صفر بود اون رو پاک کنه حالا چرا شما وقتي 10 تا عدد داري بايد پاک بشه :عصبانی:

شما اصلا اين رو استفاده کرديد که ميگيد نميشه :عصبانی:

ali-software
سه شنبه 16 شهریور 1389, 18:24 عصر
من متوجه منظور شما نميشم من توي شرطم گفتم اگه فقط صفر بود اون رو پاک کنه حالا چرا شما وقتي 10 تا عدد داري بايد پاک بشه :عصبانی:

شما اصلا اين رو استفاده کرديد که ميگيد نميشه :عصبانی:

دوست عزیز قبل از اینکه شما این کد رو بدید امتحان کرده بودم.دومم کد شما رو هم امتحان کرئم.بازم منون ازت.

xminxmin
سه شنبه 16 شهریور 1389, 19:07 عصر
1- بهتره بجاي تايمر رويداد Change خود Textbox رو تست كني و اگر خالي بود ....
2- كد توي دكمه 1 يا هر كدوم ديگه رو اينطوري بنويس:



Text1.Text=Val(Text1.Text & "1").ToString


:لبخندساده:موفق باشي

modirmasool
سه شنبه 16 شهریور 1389, 20:44 عصر
من خوب مشکلتون رو متوجه نشدم. ببینین مثلا فرض کنیم الان کاربر دکمه c رو زده و ماشین حسابمون عدد 0 رو نشون میده. حالا اونطور که برداشت کردم، مشکل شما اینه که اگه کاربر الان مثلا عدد 123 رو وارد کنه، ماشین حساب عدد 0123 رو نشون میده. خوب برای حلش راه زیاده، یکی از کارهایی که میتونین بکنین اینه که کدها دکمه هاتون رو اینطوری بنویسین:
مثلا کد دکمه ی عدد 1:



If Mid(TextBox1.Text, 1, 1) = 0 Then
TextBox1.Text = Mid(TextBox1.Text, 2)
End If
TextBox1.Text = TextBox1.Text & "1"

راستی من فرض رو بر این گرفتم که ماشین حساب شما مثل بقیه ی ماشین حساب ها(مثل مال خود ویندوز)،در اول برنامه هم عدد 0 درش درج شده باشه نه اینکه خالی باشه. اگه اینطوریه ، در فرم لودتون عدد 0 رو بهش بدین.
یه چیز دیگه: چرا با تایمر خالی بودن رو چک می کنین؟:متعجب:
به جای این کار باید از کدهای رویداد هاتون کمک بگیرین. استفاده از تایمر منابع رو بیخودی مصرف میکنه. فکرشو بکنین : مدام باید برنامه تون یه شرط رو چک کنه!

جناب ali-software توضیحاتم بدردتون خورد یا من اشتباه متوجه شده بودم؟