[تم الحل] مشكلة فى تحويل مشروع تفقيط من vb.net الى #C - maxruined - 16-07-19
السلام عليكم
عندى مشكلة وهى تحويل مشروع تفقيط من vb.net الى #C
هذا هو الكلاس اللى داخل المشروع
كود :
Module Mony_Count
Function NoToTxt(ByVal TheNo As Double, ByVal MyCur As String, ByVal MySubCur As String) As String
Dim MyArry1(0 To 9) As String
Dim MyArry2(0 To 9) As String
Dim MyArry3(0 To 9) As String
Dim MyNo As String = ""
Dim GetNo As String = ""
Dim RdNo As String = ""
Dim My100 As String = ""
Dim My10 As String = ""
Dim My1 As String = ""
Dim My11 As String = ""
Dim My12 As String = ""
Dim GetTxt As String = ""
Dim Mybillion As String = ""
Dim MyMillion As String = ""
Dim MyThou As String = ""
Dim MyHun As String = ""
Dim MyFraction As String = ""
Dim MyAnd As String = ""
Dim i As Integer
Dim ReMark As String = ""
If TheNo > 999999999999.99 Then
End If
If TheNo = 0 Then
NoToTxt = "صفر"
Exit Function
End If
MyAnd = " و"
MyArry1(0) = ""
MyArry1(1) = "مائة"
MyArry1(2) = "مائتان"
MyArry1(3) = "ثلاثمائة"
MyArry1(4) = "أربعمائة"
MyArry1(5) = "خمسمائة"
MyArry1(6) = "ستمائة"
MyArry1(7) = "سبعمائة"
MyArry1(8) = "ثمانمائة"
MyArry1(9) = "تسعمائة"
MyArry2(0) = ""
MyArry2(1) = " عشر"
MyArry2(2) = "عشرون"
MyArry2(3) = "ثلاثون"
MyArry2(4) = "أربعون"
MyArry2(5) = "خمسون"
MyArry2(6) = "ستون"
MyArry2(7) = "سبعون"
MyArry2(8) = "ثمانون"
MyArry2(9) = "تسعون"
MyArry3(0) = ""
MyArry3(1) = "واحد"
MyArry3(2) = "اثنان"
MyArry3(3) = "ثلاثة"
MyArry3(4) = "أربعة"
MyArry3(5) = "خمسة"
MyArry3(6) = "ستة"
MyArry3(7) = "سبعة"
MyArry3(8) = "ثمانية"
MyArry3(9) = "تسعة"
'======================
GetNo = Format(TheNo, "000000000000.00")
i = 0
Do While i < 15
If i < 12 Then
MyNo = Mid$(GetNo, i + 1, 3)
Else
MyNo = "0" + Mid$(GetNo, i + 2, 2)
End If
If (Mid$(MyNo, 1, 3)) > 0 Then
RdNo = Mid$(MyNo, 1, 1)
My100 = MyArry1(RdNo)
RdNo = Mid$(MyNo, 3, 1)
My1 = MyArry3(RdNo)
RdNo = Mid$(MyNo, 2, 1)
My10 = MyArry2(RdNo)
If Mid$(MyNo, 2, 2) = 11 Then My11 = "إحدى عشر"
If Mid$(MyNo, 2, 2) = 12 Then My12 = "إثنى عشر"
If Mid$(MyNo, 2, 2) = 10 Then My10 = "عشرة"
If ((Mid$(MyNo, 1, 1)) > 0) And ((Mid$(MyNo, 2, 2)) > 0) Then My100 = My100 + MyAnd
If ((Mid$(MyNo, 3, 1)) > 0) And ((Mid$(MyNo, 2, 1)) > 1) Then My1 = My1 + MyAnd
GetTxt = My100 + My1 + My10
If ((Mid$(MyNo, 3, 1)) = 1) And ((Mid$(MyNo, 2, 1)) = 1) Then
GetTxt = My100 + My11
If ((Mid$(MyNo, 1, 1)) = 0) Then GetTxt = My11
End If
If ((Mid$(MyNo, 3, 1)) = 2) And ((Mid$(MyNo, 2, 1)) = 1) Then
GetTxt = My100 + My12
If ((Mid$(MyNo, 1, 1)) = 0) Then GetTxt = My12
End If
If (i = 0) And (GetTxt <> "") Then
If ((Mid$(MyNo, 1, 3)) > 10) Then
Mybillion = GetTxt + " مليار"
Else
Mybillion = GetTxt + " مليارات"
If ((Mid$(MyNo, 1, 3)) = 2) Then Mybillion = " مليار"
If ((Mid$(MyNo, 1, 3)) = 2) Then Mybillion = " ملياران"
End If
End If
If (i = 3) And (GetTxt <> "") Then
If ((Mid$(MyNo, 1, 3)) > 10) Then
MyMillion = GetTxt + " مليون"
Else
MyMillion = GetTxt + " ملايين"
If ((Mid$(MyNo, 1, 3)) = 1) Then MyMillion = " مليون"
If ((Mid$(MyNo, 1, 3)) = 2) Then MyMillion = " مليونان"
End If
End If
If (i = 6) And (GetTxt <> "") Then
If ((Mid$(MyNo, 1, 3)) > 10) Then
MyThou = GetTxt + " ألف"
Else
MyThou = GetTxt + " آلاف"
If ((Mid$(MyNo, 3, 1)) = 1) Then MyThou = " ألف"
If ((Mid$(MyNo, 3, 1)) = 2) Then MyThou = " ألفان"
End If
End If
If (i = 9) And (GetTxt <> "") Then MyHun = GetTxt
If (i = 12) And (GetTxt <> "") Then MyFraction = GetTxt
End If
i = i + 3
Loop
If (Mybillion <> "") Then
If (MyMillion <> "") Or (MyThou <> "") Or (MyHun <> "") Then Mybillion = Mybillion + MyAnd
End If
If (MyMillion <> "") Then
If (MyThou <> "") Or (MyHun <> "") Then MyMillion = MyMillion + MyAnd
End If
If (MyThou <> "") Then
If (MyHun <> "") Then MyThou = MyThou + MyAnd
End If
If MyFraction <> "" Then
If (Mybillion <> "") Or (MyMillion <> "") Or (MyThou <> "") Or (MyHun <> "") Then
NoToTxt = ReMark + Mybillion + MyMillion + MyThou + MyHun + " " + MyCur + MyAnd + MyFraction + " " + MySubCur
Else
NoToTxt = ReMark + MyFraction + " " + MySubCur
End If
Else
NoToTxt = ReMark + Mybillion + MyMillion + MyThou + MyHun + " " + MyCur
End If
End Function
End Module
بتمني من اى حد عنده خبره يحولهولي الى سي شارب
انا كمان رفعت المشروع للي حابب يشوفه ويعدله
شكراً مقدماً
RE: مشكلة فى تحويل مشروع تفقيط من vb.net الى #C - ابراهيم ايبو - 16-07-19
السلام عليكم
تفضل اخي انشاء الله لايظهر فيه خطأ جربه
وان وجد قم بتعديله انت
كود :
public string NoToTxt(double TheNo, string MyCur, string MySubCur)
{
string tempNoToTxt = null;
string[] MyArry1 = new string[10];
string[] MyArry2 = new string[10];
string[] MyArry3 = new string[10];
string MyNo = "";
string GetNo = "";
string RdNo = "";
string My100 = "";
string My10 = "";
string My1 = "";
string My11 = "";
string My12 = "";
string GetTxt = "";
string Mybillion = "";
string MyMillion = "";
string MyThou = "";
string MyHun = "";
string MyFraction = "";
string MyAnd = "";
int i = 0;
string ReMark = "";
if (TheNo > 999999999999.99)
{
}
if (TheNo == 0)
{
return "صفر";
}
MyAnd = " و";
MyArry1[0] = "";
MyArry1[1] = "مائة";
MyArry1[2] = "مائتان";
MyArry1[3] = "ثلاثمائة";
MyArry1[4] = "أربعمائة";
MyArry1[5] = "خمسمائة";
MyArry1[6] = "ستمائة";
MyArry1[7] = "سبعمائة";
MyArry1[8] = "ثمانمائة";
MyArry1[9] = "تسعمائة";
MyArry2[0] = "";
MyArry2[1] = " عشر";
MyArry2[2] = "عشرون";
MyArry2[3] = "ثلاثون";
MyArry2[4] = "أربعون";
MyArry2[5] = "خمسون";
MyArry2[6] = "ستون";
MyArry2[7] = "سبعون";
MyArry2[8] = "ثمانون";
MyArry2[9] = "تسعون";
MyArry3[0] = "";
MyArry3[1] = "واحد";
MyArry3[2] = "اثنان";
MyArry3[3] = "ثلاثة";
MyArry3[4] = "أربعة";
MyArry3[5] = "خمسة";
MyArry3[6] = "ستة";
MyArry3[7] = "سبعة";
MyArry3[8] = "ثمانية";
MyArry3[9] = "تسعة";
//======================
GetNo = TheNo.ToString("000000000000.00");
i = 0;
while (i < 15)
{
if (i < 12)
{
MyNo = GetNo.Substring(i, 3);
}
else
{
MyNo = "0" + GetNo.Substring((i + 2) - 1, 2);
}
if ((MyNo.Substring(0, 3)).CompareTo(0.ToString()) > 0)
{
RdNo = MyNo.Substring(0, 1);
My100 = MyArry1[Convert.ToInt32(RdNo)];
RdNo = MyNo.Substring(2, 1);
My1 = MyArry3[Convert.ToInt32(RdNo)];
RdNo = MyNo.Substring(1, 1);
My10 = MyArry2[Convert.ToInt32(RdNo)];
if (MyNo.Substring(1, 2) == 11.ToString())
{
My11 = "إحدى عشر";
}
if (MyNo.Substring(1, 2) == 12.ToString())
{
My12 = "إثنى عشر";
}
if (MyNo.Substring(1, 2) == 10.ToString())
{
My10 = "عشرة";
}
if (((MyNo.Substring(0, 1)).CompareTo(0.ToString()) > 0) && ((MyNo.Substring(1, 2)).CompareTo(0.ToString()) > 0))
{
My100 = My100 + MyAnd;
}
if (((MyNo.Substring(2, 1)).CompareTo(0.ToString()) > 0) && ((MyNo.Substring(1, 1)).CompareTo(1.ToString()) > 0))
{
My1 = My1 + MyAnd;
}
GetTxt = My100 + My1 + My10;
if (((MyNo.Substring(2, 1)) == 1.ToString()) && ((MyNo.Substring(1, 1)) == 1.ToString()))
{
GetTxt = My100 + My11;
if ((MyNo.Substring(0, 1)) == 0.ToString())
{
GetTxt = My11;
}
}
if (((MyNo.Substring(2, 1)) == 2.ToString()) && ((MyNo.Substring(1, 1)) == 1.ToString()))
{
GetTxt = My100 + My12;
if ((MyNo.Substring(0, 1)) == 0.ToString())
{
GetTxt = My12;
}
}
if ((i == 0) && (!string.IsNullOrEmpty(GetTxt)))
{
if ((MyNo.Substring(0, 3)).CompareTo(10.ToString()) > 0)
{
Mybillion = GetTxt + " مليار";
}
else
{
Mybillion = GetTxt + " مليارات";
if ((MyNo.Substring(0, 3)) == 2.ToString())
{
Mybillion = " مليار";
}
if ((MyNo.Substring(0, 3)) == 2.ToString())
{
Mybillion = " ملياران";
}
}
}
if ((i == 3) && (!string.IsNullOrEmpty(GetTxt)))
{
if ((MyNo.Substring(0, 3)).CompareTo(10.ToString()) > 0)
{
MyMillion = GetTxt + " مليون";
}
else
{
MyMillion = GetTxt + " ملايين";
if ((MyNo.Substring(0, 3)) == 1.ToString())
{
MyMillion = " مليون";
}
if ((MyNo.Substring(0, 3)) == 2.ToString())
{
MyMillion = " مليونان";
}
}
}
if ((i == 6) && (!string.IsNullOrEmpty(GetTxt)))
{
if ((MyNo.Substring(0, 3)).CompareTo(10.ToString()) > 0)
{
MyThou = GetTxt + " ألف";
}
else
{
MyThou = GetTxt + " آلاف";
if ((MyNo.Substring(2, 1)) == 1.ToString())
{
MyThou = " ألف";
}
if ((MyNo.Substring(2, 1)) == 2.ToString())
{
MyThou = " ألفان";
}
}
}
if ((i == 9) && (!string.IsNullOrEmpty(GetTxt)))
{
MyHun = GetTxt;
}
if ((i == 12) && (!string.IsNullOrEmpty(GetTxt)))
{
MyFraction = GetTxt;
}
}
i = i + 3;
}
if (!string.IsNullOrEmpty(Mybillion))
{
if ((!string.IsNullOrEmpty(MyMillion)) || (!string.IsNullOrEmpty(MyThou)) || (!string.IsNullOrEmpty(MyHun)))
{
Mybillion = Mybillion + MyAnd;
}
}
if (!string.IsNullOrEmpty(MyMillion))
{
if ((!string.IsNullOrEmpty(MyThou)) || (!string.IsNullOrEmpty(MyHun)))
{
MyMillion = MyMillion + MyAnd;
}
}
if (!string.IsNullOrEmpty(MyThou))
{
if (!string.IsNullOrEmpty(MyHun))
{
MyThou = MyThou + MyAnd;
}
}
if (!string.IsNullOrEmpty(MyFraction))
{
if ((!string.IsNullOrEmpty(Mybillion)) || (!string.IsNullOrEmpty(MyMillion)) || (!string.IsNullOrEmpty(MyThou)) || (!string.IsNullOrEmpty(MyHun)))
{
tempNoToTxt = ReMark + Mybillion + MyMillion + MyThou + MyHun + " " + MyCur + MyAnd + MyFraction + " " + MySubCur;
}
else
{
tempNoToTxt = ReMark + MyFraction + " " + MySubCur;
}
}
else
{
tempNoToTxt = ReMark + Mybillion + MyMillion + MyThou + MyHun + " " + MyCur;
}
return tempNoToTxt;
}
RE: مشكلة فى تحويل مشروع تفقيط من vb.net الى #C - maxruined - 16-07-19
(16-07-19, 04:36 PM)ابراهيم ايبو كتب : السلام عليكم
تفضل اخي انشاء الله لايظهر فيه خطأ جربه
وان وجد قم بتعديله انت
كود :
public string NoToTxt(double TheNo, string MyCur, string MySubCur)
{
string tempNoToTxt = null;
string[] MyArry1 = new string[10];
string[] MyArry2 = new string[10];
string[] MyArry3 = new string[10];
string MyNo = "";
string GetNo = "";
string RdNo = "";
string My100 = "";
string My10 = "";
string My1 = "";
string My11 = "";
string My12 = "";
string GetTxt = "";
string Mybillion = "";
string MyMillion = "";
string MyThou = "";
string MyHun = "";
string MyFraction = "";
string MyAnd = "";
int i = 0;
string ReMark = "";
if (TheNo > 999999999999.99)
{
}
if (TheNo == 0)
{
return "صفر";
}
MyAnd = " و";
MyArry1[0] = "";
MyArry1[1] = "مائة";
MyArry1[2] = "مائتان";
MyArry1[3] = "ثلاثمائة";
MyArry1[4] = "أربعمائة";
MyArry1[5] = "خمسمائة";
MyArry1[6] = "ستمائة";
MyArry1[7] = "سبعمائة";
MyArry1[8] = "ثمانمائة";
MyArry1[9] = "تسعمائة";
MyArry2[0] = "";
MyArry2[1] = " عشر";
MyArry2[2] = "عشرون";
MyArry2[3] = "ثلاثون";
MyArry2[4] = "أربعون";
MyArry2[5] = "خمسون";
MyArry2[6] = "ستون";
MyArry2[7] = "سبعون";
MyArry2[8] = "ثمانون";
MyArry2[9] = "تسعون";
MyArry3[0] = "";
MyArry3[1] = "واحد";
MyArry3[2] = "اثنان";
MyArry3[3] = "ثلاثة";
MyArry3[4] = "أربعة";
MyArry3[5] = "خمسة";
MyArry3[6] = "ستة";
MyArry3[7] = "سبعة";
MyArry3[8] = "ثمانية";
MyArry3[9] = "تسعة";
//======================
GetNo = TheNo.ToString("000000000000.00");
i = 0;
while (i < 15)
{
if (i < 12)
{
MyNo = GetNo.Substring(i, 3);
}
else
{
MyNo = "0" + GetNo.Substring((i + 2) - 1, 2);
}
if ((MyNo.Substring(0, 3)).CompareTo(0.ToString()) > 0)
{
RdNo = MyNo.Substring(0, 1);
My100 = MyArry1[Convert.ToInt32(RdNo)];
RdNo = MyNo.Substring(2, 1);
My1 = MyArry3[Convert.ToInt32(RdNo)];
RdNo = MyNo.Substring(1, 1);
My10 = MyArry2[Convert.ToInt32(RdNo)];
if (MyNo.Substring(1, 2) == 11.ToString())
{
My11 = "إحدى عشر";
}
if (MyNo.Substring(1, 2) == 12.ToString())
{
My12 = "إثنى عشر";
}
if (MyNo.Substring(1, 2) == 10.ToString())
{
My10 = "عشرة";
}
if (((MyNo.Substring(0, 1)).CompareTo(0.ToString()) > 0) && ((MyNo.Substring(1, 2)).CompareTo(0.ToString()) > 0))
{
My100 = My100 + MyAnd;
}
if (((MyNo.Substring(2, 1)).CompareTo(0.ToString()) > 0) && ((MyNo.Substring(1, 1)).CompareTo(1.ToString()) > 0))
{
My1 = My1 + MyAnd;
}
GetTxt = My100 + My1 + My10;
if (((MyNo.Substring(2, 1)) == 1.ToString()) && ((MyNo.Substring(1, 1)) == 1.ToString()))
{
GetTxt = My100 + My11;
if ((MyNo.Substring(0, 1)) == 0.ToString())
{
GetTxt = My11;
}
}
if (((MyNo.Substring(2, 1)) == 2.ToString()) && ((MyNo.Substring(1, 1)) == 1.ToString()))
{
GetTxt = My100 + My12;
if ((MyNo.Substring(0, 1)) == 0.ToString())
{
GetTxt = My12;
}
}
if ((i == 0) && (!string.IsNullOrEmpty(GetTxt)))
{
if ((MyNo.Substring(0, 3)).CompareTo(10.ToString()) > 0)
{
Mybillion = GetTxt + " مليار";
}
else
{
Mybillion = GetTxt + " مليارات";
if ((MyNo.Substring(0, 3)) == 2.ToString())
{
Mybillion = " مليار";
}
if ((MyNo.Substring(0, 3)) == 2.ToString())
{
Mybillion = " ملياران";
}
}
}
if ((i == 3) && (!string.IsNullOrEmpty(GetTxt)))
{
if ((MyNo.Substring(0, 3)).CompareTo(10.ToString()) > 0)
{
MyMillion = GetTxt + " مليون";
}
else
{
MyMillion = GetTxt + " ملايين";
if ((MyNo.Substring(0, 3)) == 1.ToString())
{
MyMillion = " مليون";
}
if ((MyNo.Substring(0, 3)) == 2.ToString())
{
MyMillion = " مليونان";
}
}
}
if ((i == 6) && (!string.IsNullOrEmpty(GetTxt)))
{
if ((MyNo.Substring(0, 3)).CompareTo(10.ToString()) > 0)
{
MyThou = GetTxt + " ألف";
}
else
{
MyThou = GetTxt + " آلاف";
if ((MyNo.Substring(2, 1)) == 1.ToString())
{
MyThou = " ألف";
}
if ((MyNo.Substring(2, 1)) == 2.ToString())
{
MyThou = " ألفان";
}
}
}
if ((i == 9) && (!string.IsNullOrEmpty(GetTxt)))
{
MyHun = GetTxt;
}
if ((i == 12) && (!string.IsNullOrEmpty(GetTxt)))
{
MyFraction = GetTxt;
}
}
i = i + 3;
}
if (!string.IsNullOrEmpty(Mybillion))
{
if ((!string.IsNullOrEmpty(MyMillion)) || (!string.IsNullOrEmpty(MyThou)) || (!string.IsNullOrEmpty(MyHun)))
{
Mybillion = Mybillion + MyAnd;
}
}
if (!string.IsNullOrEmpty(MyMillion))
{
if ((!string.IsNullOrEmpty(MyThou)) || (!string.IsNullOrEmpty(MyHun)))
{
MyMillion = MyMillion + MyAnd;
}
}
if (!string.IsNullOrEmpty(MyThou))
{
if (!string.IsNullOrEmpty(MyHun))
{
MyThou = MyThou + MyAnd;
}
}
if (!string.IsNullOrEmpty(MyFraction))
{
if ((!string.IsNullOrEmpty(Mybillion)) || (!string.IsNullOrEmpty(MyMillion)) || (!string.IsNullOrEmpty(MyThou)) || (!string.IsNullOrEmpty(MyHun)))
{
tempNoToTxt = ReMark + Mybillion + MyMillion + MyThou + MyHun + " " + MyCur + MyAnd + MyFraction + " " + MySubCur;
}
else
{
tempNoToTxt = ReMark + MyFraction + " " + MySubCur;
}
}
else
{
tempNoToTxt = ReMark + Mybillion + MyMillion + MyThou + MyHun + " " + MyCur;
}
return tempNoToTxt;
}
شغال تمام اخى العزيز
شكراً جداً ليك
RE: [تم الحل] مشكلة فى تحويل مشروع تفقيط من vb.net الى #C - ابراهيم ايبو - 16-07-19
الحمد لله والشكر لله
اخي الكريم اراك مستغرب من سرعة الرد وتحويل الكود(لست سوبرمان)
للمصادفة في احد الايام منذ مايقرب من اربعة اشهر كنت في زيارة عند ابني
وكان نفس الكود عندي بالفيجوال وجلست اتسلى في تحويله واخذ مني مايقرب 3 ساعات
وجربته وظهر لي خطأ ولم اشا ان ابحث عن الحطأ فانزعجت وتركت المشروع
وعندما طلبته انت قمت بارساله وبما انه خال من الخطأ
اذا الخطأ عندي في مشروعي في كود أخر غير التفقيط
رب صدفة خير من الف ميعاد
دمت بخير
RE: [تم الحل] مشكلة فى تحويل مشروع تفقيط من vb.net الى #C - asemshahen5 - 16-07-19
ما رأيك مشروع تفقيط الأرقام عربي / إنجليزي متعدد العملات :
[attachment=22079]
[attachment=22080]
مشروع تفقيط الأرقام عربي / إنجليزي متعدد العملات .
RE: [تم الحل] مشكلة فى تحويل مشروع تفقيط من vb.net الى #C - maxruined - 20-07-19
(16-07-19, 05:19 PM)ابراهيم ايبو كتب : الحمد لله والشكر لله
اخي الكريم اراك مستغرب من سرعة الرد وتحويل الكود(لست سوبرمان)
للمصادفة في احد الايام منذ مايقرب من اربعة اشهر كنت في زيارة عند ابني
وكان نفس الكود عندي بالفيجوال وجلست اتسلى في تحويله واخذ مني مايقرب 3 ساعات
وجربته وظهر لي خطأ ولم اشا ان ابحث عن الحطأ فانزعجت وتركت المشروع
وعندما طلبته انت قمت بارساله وبما انه خال من الخطأ
اذا الخطأ عندي في مشروعي في كود أخر غير التفقيط
رب صدفة خير من الف ميعاد
دمت بخير
فعلا فيه صدف كدا غريبه تخليك تبوص للحاجه بنظره تانى خالص
بتمني تكون عرفت الخطأ اللى كان عندك فى المشروع
تحياتي اخى العزيز
(16-07-19, 07:06 PM)asemshahen5 كتب : ما رأيك مشروع تفقيط الأرقام عربي / إنجليزي متعدد العملات :
مشروع تفقيط الأرقام عربي / إنجليزي متعدد العملات .
اخى العزيز جداً asemshahen5
كالعاده دائماً متألق بجد شكراً جداً
RE: مشكلة فى تحويل مشروع تفقيط من vb.net الى #C - maxruined - 28-07-19
(16-07-19, 04:36 PM)ابراهيم ايبو كتب : السلام عليكم
تفضل اخي انشاء الله لايظهر فيه خطأ جربه
وان وجد قم بتعديله انت
كود :
public string NoToTxt(double TheNo, string MyCur, string MySubCur)
{
string tempNoToTxt = null;
string[] MyArry1 = new string[10];
string[] MyArry2 = new string[10];
string[] MyArry3 = new string[10];
string MyNo = "";
string GetNo = "";
string RdNo = "";
string My100 = "";
string My10 = "";
string My1 = "";
string My11 = "";
string My12 = "";
string GetTxt = "";
string Mybillion = "";
string MyMillion = "";
string MyThou = "";
string MyHun = "";
string MyFraction = "";
string MyAnd = "";
int i = 0;
string ReMark = "";
if (TheNo > 999999999999.99)
{
}
if (TheNo == 0)
{
return "صفر";
}
MyAnd = " و";
MyArry1[0] = "";
MyArry1[1] = "مائة";
MyArry1[2] = "مائتان";
MyArry1[3] = "ثلاثمائة";
MyArry1[4] = "أربعمائة";
MyArry1[5] = "خمسمائة";
MyArry1[6] = "ستمائة";
MyArry1[7] = "سبعمائة";
MyArry1[8] = "ثمانمائة";
MyArry1[9] = "تسعمائة";
MyArry2[0] = "";
MyArry2[1] = " عشر";
MyArry2[2] = "عشرون";
MyArry2[3] = "ثلاثون";
MyArry2[4] = "أربعون";
MyArry2[5] = "خمسون";
MyArry2[6] = "ستون";
MyArry2[7] = "سبعون";
MyArry2[8] = "ثمانون";
MyArry2[9] = "تسعون";
MyArry3[0] = "";
MyArry3[1] = "واحد";
MyArry3[2] = "اثنان";
MyArry3[3] = "ثلاثة";
MyArry3[4] = "أربعة";
MyArry3[5] = "خمسة";
MyArry3[6] = "ستة";
MyArry3[7] = "سبعة";
MyArry3[8] = "ثمانية";
MyArry3[9] = "تسعة";
//======================
GetNo = TheNo.ToString("000000000000.00");
i = 0;
while (i < 15)
{
if (i < 12)
{
MyNo = GetNo.Substring(i, 3);
}
else
{
MyNo = "0" + GetNo.Substring((i + 2) - 1, 2);
}
if ((MyNo.Substring(0, 3)).CompareTo(0.ToString()) > 0)
{
RdNo = MyNo.Substring(0, 1);
My100 = MyArry1[Convert.ToInt32(RdNo)];
RdNo = MyNo.Substring(2, 1);
My1 = MyArry3[Convert.ToInt32(RdNo)];
RdNo = MyNo.Substring(1, 1);
My10 = MyArry2[Convert.ToInt32(RdNo)];
if (MyNo.Substring(1, 2) == 11.ToString())
{
My11 = "إحدى عشر";
}
if (MyNo.Substring(1, 2) == 12.ToString())
{
My12 = "إثنى عشر";
}
if (MyNo.Substring(1, 2) == 10.ToString())
{
My10 = "عشرة";
}
if (((MyNo.Substring(0, 1)).CompareTo(0.ToString()) > 0) && ((MyNo.Substring(1, 2)).CompareTo(0.ToString()) > 0))
{
My100 = My100 + MyAnd;
}
if (((MyNo.Substring(2, 1)).CompareTo(0.ToString()) > 0) && ((MyNo.Substring(1, 1)).CompareTo(1.ToString()) > 0))
{
My1 = My1 + MyAnd;
}
GetTxt = My100 + My1 + My10;
if (((MyNo.Substring(2, 1)) == 1.ToString()) && ((MyNo.Substring(1, 1)) == 1.ToString()))
{
GetTxt = My100 + My11;
if ((MyNo.Substring(0, 1)) == 0.ToString())
{
GetTxt = My11;
}
}
if (((MyNo.Substring(2, 1)) == 2.ToString()) && ((MyNo.Substring(1, 1)) == 1.ToString()))
{
GetTxt = My100 + My12;
if ((MyNo.Substring(0, 1)) == 0.ToString())
{
GetTxt = My12;
}
}
if ((i == 0) && (!string.IsNullOrEmpty(GetTxt)))
{
if ((MyNo.Substring(0, 3)).CompareTo(10.ToString()) > 0)
{
Mybillion = GetTxt + " مليار";
}
else
{
Mybillion = GetTxt + " مليارات";
if ((MyNo.Substring(0, 3)) == 2.ToString())
{
Mybillion = " مليار";
}
if ((MyNo.Substring(0, 3)) == 2.ToString())
{
Mybillion = " ملياران";
}
}
}
if ((i == 3) && (!string.IsNullOrEmpty(GetTxt)))
{
if ((MyNo.Substring(0, 3)).CompareTo(10.ToString()) > 0)
{
MyMillion = GetTxt + " مليون";
}
else
{
MyMillion = GetTxt + " ملايين";
if ((MyNo.Substring(0, 3)) == 1.ToString())
{
MyMillion = " مليون";
}
if ((MyNo.Substring(0, 3)) == 2.ToString())
{
MyMillion = " مليونان";
}
}
}
if ((i == 6) && (!string.IsNullOrEmpty(GetTxt)))
{
if ((MyNo.Substring(0, 3)).CompareTo(10.ToString()) > 0)
{
MyThou = GetTxt + " ألف";
}
else
{
MyThou = GetTxt + " آلاف";
if ((MyNo.Substring(2, 1)) == 1.ToString())
{
MyThou = " ألف";
}
if ((MyNo.Substring(2, 1)) == 2.ToString())
{
MyThou = " ألفان";
}
}
}
if ((i == 9) && (!string.IsNullOrEmpty(GetTxt)))
{
MyHun = GetTxt;
}
if ((i == 12) && (!string.IsNullOrEmpty(GetTxt)))
{
MyFraction = GetTxt;
}
}
i = i + 3;
}
if (!string.IsNullOrEmpty(Mybillion))
{
if ((!string.IsNullOrEmpty(MyMillion)) || (!string.IsNullOrEmpty(MyThou)) || (!string.IsNullOrEmpty(MyHun)))
{
Mybillion = Mybillion + MyAnd;
}
}
if (!string.IsNullOrEmpty(MyMillion))
{
if ((!string.IsNullOrEmpty(MyThou)) || (!string.IsNullOrEmpty(MyHun)))
{
MyMillion = MyMillion + MyAnd;
}
}
if (!string.IsNullOrEmpty(MyThou))
{
if (!string.IsNullOrEmpty(MyHun))
{
MyThou = MyThou + MyAnd;
}
}
if (!string.IsNullOrEmpty(MyFraction))
{
if ((!string.IsNullOrEmpty(Mybillion)) || (!string.IsNullOrEmpty(MyMillion)) || (!string.IsNullOrEmpty(MyThou)) || (!string.IsNullOrEmpty(MyHun)))
{
tempNoToTxt = ReMark + Mybillion + MyMillion + MyThou + MyHun + " " + MyCur + MyAnd + MyFraction + " " + MySubCur;
}
else
{
tempNoToTxt = ReMark + MyFraction + " " + MySubCur;
}
}
else
{
tempNoToTxt = ReMark + Mybillion + MyMillion + MyThou + MyHun + " " + MyCur;
}
return tempNoToTxt;
}
اخوى وجدت مشكلة فى الكود
بوص فى الصورة دى
الكود بيقراه زى ما انت شايف
الف وثمانمائة وسبعه وثلاثون دينار
وتجاهل ال 9
المفروض طبعا يكون واحد وتسعون الف وثمانمائة وسبعه وثلاثون
هو تجاهل ال 9 مش عارف ازاى
لو تقدر تظبطها يبقي كتر خيرك
شكراً مقدماً
RE: [تم الحل] مشكلة فى تحويل مشروع تفقيط من vb.net الى #C - ابراهيم ايبو - 28-07-19
السلام عليكم اخي الكريم
قلت لك سابقا انه ظهر لي خطأ وتتبعته ولم اعرف السبب وتركته
اجد انه من الاجدى والافضل استخدام كود اخي عاصم جزاه الله خيرا فهو شغال 100%
وقد اختبرته وتأكدت منه
دمت بخير
RE: [تم الحل] مشكلة فى تحويل مشروع تفقيط من vb.net الى #C - maxruined - 29-07-19
(28-07-19, 09:25 PM)ابراهيم ايبو كتب : السلام عليكم اخي الكريم
قلت لك سابقا انه ظهر لي خطأ وتتبعته ولم اعرف السبب وتركته
اجد انه من الاجدى والافضل استخدام كود اخي عاصم جزاه الله خيرا فهو شغال 100%
وقد اختبرته وتأكدت منه
دمت بخير
ما انا بالفعل شغال بيه .. طبعاً الف مليون شكر لاخوى عاصم جزاه الله خير
ولكن بس للمعرفه كنت عايز اعرف ايه المشكلة فى الكود بتاعك مش اكتر
[url=http://vb4arb.com/vb/member.php?action=profile&uid=30786][/url]
RE: [تم الحل] مشكلة فى تحويل مشروع تفقيط من vb.net الى #C - ابراهيم ايبو - 29-07-19
السلام عليكم اخي الكريم
المشكلة محصورة عندما يكون الرقم من 5 خانات
لي عودة اليه في وقت أخر والتحقق منه وعند حل المشكلة سأضع الكود ولن انسى ارساله لك
دمت بخير
|