الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف اخلي التكست مايقبل كتابت السالب

بدأه التاجر في 30 يونيو 2008 · 11 رد · 1,232 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

عندي مشكله بسيطه

ابي كود يمنع كتابة كلمة معينه بتكست

على سبيل المثال

1-

مابي السالب يطلع

يعني من كتابت السالب في التكست

والسلام عليكم

needforspeedcarbon_0.jpg
#2

الشسلام عليكم ورحمة الله وبركاته

ممكن

السلام عليكم ورحمة الله وبركاته

جرب الكود التالي

Private Sub Text1_KeyPress(KeyAscii As Integer)

If KeyAscii = 45 Then

SendKeys "{BackSpace}"

End If

End Sub

والغرض من الكود السابق هو اذا ضغط المستخدم علي زر السالب بقوم التكست بمسحه

ما زال الرجل عالما طالما يتحري العلم فان قال علمت ........ فقد جهل

#3

السلام عليكم...

' دالة لقبول أعداد صحيحة موجبة - أرقام فقط:
Private Function AcceptPositiveIntegers(KeyAscii As Integer) As Integer
	If KeyAscii < 32 Then
		AcceptPositiveIntegers = KeyAscii
	ElseIf (KeyAscii < 48) Or (KeyAscii > 57) Then
		AcceptPositiveIntegers = 0
	Else
		AcceptPositiveIntegers = KeyAscii
	End If
End Function

' دالة لقبول الأعداد الصحيحة الموجبة و السالبة:
Private Function AcceptIntegers(ATextBox As TextBox, KeyAscii As Integer) As Integer
	If KeyAscii < 32 Then
		AcceptIntegers = KeyAscii
	ElseIf KeyAscii = Asc("-") Then
		If ATextBox.SelStart = 0 Then
			If Left(ATextBox.Text, 1) = "-" Then
				If ATextBox.SelLength = 0 Then
					AcceptIntegers = 0
				Else
					AcceptIntegers = KeyAscii
				End If
			Else
				AcceptIntegers = KeyAscii
			End If
		Else
			AcceptIntegers = 0
		End If
	ElseIf (KeyAscii < 48) Or (KeyAscii > 57) Then
		AcceptIntegers = 0
	Else
		AcceptIntegers = KeyAscii
	End If
End Function

' دالة لقبول الأعداد الكسرية (بفاصلة عشرية) الموجبة فقط:
Private Function AcceptPositiveReals(ATextBox As TextBox, KeyAscii As Integer) As Integer
	If KeyAscii < 32 Then
		AcceptPositiveReals = KeyAscii
	ElseIf KeyAscii = Asc(".") Then
		If InStr(ATextBox.Text, ".") = 0 Then
			AcceptPositiveReals = KeyAscii
		Else
			AcceptPositiveReals = 0
		End If
	ElseIf (KeyAscii < 48) Or (KeyAscii > 57) Then
		AcceptPositiveReals = 0
	Else
		AcceptPositiveReals = KeyAscii
	End If
End Function

' دالة لقبول الأعداد الكسرية (بفاصلة عشرية) الموجبة و السالبة:
Private Function AcceptReals(ATextBox As TextBox, KeyAscii As Integer) As Integer
	If KeyAscii < 32 Then
		AcceptReals = KeyAscii
	ElseIf KeyAscii = Asc(".") Then
		If InStr(ATextBox.Text, ".") = 0 Then
			AcceptReals = KeyAscii
		Else
			AcceptReals = 0
		End If
	ElseIf KeyAscii = Asc("-") Then
		If ATextBox.SelStart = 0 Then
			If Left(ATextBox.Text, 1) = "-" Then
				If ATextBox.SelLength = 0 Then
					AcceptReals = 0
				Else
					AcceptReals = KeyAscii
				End If
			Else
				AcceptReals = KeyAscii
			End If
		Else
			AcceptReals = 0
		End If
	ElseIf (KeyAscii < 48) Or (KeyAscii > 57) Then
		AcceptReals = 0
	Else
		AcceptReals = KeyAscii
	End If
End Function

' استدعاء الدالة المناسبة حسب المطلوب:
Private Sub Text1_KeyPress(KeyAscii As Integer)
	KeyAscii = AcceptPositiveIntegers(KeyAscii)
	'KeyAscii = AcceptIntegers(Text1, KeyAscii)
	'KeyAscii = AcceptPositiveReals(Text1, KeyAscii)
	'KeyAscii = AcceptReals(Text1, KeyAscii)
End Sub

نرجو الاستفادة و السلام.

وَ قُلِ اعْمَلُوا فَسَيَرَى اللهُ عَمَلَكُمْ وَ رَسُولُهُ وَ الْمُؤْمِنُونَ

صدق الله العظيم

#4

مشكورين على الرد بهذي السرعه بس للاسف مانجح ولا واحد من هذي الاكواد

ياليت ترفقو ملف بلمطلوب ولكم خالص الشكر

من الاخير ابي اسوي عملية حسابية ومابي السالب يظهر في التكست

needforspeedcarbon_0.jpg
#5

السلام عليكم...

و الله يا صديقي "التاجر" يا ريت أنت توضح لنا المطلوب بالضبط، إما بالشرح الوافي أو بإرفاق مشروع صغير مع توضيح المطلوب، و نحن في المساعدة إن شاء الله.

و السلام.

وَ قُلِ اعْمَلُوا فَسَيَرَى اللهُ عَمَلَكُمْ وَ رَسُولُهُ وَ الْمُؤْمِنُونَ

صدق الله العظيم

#6

اخوي موجود بلمرفقات المثال والمطلوب لما يكون الرصيد صفر وابي اسحب مايقبل

المشكله انو اذا كان الرصيد صفر وجيت اسحب يطلع لي السالب

______________.rar

needforspeedcarbon_0.jpg
#7

السلام عليكم...

Private Sub Command1_Click()
	Dim NewBalance As Single
	Dim Msg As String

	NewBalance = CSng(Text1.Text) + CSng(Text3.Text)
	If CSng(Text2.Text) > NewBalance Then
		Msg = "لا يمكن سحب هذا المبلغ لأن الرصيد لا يكفي." & vbCrLf _
			& "هل تريد سحب الرصيد بالكامل؟"
		If MsgBox(Msg, vbQuestion Or vbYesNo, "ÑÕíÏ ÛíÑ ßÇÝ") = vbYes Then
			Text3.Text = "0.0"
			Text1.Text = "0.0"
			Text2.Text = "0.0"
		Else
			Text2.SetFocus
			Text2.SelStart = 0
			Text2.SelLength = Len(Text2.Text)
		End If
	Else
		Text3.Text = CStr(NewBalance - CSng(Text2.Text))
		Text1.Text = "0.0"
		Text2.Text = "0.0"
	End If
End Sub

نرجو الاستفادة و السلام

وَ قُلِ اعْمَلُوا فَسَيَرَى اللهُ عَمَلَكُمْ وَ رَسُولُهُ وَ الْمُؤْمِنُونَ

صدق الله العظيم

#8

أخى التاجر

عليك فى مثل هذه الحالات أن لا تضع الرصيد فى الETXT3 مباشرة

ولكن يجب أن تجعل له متغير بأى اسم (وليكن RASEED) ثم تقوم باختبار قيمته

كما فى الكود الآتى:

 
Private Sub Command1_Click()
RASEED = Val(Text1.Text) - Val(Text2.Text) + Val(Text3.Text)
If RASEED >= 0 Then GoTo 40
Rem"الجملة السابقة تعنى أن الوضع صحيح وعلى ذلك نتوجه الى الجملة رقم 40 لتنفيذ ماكنت تريده"
MMSG1 = " رصيدك لا يسمح"
MMSG2 = "كيف ذلك؟"
Z = MsgBox((MMSG1), vbCritical, (MMSG2))
GoTo 60
40  Text3.Text = RASEED	
Text1.Text = ""
Text2.Text = ""
60 End Sub

تم تعديل هذه المشاركة بواسطة المبرمج أحمد في 4 يوليو 2008 في 19:20 — السبب: تعديل مظهر الكود

بســم الله الـرحمــن الرحيــم

السلام عليكــم ورحمـة الله وبركاتــة ،،

الحمدلله والصلاة والسلام على رسول الله وعلى آله وصحبه أجمعين

شكراً لك اخي الكريم

#9

للاسف لم يوجد حل للمشكله

ياشباب المطلوب كود بسيط اذا جيب اسحب ورصيد صفر يقول لي رصيدك لايسمح

واذا اوتعت وجيت اسحب يسحب بس اذا وصل الرصيد لصفر ابي رساله طلع وتقول لي رصيدك صفر

needforspeedcarbon_0.jpg
#10

أخى التاجر

الحل كما ذكرت لك فى الكود البسيط الذى كتبته لك

ولكن احذف منه هذه العلامات الغريبة <BR> التى يضعها المنتدى بين كل جملتين :

</SPAN>

بســم الله الـرحمــن الرحيــم

السلام عليكــم ورحمـة الله وبركاتــة ،،

الحمدلله والصلاة والسلام على رسول الله وعلى آله وصحبه أجمعين

شكراً لك اخي الكريم

#11

أخى التاجر

أفضل شئ لأرتاح وترتاح معى من هذه العلامات الغريبة ألا أكتب هنا أى كود

ولكن ها هو الكود فى هذا المرفق

_______.rar

بســم الله الـرحمــن الرحيــم

السلام عليكــم ورحمـة الله وبركاتــة ،،

الحمدلله والصلاة والسلام على رسول الله وعلى آله وصحبه أجمعين

شكراً لك اخي الكريم

#12

أخى التاجر

أليس هذا الكود هو الذى تريده؟

ان كان كذلك فقل لى ماذا ترد أن تعدل فيه

وأنا معك ختى النهاية

بســم الله الـرحمــن الرحيــم

السلام عليكــم ورحمـة الله وبركاتــة ،،

الحمدلله والصلاة والسلام على رسول الله وعلى آله وصحبه أجمعين

شكراً لك اخي الكريم

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…