كيفية الترقيم حروف وارقام
عند الوصول الي A99 يتم التنقل الي B01
وعند الوصول الي B99 يتم النقل الي C01 ثم C02 - تم - C03
وعند الوصول الي Z99 يتم الانتقال الي AA01
ارجو الافادة
كيفية الترقيم حروف وارقام
عند الوصول الي A99 يتم التنقل الي B01
وعند الوصول الي B99 يتم النقل الي C01 ثم C02 - تم - C03
وعند الوصول الي Z99 يتم الانتقال الي AA01
ارجو الافادة
يا جماعة محدش عارف يفيد باي معلومه
ارجو الافادة في اسرع وقت
يا جماعة الموضوع صعب قوي للدرجة ده فين المبرمجين والناس المحترفيين
محدش عارف يرد علي السوال
ما هو الحد الاقي للترقيم او اقصي عدد للحروف
سبحانه الله وبحمده سبحانه الله العظيم
if (You Love ArabTeam2000 ) MessageBox.Show("All ArabTeam2000 Love You"); else MessageBox.Show("go to your mama"); شكرا علي الرد
الحد الاقصي للاعداد 1- 99
الحد الاقصي للحروف
الي ZZ99
تم تعديل هذه المشاركة بواسطة zop2010 في 26 مارس 2014 في 01:24
العملية بسيطة بحاجة لبعض التحليل، حيث أن الصيغة المولدة تتألف من عدة أقسام:
1. القسم الرقمي 1 - 99
2. قسمين للأحرف:
أ. قسم حرفي بالنسبة للصيغ تحت Z99
ب. قسم حرفي يضاف بعد تجاوز Z99
3. قسم حرفي يضاف في حال الرقم أصغر من 10 مثل A01
على هذا الأساس يجب عمل Class معين، بحيث تكون عملية زيادة العدد (القسم الرقمي) هي الأساس في توليد الأقسام الأخرى، حيث يتم توليد القسم الحرفي عن طريق Unicode:
عند الوصول لأعظم قيمة، يقوم هذا Class برمي Exception خاص.
حاول قراءة محتوى الـ Class، وحاول ربط المفاهيم المذكورة مع الصورة.
public class NumberingFormat
{
int number = 0; // Number to Increase
int code1 = 65; // First char next to the number
int code2 = 65; // Second char next to first char, When Z99
bool up = false; // Move to Up level
public int Number
{
get
{
if (number == 99)
{
number = 0;
code1++; // A99 -> B01
if (up) // if Z99
{
if (code1 == 91) // AZ99 -> BA01
{
code1 = 65; // Z -> A
code2++; // A - B
if (code2 == 91)
throw new Exception("No more formats can be generated");
}
}
if (code1 == 91) // We are in the first level
{
code1 = 65;
up = true;
}
}
return ++number;
}
set { number = value; }
}
public String Code
{
get
{
if (up)
return string.Format("{0}{1}", (char)code2, (char)code1); // If we are in Up Level ex: AC90
return ((char)code1).ToString(); // If we are in the first level ex: D88
}
}
public string GetNextFormat()
{
string format = "";
int n = Number;
if (n < 10) // Check if the number is less than 10, then append 0
format += "0";
return string.Format("{0}{1}{2}", Code, format, n);
}
}نلاحظ في الصورة، قمنا بتحديد رقم معين، لبدء العد من عنده.

بالتوفيق،،،
• • •
[ ربيّ احفظ سوريا الحبيبة]

شكرا علي المجهود والحل الرائع
Eng.Tareq Jehadاكرمك الله الكود جميل ولكن به مشكله for (int i = 0; i < times; i++) اتمني ان تتخلص منها بقراءه القيمة السابقة من التيجة وليس for هتي النتيجة الجديدة
مجرد فكره قم باخذ الرقم الاخير ثم يتم تفكيكه ثم تحليلة وتكمله العملية كما هي
تم تعديل هذه المشاركة بواسطة KARIMSOFT في 26 مارس 2014 في 15:23
سبحانه الله وبحمده سبحانه الله العظيم
if (You Love ArabTeam2000 ) MessageBox.Show("All ArabTeam2000 Love You"); else MessageBox.Show("go to your mama"); اخي الكريم كريم
الواجهة عبارة عن توضيح فقط. ما يهمنا هو NumberingFormay class.
ومع ذلك اذا كان بالامكان ان تكتب الحل الذي تفضلت به. ليستفيد منه الاخوة لاحقا.
• • •
[ ربيّ احفظ سوريا الحبيبة]

اكرمك الله اخي Eng.Tareq Jehad علي الكود
وتعديل بسيط الكود الخاص بك
اولا في الكلاس
public string GetNextFormat(string sCode)
{
if (sCode.Length == 3)
{
number = Convert.ToInt16(sCode.Substring(1));
code1 = Char.ConvertToUtf32(sCode, 0);
up = false;
}
else
{
number = Convert.ToInt16(sCode.Substring(2));
code1 = Char.ConvertToUtf32(sCode, 1);
code2 = Char.ConvertToUtf32(sCode, 0);
up = true;
}
string format = "";
int n = Number;
if (n < 10) // Check if the number is less than 10, then append 0
format += "0";
return string.Format("{0}{1}{2}", Code, format, n);
}ثانيا في استعاء الوظيفة
if (LASTCODE.Text.Length == 3 || .Text.Length == 4)
{
NumberingFormat F = new NumberingFormat();
NEWCODE.Text = F.GetNextFormat(LASTCODE.Text);
}وبقية الكلاس كما هو هذا يوفر الكثير
تم تعديل هذه المشاركة بواسطة KARIMSOFT في 27 مارس 2014 في 00:25
سبحانه الله وبحمده سبحانه الله العظيم
if (You Love ArabTeam2000 ) MessageBox.Show("All ArabTeam2000 Love You"); else MessageBox.Show("go to your mama"); try this
class NumbersLetterCounter
{
int number = 0;
int fChar = 65;
int sChar = 10;
bool up = false;
public string GetNext()
{
number++;
if (number <= 99) { return string.Format("{0}{1}{2}", (char)sChar, (char)fChar, number.ToString("00")); }
number=1;
fChar++;
if (fChar <= 90) { return string.Format("{0}{1}{2}", (char)sChar, (char)fChar, number.ToString("00")); }
fChar = 65;
if (!up ) { sChar = 64; }
sChar++;
number = 1;
up = true;
if (sChar <= 90) {
return string.Format("{0}{1}{2}", (char)sChar, (char)fChar, number.ToString("00")); }
// Here Rise Exption
fChar = 100;
number = 100;
return "out of range:";
}
}تم تعديل هذه المشاركة بواسطة SOLO.NET في 27 مارس 2014 في 06:31
VB.NET and C# Comparison
http://www.harding.edu/fmccown/vbnet_csharp_comparison.html
=-=-=-=-=-=-=
ذو العلم يشقى فى النعيم بعلمه .:. واخو الجهالة فى الشقاوة ينعم
=-=-=-=-=-=-=
يا من بدنياه اشتغل . قد غره طول الأمل . فالموت يأتى بغتة . والقبر صندوق العمل
=-=-=-=-=-=-=
ان لم تستطع ان تجد ما تفعله فافعل ما لم تسطع ان تجده

ممكن طلب صغير اريد ان اجعل الحقل يكون علي النحو التالي
1. القسم الرقمي 1 - 999
2. قسمين للأحرف:
أ. قسم حرفي بالنسبة للصيغ تحت Z999
ب. قسم حرفي يضاف بعد تجاوز Z999
3. قسم حرفي يضاف في حال الرقم أصغر من 100 مثل A001
* كما اريد الاستعلام عن اكبر قيمة موجوده في قاعدة البيانات حتي يتم عمل التالي من خلال القيم الموجوده في قاعدة البيانات
تم تعديل هذه المشاركة بواسطة zop2010 في 31 مارس 2014 في 17:16