اخواني اريد ان اجمع محتوى text1.text + محتوى text2.text
ولكن عند الجمع 12 + 3 مثلا يأتي الناتج 123
والمفترض يكون الناتج = 15
ارجو افادتي اين الخطا اللذي وقت فيه انا ,, وشكراً
اخواني اريد ان اجمع محتوى text1.text + محتوى text2.text
ولكن عند الجمع 12 + 3 مثلا يأتي الناتج 123
والمفترض يكون الناتج = 15
ارجو افادتي اين الخطا اللذي وقت فيه انا ,, وشكراً
السلام عليكم و رحمة الله
بكل تأكيد راح يعطيك الناتج خطأ , لمن تقول
Text1.text + Text2.text : الفجوال بيسك يفهمها ان اللي موجود في Text1 خليه مع الموجود في Text2 , يعني لو فرضا كان اللي مكتوب في text1 = "أحمد" و text2 = "محمد" راح يكون الناتج "أحمدمحمد" او بيظهر لك الناتج مثل ما انت عملت بالارقام .
عشان نفهم الفجوال بيسك ان اللي نبغاه هو عمليه جمع قيم و ليست اضافات في أكثر من طريقه :
أولا بإستخدام المتغيرات :
Dim X as integer Dim Y as integer Dim z as integer X = Text1.text Y = Text2.text Z = x + y text3.text = Z
طريقة أخرى أدق
Dim x As Integer Dim y As Integer Dim z As Integer x = Val(Text1.Text) y = Val(Text2.Text) z = x + y Text3.Text = z
أو طريقه ثالثه أبسط:
text3.text = Val(text1.text) + val(text2.text)
الشرح :
في الطريقه الاولى و الثانيه احنا وضعنا متغيرات عدديه Integer و لهذا قيم text1 و text2 راح يحسب على أنها أرقام و ليست مدخلات نصيه و لهذا علامة ال + هذه المره راح يعرفها الفجوال بيسك على انها جمع
في الطريقه الثالثه وضعنا VAL قبل كل أداة و هذا يعني تحديد "قيم" ما بداخل النصوص Values و بهذي الطريقه الفجوال بيسك أيضا راح يتعرف على أن الموجود هو أرقام أو اعداد و ليست نصوص مدخله و بالتالي راح يتعرف على أنها عمليه جمع للقيم.
تحيه ..
(وَمَا أُوتِيتُمْ مِنَ الْعِلْمِ إِلَّا قَلِيلًا)
معلومه اضافيه أيضا لو حبيت تخلي التكسبوكس Textbox يقبل فقط الارقام و ليس الحروف تقدر توضع هذا الكود في الحدث change في التكسبوكس
If Not IsNumeric(Text1.Text) then
SendKeys "{backspace}"
End If(وَمَا أُوتِيتُمْ مِنَ الْعِلْمِ إِلَّا قَلِيلًا)
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…