السلام عليكم ورحمة الله
بعد تعب من المحاولات
كتبت الموضوع
عندي رقم في قاعدة البيانات عباره عن ثلاث ارقام مع ثلاث حروف
مثلا
001kkk
اريد اطلعه في ال textbox
كذا
002kkk
يعني يتضيف رقم مع الاحتفاظ بالحروف
الكود الي عندي هذا
كود :
Exchange_s.Text = Val(Mid$(sent_numberx, 1, 3) + 1).ToString("000")
ال
sent_numberx
يطلع الرقم من قاعدة البيانات
001kkk
ما عرفت الطريقه
بس الي عرفته ان
كود :
function string integer
[
attachment=21374]
وانا اريد
كود :
function integer string
ما اعرف هل هنا المشكله او لا
بارك الله فيكم
وشكرا
وعليكم السلام ورحمة الله وبركاته ،،
كود :
Dim str As String = TextBox1.Text.Substring(0, 3)
str = Val(str + 1).ToString("000")
TextBox1.Text = str & TextBox1.Text.Substring(3, 3)
ولكن احسب حسابك الرقم ما يزيد عن ثلاث خانات .
شكرا استاذي ساجرب الكود
بس كيف اذا الرقم التسلسلي وصل إلى ١٠٠٠
لازم يمشي الى ١٠٠١. ١٠٠٢. وهكذا
1003KKK
(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
(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
توني اشوف ردك استاذي ما اعرف عن هذه الطريقه بس هو الحمدالله ضبط
بس بجرب الكود هذا
هذا الكود اختصر لي المهمه
كود :
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
شكرااااا لك استاذي
وعليكم السلام ورحمة الله وبركاته
طريقة بسيطة وبدون تعقيد او تخمين
حتى ولو وصل الرقم الى 9999999999999+
بما ان الاحرف تاتى بعد الارقام بمعنى ان الكود عبارة عن
اى كانت الحروف ثابتة او متغييرة اذا كانت 3 احرف او اكثر
فكل ما فى الامر نتخيل ان الكود للقيمة كالتالى
كود :
Dim aa As String = "001kkk"
كل ما فى الامر ناتى بعمل التالى
كود :
MsgBox((Val(aa) + 1).ToString("000") & aa.Substring(aa.Length - 3, 3))
الان كل ما قد تحتاج الى تغييره هو شئ واحد فقط
انظر الى هذا الجزء فى الكود
-3 تعنى عدد 3 احرف التى بعد الرقم
ورقم 3 اللى بعدها هو اشارة لجلب عدد الاحرف
فلو نقول ان عدد الاحرف 4 فكل ما عليك فعله
الامر بسيط الان
فالكود كاملاً عبارة عن
كود :
(Val(aa) + 1).ToString("000") & aa.Substring(aa.Length - 3, 3)
تحياتى لك
وتمنياتى لك التوفيق
(20-04-19, 09:57 AM)elgokr كتب : [ -> ]وعليكم السلام ورحمة الله وبركاته
طريقة بسيطة وبدون تعقيد او تخمين
حتى ولو وصل الرقم الى 9999999999999+
بما ان الاحرف تاتى بعد الارقام بمعنى ان الكود عبارة عن
اى كانت الحروف ثابتة او متغييرة اذا كانت 3 احرف او اكثر
فكل ما فى الامر نتخيل ان الكود للقيمة كالتالى
كود :
Dim aa As String = "001kkk"
كل ما فى الامر ناتى بعمل التالى
كود :
MsgBox((Val(aa) + 1).ToString("000") & aa.Substring(aa.Length - 3, 3))
الان كل ما قد تحتاج الى تغييره هو شئ واحد فقط
انظر الى هذا الجزء فى الكود
-3 تعنى عدد 3 احرف التى بعد الرقم
ورقم 3 اللى بعدها هو اشارة لجلب عدد الاحرف
فلو نقول ان عدد الاحرف 4 فكل ما عليك فعله
الامر بسيط الان
فالكود كاملاً عبارة عن
كود :
(Val(aa) + 1).ToString("000") & aa.Substring(aa.Length - 3, 3)
تحياتى لك
وتمنياتى لك التوفيق
احلا تقييم
تسلم ايدك عمل بشكل ممتاز احسنت استاذي الكريم ومنك ومن الشباب الطيبين نستفيد
الله لا يحرمنا منكم
