تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] مساعده في تصحيح كود sent number
#1
السلام عليكم ورحمة الله

بعد تعب من المحاولات 

كتبت الموضوع

عندي رقم في قاعدة البيانات عباره عن ثلاث ارقام مع ثلاث حروف

مثلا

001kkk


اريد اطلعه في ال textbox 
كذا
002kkk

يعني يتضيف رقم مع الاحتفاظ بالحروف

الكود الي عندي هذا


كود :
Exchange_s.Text = Val(Mid$(sent_numberx, 1, 3) + 1).ToString("000")



ال

sent_numberx

يطلع الرقم من قاعدة البيانات
001kkk

ما عرفت الطريقه

بس الي عرفته ان 

كود :
Mid$

كود :
function string integer


   

وانا اريد
كود :
function  integer string

ما اعرف هل  هنا المشكله او لا

بارك الله فيكم

وشكرا
الرد }}}
تم الشكر بواسطة:
#2
وعليكم السلام ورحمة الله وبركاته ،،

كود :
       Dim str As String = TextBox1.Text.Substring(0, 3)
str = Val(str + 1).ToString("000")
TextBox1.Text = str & TextBox1.Text.Substring(3, 3)



ولكن احسب حسابك الرقم ما يزيد عن ثلاث خانات .
يا رحمن الدنيا والآخرة ورحيمهما
الرد }}}
#3
شكرا استاذي ساجرب الكود

بس كيف اذا الرقم التسلسلي وصل إلى ١٠٠٠ 

لازم يمشي الى ١٠٠١.  ١٠٠٢. وهكذا


1003KKK
الرد }}}
تم الشكر بواسطة:
#4
(20-04-19, 07:44 AM)dubai.eig كتب : شكرا استاذي ساجرب الكود

بس كيف اذا الرقم التسلسلي وصل إلى ١٠٠٠ 

لازم يمشي الى ١٠٠١.  ١٠٠٢. وهكذا


1003KKK

يوجد حلين :

الأول تعمل خانات الأرقام كأقصى عدد تتصورة مثلاً :

0000001kkk

وتعدل كود اقتصاص الارقام السابق .

الثاني نعمل معادلة تحسس الأرقام والحروف ونفصل بينهم ونزيد بمقدار واحد على الرقم ثم نظيف الحروف .

كود :
Dim num As Integer = Integer.Parse(System.Text.RegularExpressions.Regex.Replace(TextBox1.Text, "[^\d]", "")) + 1
       Dim str As String = System.Text.RegularExpressions.Regex.Replace(TextBox1.Text, "(?:[0-9]+\.?[0-9]*|\.[0-9]+)", "")

       TextBox1.Text = num & str
يا رحمن الدنيا والآخرة ورحيمهما
الرد }}}
#5
(20-04-19, 04:15 AM)حريف برمجة كتب : وعليكم السلام ورحمة الله وبركاته ،،

كود :
       Dim str As String = TextBox1.Text.Substring(0, 3)
str = Val(str + 1).ToString("000")
TextBox1.Text = str & TextBox1.Text.Substring(3, 3)



ولكن احسب حسابك الرقم ما يزيد عن ثلاث خانات .



اهلا بك من جديد استاذي

ضبط معاي والحمدالله

انت فتحت عيني على طريقه ممتازه 

والحمدالله ضبطط

كود :
                       If sent_numberx.Length = "6" Then
                           str = sent_numberx.Substring(0, 3)
                           str = Format((Val(sent_numberx) + 1), "000")
                           Exchange_s.Text = str & "kkk"
                       ElseIf sent_numberx.Length = "7" Then
                           str = sent_numberx.Substring(0, 4)
                           str = Format((Val(sent_numberx) + 1), "000")
                           Exchange_s.Text = str & "kkk"
                       ElseIf sent_numberx.Length = "8" Then
                           str = sent_numberx.Substring(0, 5)
                           str = Format((Val(sent_numberx) + 1), "000")
                           Exchange_s.Text = str & "kkk"
                       End If

علشان الرقم يستمر اذا وصل 1000 او اكثر

عملت اول شي حساب عدد الحروف 
sent_numberx.Length

اذا كان 6  يعني
120kkk

اذا كان 7  يعني

1200kkk

اذا كان 8  يعني

12000kkk

وباقي العمل نفس الكود الخاص بك

احسنت وبارك الله فيك

(20-04-19, 08:57 AM)حريف برمجة كتب :
(20-04-19, 07:44 AM)dubai.eig كتب : شكرا استاذي ساجرب الكود

بس كيف اذا الرقم التسلسلي وصل إلى ١٠٠٠ 

لازم يمشي الى ١٠٠١.  ١٠٠٢. وهكذا


1003KKK

يوجد حلين :

الأول تعمل خانات الأرقام كأقصى عدد تتصورة مثلاً :

0000001kkk

وتعدل كود اقتصاص الارقام السابق .

الثاني نعمل معادلة تحسس الأرقام والحروف ونفصل بينهم ونزيد بمقدار واحد على الرقم ثم نظيف الحروف .

كود :
Dim num As Integer = Integer.Parse(System.Text.RegularExpressions.Regex.Replace(TextBox1.Text, "[^\d]", "")) + 1
       Dim str As String = System.Text.RegularExpressions.Regex.Replace(TextBox1.Text, "(?:[0-9]+\.?[0-9]*|\.[0-9]+)", "")

       TextBox1.Text = num & str


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

هذا الكود اختصر لي المهمه Smile

كود :
Dim num As Integer = Integer.Parse(System.Text.RegularExpressions.Regex.Replace(TextBox1.Text, "[^\d]", "")) + 1
      Dim str As String = System.Text.RegularExpressions.Regex.Replace(TextBox1.Text, "(?:[0-9]+\.?[0-9]*|\.[0-9]+)", "")

      TextBox1.Text = num & str


شكرااااا لك استاذي
الرد }}}
تم الشكر بواسطة: elgokr , ابراهيم ايبو , ابراهيم ايبو
#6
وعليكم السلام ورحمة الله وبركاته

طريقة بسيطة وبدون تعقيد او تخمين
حتى ولو وصل الرقم الى 9999999999999+

بما ان الاحرف تاتى بعد الارقام بمعنى ان الكود عبارة عن
كود :
999kkk

اى كانت الحروف ثابتة او متغييرة اذا كانت 3 احرف او اكثر
فكل ما فى الامر نتخيل ان الكود للقيمة كالتالى
كود :
       Dim aa As String = "001kkk"

كل ما فى الامر ناتى بعمل التالى
كود :
       MsgBox((Val(aa) + 1).ToString("000") & aa.Substring(aa.Length - 3, 3))


الان كل ما قد تحتاج الى تغييره هو شئ واحد فقط
انظر الى هذا الجزء فى الكود
كود :
- 3, 3

-3 تعنى عدد 3 احرف التى بعد الرقم
ورقم 3 اللى بعدها هو اشارة لجلب عدد الاحرف

فلو نقول ان عدد الاحرف 4 فكل ما عليك فعله
كود :
- 4, 4

الامر بسيط الان
فالكود كاملاً عبارة عن
كود :
(Val(aa) + 1).ToString("000") & aa.Substring(aa.Length - 3, 3)

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

ساهم دائماً فى    لكل من يقوم بالمساهمة
فى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل 
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد }}}
#7
(20-04-19, 09:57 AM)elgokr كتب :
وعليكم السلام ورحمة الله وبركاته

طريقة بسيطة وبدون تعقيد او تخمين
حتى ولو وصل الرقم الى 9999999999999+

بما ان الاحرف تاتى بعد الارقام بمعنى ان الكود عبارة عن
كود :
999kkk

اى كانت الحروف ثابتة او متغييرة اذا كانت 3 احرف او اكثر
فكل ما فى الامر نتخيل ان الكود للقيمة كالتالى
كود :
       Dim aa As String = "001kkk"

كل ما فى الامر ناتى بعمل التالى
كود :
       MsgBox((Val(aa) + 1).ToString("000") & aa.Substring(aa.Length - 3, 3))


الان كل ما قد تحتاج الى تغييره هو شئ واحد فقط
انظر الى هذا الجزء فى الكود
كود :
- 3, 3

-3 تعنى عدد 3 احرف التى بعد الرقم
ورقم 3 اللى بعدها هو اشارة لجلب عدد الاحرف

فلو نقول ان عدد الاحرف 4 فكل ما عليك فعله
كود :
- 4, 4

الامر بسيط الان
فالكود كاملاً عبارة عن
كود :
(Val(aa) + 1).ToString("000") & aa.Substring(aa.Length - 3, 3)

تحياتى لك
وتمنياتى لك التوفيق



احلا تقييم 

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

الله لا يحرمنا منكم  Rolleyes
الرد }}}
تم الشكر بواسطة: elgokr , ابراهيم ايبو
#8
لى ولك وللجميع بامر الله 

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

ساهم دائماً فى    لكل من يقوم بالمساهمة
فى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل 
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد }}}
تم الشكر بواسطة: dubai.eig , dubai.eig , ابراهيم ايبو



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم