PDA

View Full Version : سوال: جمع text box و دادن خروجی به یک lable



alifatehi
دوشنبه 31 تیر 1387, 04:12 صبح
اول به توصیر زیر نگاهی بیندازید

می خواستم تمام تکس باکس مبلغ چک رو با هم جمع کنه و بعد در label که نشان دادم در تصویر به نمایش بذاره که در حالت عادی هیچی نمایش داده نشود و زمانی که عددی داخل تکس باکس مبلغ چک نوشته شود آنجا نیز به نمایش گذاشته می شود ( این در صورتی که یکی تکس باکس پر شده باشد ) و در صورت بیشتر بودن با هم جمع کند.

مچکر می شم جوابم بدید

منتظرم

parselearn
دوشنبه 31 تیر 1387, 05:36 صبح
شكل كلي كار اين طوري:



Private Sub Command1_Click()
Dim a, b As Integer
a = Val(Text1.Text)
b = Val(Text2.Text)
If a or b <> 0 Then
Label1.Caption = a + b
End If
End Sub

xxxxx_xxxxx
دوشنبه 31 تیر 1387, 08:50 صبح
تو رويداد load مقدار عددي هر ده تا text مربوط به مبالغ چك رو با هم جمع كرده و در text مجموع قرار ميديم.

اگر text رو آرايه در نظر بگيريم اينطوري ميشه:


private form_load()
dim sum as long
for i=0 to 9
sum=sum+val(text(i)
next i
txtsum=sum
end dub

alifatehi
دوشنبه 31 تیر 1387, 20:29 عصر
شكل كلي كار اين طوري:



Private Sub Command1_Click()
Dim a, b As Integer
a = Val(Text1.Text)
b = Val(Text2.Text)
If a or b <> 0 Then
Label1.Caption = a + b
End If
End Sub



دوست عزیز جواب نداد قابل ذکر بگم این textbox مبلغ چک در sstab است راستی نمی خواستم دکمه داشته باشه و به صورت اتوماتیک انکار رو انجام بده.

alifatehi
دوشنبه 31 تیر 1387, 21:17 عصر
تو رويداد load مقدار عددي هر ده تا text مربوط به مبالغ چك رو با هم جمع كرده و در text مجموع قرار ميديم.

اگر text رو آرايه در نظر بگيريم اينطوري ميشه:


private form_load()
dim sum as long
for i=0 to 9
sum=sum+val(text(i)
next i
txtsum=sum
end dub



لطف دیگه می کنی که کمی این کد توت توضیح بده و من textbox ام کجا بذارم

مچکر بسیار

parselearn
سه شنبه 01 مرداد 1387, 04:42 صبح
اين نام جعبه متن يا برچسب شما است



private form_load()
dim sum as long
for i=0 to 9
sum=sum+val(text(i)
next i
txtsum=sum
end dub

alifatehi
سه شنبه 01 مرداد 1387, 06:33 صبح
جای معرفی کردن Textbox های که باید با هم جمع شوند کجاست

parselearn
سه شنبه 01 مرداد 1387, 07:33 صبح
اين دوستمون فرض كرده كه جعبه متن هاي شما 10 تا هست


private form_load()
dim sum as long
for i=0 to 9
sum=sum+val(text(i)
next i
txtsum=sum
end dub
به نوعي از آرايه كنترل استفاده كرديد
يعني نامهاي كنترلها يكي هستند ولي ايندكسشون يكي نيست
i در خط چهارم شماره ايندكس كنترل جعبه متن هست
Val محتويان جعبه متن رو به نوع عددي تبديل مي كنه
اين حلقه 10 بار تكرار ميشه از جعبه متني كه ايندكسش 0 است تا 9
اگر در جعبه متن عددي بود با عدد قبلي Sum جمع مي كنه و دوباره ميريزه در Sum
تقريبا اين حالتي


Sum=Sum+1
براي كار شما اين روش سريعتره
اما چون با اين روش آشنا نيستيد بهتره از روشي كه گفتم استفاده كنيد

alifatehi
سه شنبه 01 مرداد 1387, 20:18 عصر
textbox من هیچ کدوماشون اندیس ندارند

mahmood3d
سه شنبه 01 مرداد 1387, 21:53 عصر
Private Sub Command1_Click()
Dim a, b As Integer
a = Val(Text1.Text)
b = Val(Text2.Text)
If a or b <> 0 Then
Label1.Caption = a + b
End If
End Sub


با اجازه اساتيد محترم
منم نوشته parselearn عزيز رو تأييد مي كنم البته براي اينكه بدون زدن دكمه اين كار انجام بشه اين كد رو مي توني توي خاصيت change يكي از Textbox هات قرار بدي و براي بقيه Textbox ها كد نوشته شده رو با دستور Call فرا خواني كني تا حجم برنامه ات هم زياد نشه .

alifatehi
چهارشنبه 02 مرداد 1387, 01:50 صبح
ببخشید می تونی شبیه دستوری که گفتی بنویسی
مچکر

parselearn
چهارشنبه 02 مرداد 1387, 05:15 صبح
در پست قبلي منظورم از ايندكس همون انديس بود كه شما اصلاح كرديد

يك پروژه مطابق با چيزايي كه دوستمون گفتند درست كردم
در ضمن اين چيزا مربوط به برنامه نويسي 1 ميشه (پايينترين صطح)
پيشنهاد مي كنم كتابهاي كاردانش رشته كامپيوتر رو بخونيد

http://www.chap.sch.ir (http://www.chap.sch.ir/)