• الإعلانات

    • فيصل الحربي

      تسجيل عضوية جديدة في المنتدى   01/31/2016

      السلام عليكم ورحمة الله وبركاته  عزيزي العضو الجديد :  حاليا رسالة الإيميل لتأكيد صحة إيميلكم تذهب للبريد العشوائي ( جاري حل المشكلة )  فإذا لم تجد رسالة التحقق من إيميلكم في صندوق الوارد لديكم إتجه للبريد العشوائي ( JUNK)  وقم بتفعيل إشتراككم من هناك   

ASMSA

اعضاء
  • عدد المشاركات

    50
  • تاريخ الانضمام

  • تاريخ اخر زياره

السمعه بالموقع

1 عادي

عن ASMSA

  • الرتبة
    عضو
  • تاريخ الميلاد 01/21/1972

طرق الإتصال

  • ICQ 0

معلومات الملف الشخصي

  • الدولة : Jeddah
  • اهتمامات كرة القدم - الجرافيك دزاين - البرمجة - الرياضة عموما - القراءة
  1. بخصوص رقم الاصدار فانا اقصد اصدارة اللغة (روبي) باستخدام الأمر Ruby -v من محث الأوامر،، واشكرك على تفاعلك مع الموضوع اما انا فابتعدت لناحية أخرى من تطبيقات هذه اللغة لذلك لم ألاحظ الردود هنا،، وعموما انا لم اصل لمرحلة استخدام المكتبات غير الجاهزة او المعدة سابقا لهذه اللغة حتى لا ادخل بتعقيدات اضافية لذلك جربت (كايرو أو القاهرة الشهيرة عالميا بهذا المجال) و بعض المكتبات المخصصة للصور لكني لم اتابع الموضوع ،، واجد على اي حال فكرة اضافة مكتبات أخرى خاصة بلغات آخرى مشهورة وقوية جذابة جدا،، لذلك اتمنى منك لإثراء الموضوع اكثر كتابة تفاصيل اضافية عن كيفية اضافة مكتبات السي والسي بلس بلس تحديدا للغة روبي،، والمكتبات الوسيطة،، والية ادارجها والتعامل معها بالإضافة للملقمات او الماكروز PlugIns كذلك إن امكن لإني اعرف ان هذه الإخيرة أيضا كثيرة وبعدة مجالات برمجية مما يجعل لغة روبي لغة لها قابيلة تمدد وتفاعل مع غيرها كبيرة جدا
  2. اخ احمد لاحظ انا تعبت مع imagemagick كما ذكرت انا بعاليه، وطبعا استخدمت هذه المكتبة عن طريق ملحقها للغة روبي rmagick ،، فكان يعمل مع الاصدار القديم ،، لكن الأصدار الذي استخدمه وهو الآخير 1.9.2 لم يعد يدعم rmagick ،، وبخصوص امكانية كتابة مكتبات بلغة سي او سي ++ فهل تعتقد انه يمكن استخدامها مباشرة عن طريق include or require ام ان هناك مفسرات واكواد وسيطة؟ وشكرا لك على اهتمامك
  3. كلنا نعلم جمال هذه اللغة وقوتها لكن اعتقد هناك صعوبة في دعمها للرسوم كونها جديدة ولا توجد مكتبات كافية للرسوم فيها،، وكنت عند اضافتي قبل عدة ايام لآخر اصدار لهذه اللغة وجدت انه لا يدعم مكتبة imagemagick المدعومة بالإصدارات السابقة حيث ان هذه المكتبة مختصة بالرسوم ، لكني بذهني تسأل هل يمكن اضافة مكتبات بلغة السي او السي ++ وهل تعمل بروبي لم اجرب ولكن اطرح الموضوع هنا للنقاش في حال كان احد المهتمين بهذه اللغة سبق له ذلك، وعلى اي حال اعتقد انه لن تطول الفترة حتى تظهر مكتبة جديدة مكتوبة لدعم الرسوم بهذه اللغة الرائعة، وللمعلومة انا استخدم حاليا مكتبة tk كـ GUI ولإجراء بعض عمليات الرسم بروبي لكن اجد هذه المكتبة من وجهة نظري عاجزة عن التعرف على نقاط البكسل الموجودة بنوافذ او مساحات الرسم أو الموجودة بالصور، ولا يوجد اجراء لهذا الغرض يمكنه تحديد الوان البكسل مثلا في برامج التقاط اللون من الرسم. فما هي اقتراحاتكم لحل الاشكال ،، ولكم تحياتي
  4. أعزائي ،، الآن وبعد طول إنتظار وجدت الفرصة الملائمة وسط زحمة الأشغال ،، وبسبب كوني هذه الأيام أعمل على مشروع برمجي يتطلب كود مماثل ،،، فأني حاليا أعمل على مراجعة شاملة وتحليل لهذا الكود بهدف تطويره وصولا إلى أقصى درجات الكمال الممكنة لهذا الكود ،،، وبأقرب فرصة بإذن الله ساطرحه بطريقة أو بأخرى.
  5. اشكر عزيزي "sandm" على ملاحظتك ،،، نعم كان هناك خطأ جدا بسيط في الكود : '2 Check'10-20-30....To: 90 If L = 2 Then If Val(W.Item(1)) = 0 Then _ X = CN(Val(W.Item(1))) : GoTo Ex بمحرف واحد وهو الرقم 1 والصيحيح هو أثنان ليكون كالتالي: '2 Check'10-20-30....To: 90 If L = 2 Then If Val(W.Item(1)) = 0 Then _ X = CN(Val(W.Item(2))) : GoTo Ex لكن على أي حال أيضا أجريت تحسينات عديدة على الكود وذلك بسبب أني أعمل على برنامج أكسيس لإستخدامه بأحد مواقع المبيعات بالسوق ،، وساضيف هذا الكود للتفقيط بالبرنامج - وبخصوص رد الزميل محمد أبو سامر بوجود خطأ عند نطق الرقم 1512.30 ،، !! فالحقيقة ان الكود الآن جدا متكامل ولم أجد أية أخطاء به .. وعموما لك مني الشكر على اهتمامك وبخصوص ردك عزيزي أبو حنان :happy: فمن فمك لأبواب السماء إن شاء الله ,,,,,,,, ويوم من الأيام وغير مستبعد أن تقوم شركات عربية بشراء حقوق ابتكار لنصوص الكود لمبرمجين عرب ولو من باب دعم هذا المجال الحيوي جدا في عالم اليوم،،، ودعني أطلعكم على أمر خاص وهي أني احمد الله كثيرا أن وفقني لعلم البرمجة لأنه مع ما يأخذ من وقت فهو علم يفتح لك الأبواب لكل باقي المعارف والعلوم ويفتح أبواب التطوير والمستقبل الذي سيعتمد بلا شك على الذكاء الاصطناعي بإذن الله والذي ستكون البرمجة أهم نواة له لذلك فطنت لذلك العديد من الدول المتقدمة كالهند وروسيا والتي بها العديد من الشركات القوية بهذا المجال وساعد كثيرا في نهوض أقتصادياتها وبتطورها عموما. وبما أن الكود الآن أصبح مشروع كود بتعاونكم ومراجعتكم له ،، فأرجوا منك الإستمرار ومتابعة الموضوع ،، وبناء على ذك الكود أدناه كما ذكرت أعلاه هو بعد عدة تنقيحات ،، وهو بتنسيق الفيجوال بيسك6 ليمكن استخدامه (ببرامج الأوفيس كالاكسيل والأكسيس) فاتمنا أن ينال أعجابكم واستحسانكم : '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Function ToWordsArbMain(ByVal Num As String, ByVal sMinCurrency As String, ByVal sSubCurrency As String) As String 'áíÔãá ÇáÌÒÁ ÇáÚÔÑí æÇÙåÇÑ ÇÓã ÇáÚãáÉ ASMSA æÊäÞíÍ ãä KARIMSOFT åÐÇ ÇáÇÌÑÇÁ Êã ÇÖÇÝÊÉ ãä ÞÈá Dim qwq() As String, s As String qwq = Num.Split(".") If Not qwq Is Nothing Then If qwq.Length > 1 Then _ s = ToWordsArb(qwq(0)) & " " & sMinCurrency & " æ " & ToWordsArb(qwq(1)) & " " & sSubCurrency End If If s = "" Then ToWordsArbMain = ToWordsArb(Num) & " " & sMinCurrency Else ToWordsArbMain = s End Function Function ToWordsArb(ByVal Num As String) As String 'ßæÏ ÇáÊÝÞíØ ÇáÇÓÇÓí Dim Tmp As String, X As String Dim L As Integer, T As Integer, T_ As String Const s As String = " ": Const o As String = " æ " T_ = "ÇáÇÝ" 'Fill Array'''''''''''''''''''(1 to 9)''''''''''''''''''''' Dim AN(9) As String 'Data for conversion AN(1) = "æÇÍÏ": AN(2) = "ÇËäÇä": AN(3) = "ËáÇËÉ" AN(4) = "ÇÑÈÚÉ": AN(5) = "ÎãÓÉ": AN(6) = "ÓÊÉ" AN(7) = "ÓÈÚÉ": AN(8) = "ËãÇäíÉ": AN(9) = "ÊÓÚÉ" ''''''''''''''''''''(11 to 19 )''''''''''''''''''''''''''''' Dim BN(9) As String BN(0) = "ÚÔÑÉ" BN(1) = "ÇÍÏ ÚÔÑ": BN(2) = "ÇËäÇ ÚÔÑ": BN(3) = "ËáÇËÉ ÚÔÑ" BN(4) = "ÇÑÈÚ ÚÔÑ": BN(5) = "ÎãÓÉ ÚÔÑ": BN(6) = "ÓÊÉ ÚÔÑ" BN(7) = "ÓÈÚÉ ÚÔÑ": BN(8) = "ËãÇäíÉ ÚÔÑ": BN(9) = "ÊÓÚÉ ÚÔÑ" ''''''''''''''''''''(10 to 90)''''''''''''''''''''''''''''''''''' Dim CN(9) As String CN(1) = "ÚÔÑÉ": CN(2) = "ÚÔÑíä": CN(3) = "ËáÇËíä" CN(4) = "ÇÑÈÚíä": CN(5) = "ÎãÓíä": CN(6) = "ÓÊíä" CN(7) = "ÓÈÚíä": CN(8) = "ËãÇäíä": CN(9) = "ÊÓÚíä" ''''''''''''''''''''(100 to 900)''''''''''''''''''''''''''''''''''' Dim DN(9) As String DN(1) = "ãÇÆÉ": DN(2) = "ãÇÆÊíä": DN(3) = "ËáÇË ãÇÆÉ" DN(4) = "ÇÑÈÚ ãÇÆÉ": DN(5) = "ÎãÓ ãÇÆÉ": DN(6) = "ÓÊ ãÇÆÉ" DN(7) = "ÓÈÚ ãÇÆÉ": DN(8) = "ËãÇä ãÇÆÉ": DN(9) = "ÊÓÚ ãÇÆÉ" 'ZEROs'''''''''''''''''''''''''''''' AN(0) = "": BN(0) = "ÚÔÑÉ": CN(0) = "": DN(0) = "" 'Make redey'''''''''''''''''''''''''''''' L = Len(Num) '''''''''''''''''''''''''''''''''Check Start: '''''''''''''''''''''''''''''''''''''''''''' ''ALL BY ORDER :''''''''''''''''''''''''''''' Dim W As Collection, C As Integer, MM As String W = New Collection 'Split numbers to array For T = L To 1 Step -1 MM = Mid(CStr(Num), T, 1) If IsNumeric(MM) Then W.Add (MM) Next T 'Exit if it Zero''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Num = Replace(Num, "|", ""): If Val(Num) = 0 Then X = "ÕÝÑ": GoTo Ex ' C = W.count: L = C 'Very Important ' ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' '1 Check''1 to 9 If L = 1 Then X = AN(Val(Num)): GoTo Ex '2 Check'11-12-13....To: 19 If L = 2 Then If Val(W.Item(2)) = 1 Then _ X = BN(Val(W.Item(1))): GoTo Ex '2 Check'10-20-30....To: 90 If L = 2 Then If Val(W.Item(1)) = 0 Then _ X = CN(Val(W.Item(2))): GoTo Ex '3 Check'From 21 ....To: 90 If L = 2 Then X = AN(Val(W.Item(1))) & o & CN(Val(W.Item(2))): GoTo Ex Re_Check: '3 Check' The Tow First Numbers of Large number: If Val(W.Item(2)) = "1" Then 'Elvenths(BN) X = BN(Val(Val(W.Item(1)))) ElseIf Val(W.Item(1)) = "0" Then 'Twentieth(CN) X = CN(Val(Val(W.Item(2)))) Else X = AN(Val(W.Item(1))) & o & CN(Val(W.Item(2))) 'From 21-67 ....To: 90 End If X = Zeros(W, X, 2) '4 Check ' 12-31-41... to end''' If L > 2 Then 'Hundreds(DN) X = DN(Val(W.Item(3))) & o & X 'Hundreds & Numbers If W.Item(1) = "0" And W.Item(2) = "0" Then X = DN(Val(W.Item(3))) 'Hundreds & Zeros X = Zeros(W, X, 3) End If ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' Thawsend(1,000)''4 Numbers''''''''''''''''''''''''''''''' If L < 4 Then GoTo Ex If Val(W.Item(4)) < 1 Then GoTo TenThousand 'Jump If L > 4 Then If Val(W.Item(5)) <> 0 Then GoTo TenThousand 'Jump If L > 5 Then If Val(W(6)) <> 0 Then GoTo TenThousand 'Jump Tmp = MofradMothan(Val(W.Item(4)), "ÇáÝ", "ÇáÝíä", "ÇáÇÝ") X = Zeros(W, X, 4) If Val(W.Item(4)) > 2 Then X = AN(Val(W(4))) & s & Tmp & o & X Else X = Tmp & o & X ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 'If L > 4 And L < 8 Then '10 Thawsend(10,000)''5 Numbers''''''''''''''''''''''''''''''' If L > 4 Then ''___ OPEN IF ______________________________________________(L > 4) TenThousand: '10 Thawsend(10,000)''5 Numbers''''''''''''''''''''''''''''''' Tmp = "" If W(5) = "0" Then GoTo HoundredsThawsend 'Jump Tmp = MofradMothan(Val(Val(W.Item(5))), "ÚÔÑÉ ÇáÇÝ", "ÚÔÑíä ÇáÝ") If W(4) = "0" Then '10.000 If Val(W.Item(5)) = 1 Or Val(W.Item(5)) = 2 Then X = Tmp & o & X Else _ T_ = "ÇáÝ": X = CN(Val(W(5))) & s & T_ & o & X Else '11.000 T_ = "ÇáÝ" If W(5) = "1" Then X = BN(Val(W(4))) & s & T_ & o & X If W(5) <> "1" Then X = AN(Val(W(4))) & o & CN(Val(W(5))) & s & T_ & o & X End If If L = 5 Then GoTo Ex '100 Thawsend(100,000)''6 Numbers'''''''''''''''''''''''''''''' HoundredsThawsend: If W(6) = "0" Then GoTo Mileons 'Jump X = Zeros(W, X, 5) Tmp = "ÇáÝ" If W(5) = "0" And W(4) = "0" Then X = DN(Val(W(6))) & s & Tmp & o & X Else If W(5) = 0 Then If Val(W(6)) > 2 Then Tmp = "ÇáÇÝ" If Val(W(5)) = 0 Then If Val(W(4)) > 2 Then Tmp = "ÇáÇÝ" Else Tmp = "ÇáÝ" X = DN(Val(W(6))) & o & AN(Val(W(4))) & s & Tmp & o & X 'tx here Else X = DN(Val(W(6))) & o & X End If End If X = Replace(X, "ãÇÆÊíä ÇáÝ", "ãÆÊí ÇáÝ") X = Replace(X, " ÇáÝ ÇáÝ ", " ÇáÝ ") If L < 7 Then GoTo Ex 'Milon(1000,000)''7 numbers''''''''''''''''''''''''''''''' Mileons: If Val(W.Item(7)) < 1 Then GoTo TenMileons 'Jump If L > 7 Then If Val(W.Item(8)) <> 0 Then GoTo TenMileons 'Jump If L > 8 Then If Val(W(9)) <> 0 Then GoTo TenMileons 'Jump Tmp = MofradMothan(Val(W.Item(7)), "ãáíæä", "ãáíæäíä", "ãáÇíä") X = Zeros(W, X, 6) If Val(W.Item(7)) > 2 Then X = AN(Val(W(7))) & s & Tmp & o & X Else X = Tmp & o & X If L < 8 Then GoTo Ex 'Ten of Milons(10,000,000)''8 numbers''''''''''''''''''''''''''''''' TenMileons: If L > 8 Then If Val(W(9)) <> 0 Or Val(W(8)) < 1 Then GoTo HoundredsMileons 'Jump If Val(W(8)) = 1 Then Tmp = "ãáÇíä" Else Tmp = "ãáíæä" X = Zeros(W, X, 6) X = Zeros(W, X, 7) If Val(W(8)) = 1 Then 'Ten of Mileons:10,000,000 If Val(W(7)) = 0 Then X = CN(Val(W(8))) & s & Tmp & o & X Else _ Tmp = "ãáíæä": X = BN(Val(W(7))) & s & Tmp & o & X 'Elventh Mileons Else If Val(W(7)) = 0 Then X = CN(Val(W(8))) & s & Tmp & o & X Else _ X = AN(Val(W(7))) & o & CN(Val(W(8))) & s & Tmp & o & X '12,000,000 End If If L < 9 Then GoTo Ex 'Houndreds of Milon(100,000,000)''9 numbers''''''''''''''''''''''''''''''' HoundredsMileons: If L > 9 And Val(W(9)) < 1 Then GoTo Bileon Tmp = "ãáíæä" X = Zeros(W, X, 8) If Val(W(7)) = 0 And Val(W(8)) = 0 Then '100,000,000 X = DN(Val(W(9))) & s & Tmp & o & X 'Puer Houndreds Of Mileons Else '110,000,000 '1- Houndreds Of Mileons & Elvenths : ..2- Else :Houndreds Of Mileons & Frist numbers If Val(W(8)) = 1 Then X = DN(Val(W(9))) & o & BN(Val(W(7))) & s & Tmp & o & X Else _ X = DN(Val(W(9))) & o & AN(Val(W(7))) & s & o & CN(Val(W(8))) & s & Tmp & o & X End If X = Replace(X, "ãÇÆÊíä ãáíæä", "ãÆÊí ãáíæä") If L < 10 Then GoTo Ex 'Bileon(1,000,000,000)''10 numbers''''''''''''''''''''''''''''''' Bileon: If Val(W.Item(10)) < 1 Then GoTo Ten_Of_Bileons 'Jump If L > 10 Then If Val(W.Item(11)) <> 0 Then GoTo Ten_Of_Bileons 'Jump If L > 11 Then If Val(W(12)) <> 0 Then GoTo Ten_Of_Bileons 'Jump Tmp = MofradMothan(Val(W.Item(10)), "Èáíæä", "Èáíæäíä", "ÈáÇíä") X = Zeros(W, X, 9) If Val(W.Item(10)) > 2 Then X = AN(Val(W(10))) & s & Tmp & o & X Else X = Tmp & o & X If L < 11 Then GoTo Ex 'Bileon(10,000,000,000)''11 numbers''''''''''''''''''''''''''''''' Ten_Of_Bileons: If L > 11 Then If Val(W(12)) <> 0 Or Val(W(11)) < 1 Then GoTo Houndred_Of_Bileons 'Jump If Val(W(11)) = 1 Then Tmp = "ÈáÇíä" Else Tmp = "Èáíæä" X = Zeros(W, X, 11) If Val(W(11)) = 1 Then 'Tenth Bileons:10,000,000,000 If Val(W(10)) = 0 Then X = CN(Val(W(11))) & s & Tmp & o & X Else _ Tmp = "Èáíæä": X = BN(Val(W(10))) & s & Tmp & o & X 'Elventh Bileons Else If Val(W(10)) = 0 Then X = CN(Val(W(11))) & s & Tmp & o & X Else _ X = AN(Val(W(10))) & o & CN(Val(W(11))) & s & Tmp & o & X '12,000,000,000 End If If L < 12 Then GoTo Ex 'Bileon(100,000,000,000)''12 numbers''''''''''''''''''''''''''''''' Houndred_Of_Bileons: If L > 12 And Val(W(12)) < 1 Then GoTo Trlion Tmp = "Èáíæä" X = Zeros(W, X, 12) If Val(W(10)) = 0 And Val(W(11)) = 0 Then '100,000,000,000 X = DN(Val(W(12))) & s & Tmp & o & X 'Puer Houndreds Of Bileons Else '110,000,000,000 '1- Houndreds Of Bileons & Elvenths : ..2- Else :Houndreds Of Bileons & Frist numbers If Val(W(11)) = 1 Then X = DN(Val(W(12))) & o & BN(Val(W(10))) & s & Tmp & o & X Else _ X = DN(Val(W(12))) & o & AN(Val(W(10))) & s & o & CN(Val(W(11))) & s & Tmp & o & X End If X = Replace(X, "ãÇÆÊíä Èáíæä", "ãÆÊí Èáíæä") If L < 13 Then GoTo Ex 'Trlion(1,000,000,000,000)''13 numbers''''''''''''''''''''''''''''''' Trlion: If Val(W.Item(13)) < 1 Then GoTo Ten_Of_Trlions 'Jump If L > 13 Then If Val(W.Item(14)) <> 0 Then GoTo Ten_Of_Trlions 'Jump If L > 14 Then If Val(W.Item(15)) <> 0 Then GoTo Ten_Of_Trlions 'Jump Tmp = MofradMothan(Val(W.Item(13)), "ÊÑáíæä", "ÊÑáíæäíä", "ÊÑíáæäÇÊ") X = Zeros(W, X, 13) If Val(W.Item(13)) > 2 Then X = AN(Val(W(13))) & s & Tmp & o & X Else X = Tmp & o & X If L < 14 Then GoTo Ex 'Ten_Of_Trlions(10,000,000,000,000)''14 numbers''''''''''''''''''''''''''''''' Ten_Of_Trlions: If L > 14 Then If Val(W(15)) <> 0 Or Val(W(14)) < 1 Then GoTo Houndreds_Of_Trlions 'Jump If Val(W(14)) = 1 Then Tmp = "ÊÑíáæäÇÊ" Else Tmp = "ÊÑáíæä" X = Zeros(W, X, 14) If Val(W(14)) = 1 Then 'Tenth Trlions:10,000,000,000,000 If Val(W(13)) = 0 Then X = CN(Val(W(14))) & s & Tmp & o & X Else _ Tmp = "ÊÑáíæä": X = BN(Val(W(13))) & s & Tmp & o & X 'Elventh Trlions Else If Val(W(13)) = 0 Then X = CN(Val(W(14))) & s & Tmp & o & X Else _ X = AN(Val(W(13))) & o & CN(Val(W(14))) & s & Tmp & o & X '12,000,000,000,000 End If If L < 15 Then GoTo Ex 'Houndreds_Of_Trlions(100,000,000,000,000)''15 numbers''''''''''''''''''''''''''''''' Houndreds_Of_Trlions: If L > 15 And Val(W(15)) < 1 Then GoTo Quadrillion Tmp = "ÊÑáíæä" X = Zeros(W, X, 15) If Val(W(13)) = 0 And Val(W(14)) = 0 Then '100,000,000,000,000 X = DN(Val(W(15))) & s & Tmp & o & X 'Puer Houndreds Of Trlions Else '110,000,000,000,000 '1- Houndreds Of Trlions & Elvenths : ..2- Else :Houndreds Of Trlions & Frist numbers If Val(W(14)) = 1 Then X = DN(Val(W(15))) & o & BN(Val(W(13))) & s & Tmp & o & X Else _ X = DN(Val(W(15))) & o & AN(Val(W(13))) & s & o & CN(Val(W(14))) & s & Tmp & o & X End If X = Replace(X, "ãÇÆÊíä ÊÑáíæä", "ãÆÊí ÊÑáíæä") If L < 16 Then GoTo Ex 'Quadrillion(1,000,000,000,000,000)''16 numbers''''''''''''''''''''''''''''''' Quadrillion: If Val(W.Item(16)) < 1 Then GoTo Ten_Of_Quadrillions 'Jump If L > 16 Then If Val(W.Item(17)) <> 0 Then GoTo Ten_Of_Quadrillions 'Jump If L > 17 Then If Val(W.Item(18)) <> 0 Then GoTo Ten_Of_Quadrillions 'Jump Tmp = MofradMothan(Val(W.Item(16)), "ßæÇÏÑáíæä", "ßæÇÏÑáíæäíä", "ßæÇÏÑáíæäÇÊ") X = Zeros(W, X, 16) If Val(W.Item(16)) > 2 Then X = AN(Val(W(16))) & s & Tmp & o & X Else X = Tmp & o & X If L < 17 Then GoTo Ex 'Ten_Of_Quadrillions(10,000,000,000,000,000)''17 numbers''''''''''''''''''''''''''''''' Ten_Of_Quadrillions: If L > 17 Then If Val(W(18)) <> 0 Or Val(W(17)) < 1 Then GoTo Houndreds_Of_Quadrillions 'Jump If Val(W(17)) = 1 Then Tmp = "ßæÇÏÑáíæäÇÊ" Else Tmp = "ßæÇÏÑáíæä" X = Zeros(W, X, 17) If Val(W(17)) = 1 Then 'Tenth Quadrillions If Val(W(16)) = 0 Then X = CN(Val(W(17))) & s & Tmp & o & X Else _ Tmp = "ßæÇÏÑáíæä": X = BN(Val(W(16))) & s & Tmp & o & X 'Elventh Quadrillions Else If Val(W(16)) = 0 Then X = CN(Val(W(17))) & s & Tmp & o & X Else _ X = AN(Val(W(16))) & o & CN(Val(W(17))) & s & Tmp & o & X '12,000,000,000,000,000 End If If L < 18 Then GoTo Ex 'Houndreds_Of_Quadrillions(100,000,000,000,000,000)''18 numbers''''''''''''''''''''''''''''''' Houndreds_Of_Quadrillions: If L > 18 And Val(W(18)) < 1 Then GoTo Zlion Tmp = "ßæÇÏÑáíæä" X = Zeros(W, X, 18) If Val(W(16)) = 0 And Val(W(17)) = 0 Then '100,000,000,000 X = DN(Val(W(18))) & s & Tmp & o & X 'Pure Houndreds Of Quadrillions Else '110,000,000,000 '1- Houndreds Of Quadrillions & Elvenths : ..2- Else :Houndreds Of Quadrillions & Frist numbers If Val(W(17)) = 1 Then X = DN(Val(W(18))) & o & BN(Val(W(16))) & s & Tmp & o & X Else _ X = DN(Val(W(18))) & o & AN(Val(W(16))) & s & o & CN(Val(W(17))) & s & Tmp & o & X End If X = Replace(X, "ãÇÆÊíä ßæÇÏÑáíæä", "ãÆÊí ßæÇÏÑáíæä") If L < 19 Then GoTo Ex 'Houndreds_Of_Quadrillions(100,000,000,000,000,000)''18 numbers''''''''''''''''''''''''''''''' Zlion: '[The end]'''Last Naming number X = "": X = "Òáíæä" & vbCrLf & "ÇáÒáíæä : ÑÞã ÛíÑ ãÍÏæÏ íÝæÞ ÇáÊÓãíÇÊ ÇáãÚÑæÝÉ" End If ''___ CLOSE IF ______________________________________________(L > 4) '''''''''''''''''''''''''''''''''Check End: '''''''''''''''''''''''''''''''''''''''''''''' Ex: W = Nothing ToWordsArbMain = X End Function Function MofradMothan(ByVal Num As Int16, ByVal Mof As String, ByVal Mot As String, Optional ByVal More As String = "") As String Dim r As String: r = More 'ÃßÈÑ ãä 2 If Num = 1 Then r = Mof 'ãÝÑÏ ElseIf Num = 1 Then r = Mot 'ãËäì End If MofradMothan = r End Function Function Zeros(ByVal Col As Collection, ByVal X As String, ByVal MAX As Integer) As String Dim T As Integer, I As Boolean If MAX < 1 Then Zeros = "": Exit Function For T = 1 To Col.count If Val(Col.Item(T)) <> 0 Then I = True: Exit For If T = MAX Then Exit For Next T If I Then X = Trim(X) Dim o(1) As String o(0) = "æ" & Space(1): o(1) = Space(1) & "æ" If Left(X, 2) = o(0) Or Left(X, 2) = o(1) Then X = Mid(X, 3, Len(X)) If Right(X, 2) = o(0) Or Left(X, 2) = o(1) Then X = Mid(X, 1, Len(X) - 2) Zeros = X Else Zeros = "" End If End Function واما الكود أدناه فهو بتنسيق لمنصة فيجوال بيسك دوت نيت vb.net : 'اما الكود هنا فهو يعمل على بئة الدوت نت اعتبارا من الاصدار 2003 ''''''''''''''''''''''<(بداية كود التفقيط)>'''''''''''''''''''''' Function ToWordsArbMain(ByVal NUM As String, ByVal sMinCurrency As String, ByVal sSubCurrency As String) As String 'ليشمل الجزء العشري واظهار اسم العملة ASMSA وتنقيح من KARIMSOFT هذا الاجراء تم اضافتة من قبل Dim qwq() As String, s As String = "" qwq = NUM.Split(".") If Not qwq Is Nothing Then If qwq.Length > 1 Then _ s = ToWordsArb(qwq(0)) & " " & sMinCurrency & " و " & ToWordsArb(qwq(1)) & " " & sSubCurrency End If If s = "" Then s = ToWordsArb(NUM) & " " & sMinCurrency Return s End Function Function ToWordsArb(ByVal Num As String) As String 'كود التفقيط الاساسي Dim Tmp As String, X As String Dim L As Integer, T As Integer, T_ As String Const S As String = " " : Const O As String = " و " T_ = "الاف" 'Fill Array'''''''''''''''''''(1 to 9)''''''''''''''''''''' Dim AN(9) As String 'Data for conversion AN(1) = "واحد" : AN(2) = "اثنان" : AN(3) = "ثلاثة" AN(4) = "اربعة" : AN(5) = "خمسة" : AN(6) = "ستة" AN(7) = "سبعة" : AN(8) = "ثمانية" : AN(9) = "تسعة" ''''''''''''''''''''(11 to 19 )''''''''''''''''''''''''''''' Dim BN(9) As String BN(0) = "عشرة" BN(1) = "احد عشر" : BN(2) = "اثنا عشر" : BN(3) = "ثلاثة عشر" BN(4) = "اربع عشر" : BN(5) = "خمسة عشر" : BN(6) = "ستة عشر" BN(7) = "سبعة عشر" : BN(8) = "ثمانية عشر" : BN(9) = "تسعة عشر" ''''''''''''''''''''(10 to 90)''''''''''''''''''''''''''''''''''' Dim CN(9) As String CN(1) = "عشرة" : CN(2) = "عشرين" : CN(3) = "ثلاثين" CN(4) = "اربعين" : CN(5) = "خمسين" : CN(6) = "ستين" CN(7) = "سبعين" : CN(8) = "ثمانين" : CN(9) = "تسعين" ''''''''''''''''''''(100 to 900)''''''''''''''''''''''''''''''''''' Dim DN(9) As String DN(1) = "مائة" : DN(2) = "مائتين" : DN(3) = "ثلاث مائة" DN(4) = "اربع مائة" : DN(5) = "خمس مائة" : DN(6) = "ست مائة" DN(7) = "سبع مائة" : DN(8) = "ثمان مائة" : DN(9) = "تسع مائة" 'ZEROs'''''''''''''''''''''''''''''' AN(0) = "" : BN(0) = "عشرة" : CN(0) = "" : DN(0) = "" 'Make redey'''''''''''''''''''''''''''''' L = Len(Num) '''''''''''''''''''''''''''''''''Check Start: '''''''''''''''''''''''''''''''''''''''''''' ''ALL BY ORDER :''''''''''''''''''''''''''''' Dim W As Collection, C As Integer, MM As String W = New Collection 'Split numbers to array For T = L To 1 Step -1 MM = Mid(CStr(Num), T, 1) If IsNumeric(MM) Then W.Add(MM) Next T 'Exit if it Zero''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Num = Replace(Num, "|", "") : If Val(Num) = 0 Then X = "صفر" : GoTo Ex ' C = W.Count : L = C 'Very Important ' ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' '1 Check''1 to 9 If L = 1 Then X = AN(Val(Num)) : GoTo Ex '2 Check'11-12-13....To: 19 If L = 2 Then If Val(W.Item(2)) = 1 Then _ X = BN(Val(W.Item(1))) : GoTo Ex '2 Check'10-20-30....To: 90 If L = 2 Then If Val(W.Item(1)) = 0 Then _ X = CN(Val(W.Item(2))) : GoTo Ex '3 Check'From 21 ....To: 90 If L = 2 Then X = AN(Val(W.Item(1))) & O & CN(Val(W.Item(2))) : GoTo Ex Re_Check: '3 Check' The Tow First Numbers of Large number: If Val(W.Item(2)) = "1" Then 'Elvenths(BN) X = BN(Val(Val(W.Item(1)))) ElseIf Val(W.Item(1)) = "0" Then 'Twentieth(CN) X = CN(Val(Val(W.Item(2)))) Else X = AN(Val(W.Item(1))) & O & CN(Val(W.Item(2))) 'From 21-67 ....To: 90 End If X = Zeros(W, X, 2) '4 Check ' 12-31-41... to end''' If L > 2 Then 'Hundreds(DN) X = DN(Val(W.Item(3))) & O & X 'Hundreds & Numbers If W.Item(1) = "0" And W.Item(2) = "0" Then X = DN(Val(W.Item(3))) 'Hundreds & Zeros X = Zeros(W, X, 3) End If ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' Thawsend(1,000)''4 Numbers''''''''''''''''''''''''''''''' If L < 4 Then GoTo Ex If Val(W.Item(4)) < 1 Then GoTo TenThousand 'Jump If L > 4 Then If Val(W.Item(5)) <> 0 Then GoTo TenThousand 'Jump If L > 5 Then If Val(W(6)) <> 0 Then GoTo TenThousand 'Jump Tmp = MofradMothan(Val(W.Item(4)), "الف", "الفين", "الاف") X = Zeros(W, X, 4) If Val(W.Item(4)) > 2 Then X = AN(Val(W(4))) & S & Tmp & O & X Else X = Tmp & O & X ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 'If L > 4 And L < 8 Then '10 Thawsend(10,000)''5 Numbers''''''''''''''''''''''''''''''' If L > 4 Then ''___ OPEN IF ______________________________________________(L > 4) TenThousand: '10 Thawsend(10,000)''5 Numbers''''''''''''''''''''''''''''''' Tmp = "" If W(5) = "0" Then GoTo HoundredsThawsend 'Jump Tmp = MofradMothan(Val(Val(W.Item(5))), "عشرة الاف", "عشرين الف", ) If W(4) = "0" Then '10.000 If Val(W.Item(5)) = 1 Or Val(W.Item(5)) = 2 Then X = Tmp & O & X Else _ T_ = "الف" : X = CN(Val(W(5))) & S & T_ & O & X Else '11.000 T_ = "الف" If W(5) = "1" Then X = BN(Val(W(4))) & S & T_ & O & X If W(5) <> "1" Then X = AN(Val(W(4))) & O & CN(Val(W(5))) & S & T_ & O & X End If If L = 5 Then GoTo Ex '100 Thawsend(100,000)''6 Numbers'''''''''''''''''''''''''''''' HoundredsThawsend: If W(6) = "0" Then GoTo Mileons 'Jump X = Zeros(W, X, 5) Tmp = "الف" If W(5) = "0" And W(4) = "0" Then X = DN(Val(W(6))) & S & Tmp & O & X Else If W(5) = 0 Then If Val(W(6)) > 2 Then Tmp = "الاف" If Val(W(5)) = 0 Then If Val(W(4)) > 2 Then Tmp = "الاف" Else Tmp = "الف" X = DN(Val(W(6))) & O & AN(Val(W(4))) & S & Tmp & O & X 'tx here Else X = DN(Val(W(6))) & O & X End If End If X = Replace(X, "مائتين الف", "مئتي الف") X = Replace(X, " الف الف ", " الف ") If L < 7 Then GoTo Ex 'Milon(1000,000)''7 numbers''''''''''''''''''''''''''''''' Mileons: If Val(W.Item(7)) < 1 Then GoTo TenMileons 'Jump If L > 7 Then If Val(W.Item(8)) <> 0 Then GoTo TenMileons 'Jump If L > 8 Then If Val(W(9)) <> 0 Then GoTo TenMileons 'Jump Tmp = MofradMothan(Val(W.Item(7)), "مليون", "مليونين", "ملاين") X = Zeros(W, X, 6) If Val(W.Item(7)) > 2 Then X = AN(Val(W(7))) & S & Tmp & O & X Else X = Tmp & O & X If L < 8 Then GoTo Ex 'Ten of Milons(10,000,000)''8 numbers''''''''''''''''''''''''''''''' TenMileons: If L > 8 Then If Val(W(9)) <> 0 Or Val(W(8)) < 1 Then GoTo HoundredsMileons 'Jump If Val(W(8)) = 1 Then Tmp = "ملاين" Else Tmp = "مليون" X = Zeros(W, X, 6) X = Zeros(W, X, 7) If Val(W(8)) = 1 Then 'Ten of Mileons:10,000,000 If Val(W(7)) = 0 Then X = CN(Val(W(8))) & S & Tmp & O & X Else _ Tmp = "مليون" : X = BN(Val(W(7))) & S & Tmp & O & X 'Elventh Mileons Else If Val(W(7)) = 0 Then X = CN(Val(W(8))) & S & Tmp & O & X Else _ X = AN(Val(W(7))) & O & CN(Val(W(8))) & S & Tmp & O & X '12,000,000 End If If L < 9 Then GoTo Ex 'Houndreds of Milon(100,000,000)''9 numbers''''''''''''''''''''''''''''''' HoundredsMileons: If L > 9 And Val(W(9)) < 1 Then GoTo Bileon Tmp = "مليون" X = Zeros(W, X, 8) If Val(W(7)) = 0 And Val(W(8)) = 0 Then '100,000,000 X = DN(Val(W(9))) & S & Tmp & O & X 'Puer Houndreds Of Mileons Else '110,000,000 '1- Houndreds Of Mileons & Elvenths : ..2- Else :Houndreds Of Mileons & Frist numbers If Val(W(8)) = 1 Then X = DN(Val(W(9))) & O & BN(Val(W(7))) & S & Tmp & O & X Else _ X = DN(Val(W(9))) & O & AN(Val(W(7))) & S & O & CN(Val(W(8))) & S & Tmp & O & X End If X = Replace(X, "مائتين مليون", "مئتي مليون") If L < 10 Then GoTo Ex 'Bileon(1,000,000,000)''10 numbers''''''''''''''''''''''''''''''' Bileon: If Val(W.Item(10)) < 1 Then GoTo Ten_Of_Bileons 'Jump If L > 10 Then If Val(W.Item(11)) <> 0 Then GoTo Ten_Of_Bileons 'Jump If L > 11 Then If Val(W(12)) <> 0 Then GoTo Ten_Of_Bileons 'Jump Tmp = MofradMothan(Val(W.Item(10)), "بليون", "بليونين", "بلاين") X = Zeros(W, X, 9) If Val(W.Item(10)) > 2 Then X = AN(Val(W(10))) & S & Tmp & O & X Else X = Tmp & O & X If L < 11 Then GoTo Ex 'Bileon(10,000,000,000)''11 numbers''''''''''''''''''''''''''''''' Ten_Of_Bileons: If L > 11 Then If Val(W(12)) <> 0 Or Val(W(11)) < 1 Then GoTo Houndred_Of_Bileons 'Jump If Val(W(11)) = 1 Then Tmp = "بلاين" Else Tmp = "بليون" X = Zeros(W, X, 11) If Val(W(11)) = 1 Then 'Tenth Bileons:10,000,000,000 If Val(W(10)) = 0 Then X = CN(Val(W(11))) & S & Tmp & O & X Else _ Tmp = "بليون" : X = BN(Val(W(10))) & S & Tmp & O & X 'Elventh Bileons Else If Val(W(10)) = 0 Then X = CN(Val(W(11))) & S & Tmp & O & X Else _ X = AN(Val(W(10))) & O & CN(Val(W(11))) & S & Tmp & O & X '12,000,000,000 End If If L < 12 Then GoTo Ex 'Bileon(100,000,000,000)''12 numbers''''''''''''''''''''''''''''''' Houndred_Of_Bileons: If L > 12 And Val(W(12)) < 1 Then GoTo Trlion Tmp = "بليون" X = Zeros(W, X, 12) If Val(W(10)) = 0 And Val(W(11)) = 0 Then '100,000,000,000 X = DN(Val(W(12))) & S & Tmp & O & X 'Puer Houndreds Of Bileons Else '110,000,000,000 '1- Houndreds Of Bileons & Elvenths : ..2- Else :Houndreds Of Bileons & Frist numbers If Val(W(11)) = 1 Then X = DN(Val(W(12))) & O & BN(Val(W(10))) & S & Tmp & O & X Else _ X = DN(Val(W(12))) & O & AN(Val(W(10))) & S & O & CN(Val(W(11))) & S & Tmp & O & X End If X = Replace(X, "مائتين بليون", "مئتي بليون") If L < 13 Then GoTo Ex 'Trlion(1,000,000,000,000)''13 numbers''''''''''''''''''''''''''''''' Trlion: If Val(W.Item(13)) < 1 Then GoTo Ten_Of_Trlions 'Jump If L > 13 Then If Val(W.Item(14)) <> 0 Then GoTo Ten_Of_Trlions 'Jump If L > 14 Then If Val(W.Item(15)) <> 0 Then GoTo Ten_Of_Trlions 'Jump Tmp = MofradMothan(Val(W.Item(13)), "ترليون", "ترليونين", "تريلونات") X = Zeros(W, X, 13) If Val(W.Item(13)) > 2 Then X = AN(Val(W(13))) & S & Tmp & O & X Else X = Tmp & O & X If L < 14 Then GoTo Ex 'Ten_Of_Trlions(10,000,000,000,000)''14 numbers''''''''''''''''''''''''''''''' Ten_Of_Trlions: If L > 14 Then If Val(W(15)) <> 0 Or Val(W(14)) < 1 Then GoTo Houndreds_Of_Trlions 'Jump If Val(W(14)) = 1 Then Tmp = "تريلونات" Else Tmp = "ترليون" X = Zeros(W, X, 14) If Val(W(14)) = 1 Then 'Tenth Trlions:10,000,000,000,000 If Val(W(13)) = 0 Then X = CN(Val(W(14))) & S & Tmp & O & X Else _ Tmp = "ترليون" : X = BN(Val(W(13))) & S & Tmp & O & X 'Elventh Trlions Else If Val(W(13)) = 0 Then X = CN(Val(W(14))) & S & Tmp & O & X Else _ X = AN(Val(W(13))) & O & CN(Val(W(14))) & S & Tmp & O & X '12,000,000,000,000 End If If L < 15 Then GoTo Ex 'Houndreds_Of_Trlions(100,000,000,000,000)''15 numbers''''''''''''''''''''''''''''''' Houndreds_Of_Trlions: If L > 15 And Val(W(15)) < 1 Then GoTo Quadrillion Tmp = "ترليون" X = Zeros(W, X, 15) If Val(W(13)) = 0 And Val(W(14)) = 0 Then '100,000,000,000,000 X = DN(Val(W(15))) & S & Tmp & O & X 'Puer Houndreds Of Trlions Else '110,000,000,000,000 '1- Houndreds Of Trlions & Elvenths : ..2- Else :Houndreds Of Trlions & Frist numbers If Val(W(14)) = 1 Then X = DN(Val(W(15))) & O & BN(Val(W(13))) & S & Tmp & O & X Else _ X = DN(Val(W(15))) & O & AN(Val(W(13))) & S & O & CN(Val(W(14))) & S & Tmp & O & X End If X = Replace(X, "مائتين ترليون", "مئتي ترليون") If L < 16 Then GoTo Ex 'Quadrillion(1,000,000,000,000,000)''16 numbers''''''''''''''''''''''''''''''' Quadrillion: If Val(W.Item(16)) < 1 Then GoTo Ten_Of_Quadrillions 'Jump If L > 16 Then If Val(W.Item(17)) <> 0 Then GoTo Ten_Of_Quadrillions 'Jump If L > 17 Then If Val(W.Item(18)) <> 0 Then GoTo Ten_Of_Quadrillions 'Jump Tmp = MofradMothan(Val(W.Item(16)), "كوادرليون", "كوادرليونين", "كوادرليونات") X = Zeros(W, X, 16) If Val(W.Item(16)) > 2 Then X = AN(Val(W(16))) & S & Tmp & O & X Else X = Tmp & O & X If L < 17 Then GoTo Ex 'Ten_Of_Quadrillions(10,000,000,000,000,000)''17 numbers''''''''''''''''''''''''''''''' Ten_Of_Quadrillions: If L > 17 Then If Val(W(18)) <> 0 Or Val(W(17)) < 1 Then GoTo Houndreds_Of_Quadrillions 'Jump If Val(W(17)) = 1 Then Tmp = "كوادرليونات" Else Tmp = "كوادرليون" X = Zeros(W, X, 17) If Val(W(17)) = 1 Then 'Tenth Quadrillions If Val(W(16)) = 0 Then X = CN(Val(W(17))) & S & Tmp & O & X Else _ Tmp = "كوادرليون" : X = BN(Val(W(16))) & S & Tmp & O & X 'Elventh Quadrillions Else If Val(W(16)) = 0 Then X = CN(Val(W(17))) & S & Tmp & O & X Else _ X = AN(Val(W(16))) & O & CN(Val(W(17))) & S & Tmp & O & X '12,000,000,000,000,000 End If If L < 18 Then GoTo Ex 'Houndreds_Of_Quadrillions(100,000,000,000,000,000)''18 numbers''''''''''''''''''''''''''''''' Houndreds_Of_Quadrillions: If L > 18 And Val(W(18)) < 1 Then GoTo Zlion Tmp = "كوادرليون" X = Zeros(W, X, 18) If Val(W(16)) = 0 And Val(W(17)) = 0 Then '100,000,000,000 X = DN(Val(W(18))) & S & Tmp & O & X 'Pure Houndreds Of Quadrillions Else '110,000,000,000 '1- Houndreds Of Quadrillions & Elvenths : ..2- Else :Houndreds Of Quadrillions & Frist numbers If Val(W(17)) = 1 Then X = DN(Val(W(18))) & O & BN(Val(W(16))) & S & Tmp & O & X Else _ X = DN(Val(W(18))) & O & AN(Val(W(16))) & S & O & CN(Val(W(17))) & S & Tmp & O & X End If X = Replace(X, "مائتين كوادرليون", "مئتي كوادرليون") If L < 19 Then GoTo Ex 'Houndreds_Of_Quadrillions(100,000,000,000,000,000)''18 numbers''''''''''''''''''''''''''''''' Zlion: '[The end]'''Last Naming number X = "" : X = "زليون" & vbCrLf & "الزليون : رقم غير محدود يفوق التسميات المعروفة" End If ''___ CLOSE IF ______________________________________________(L > 4) '''''''''''''''''''''''''''''''''Check End: '''''''''''''''''''''''''''''''''''''''''''''' Ex: W = Nothing Return X End Function Function MofradMothan(ByVal Num As Int16, ByVal Mof As String, ByVal Mot As String, Optional ByVal More As String = "") As String Dim r As String = More 'أكبر من 2 If Num = 1 Then r = Mof 'مفرد ElseIf Num = 1 Then r = Mot 'مثنى End If Return r End Function Function Zeros(ByVal Col As Collection, ByVal X As String, ByVal MAX As Integer) As String Dim T As Integer, I As Boolean If MAX < 1 Then Return "" : Exit Function For T = 1 To Col.Count If Val(Col.Item(T)) <> 0 Then I = True : Exit For If T = MAX Then Exit For Next T If I Then X = Trim(X) Dim o(1) As String o(0) = "و" & Space(1) : o(1) = Space(1) & "و" If Left(X, 2) = o(0) Or Left(X, 2) = o(1) Then X = Mid(X, 3, Len(X)) If Right(X, 2) = o(0) Or Right(X, 2) = o(1) Then X = Mid(X, 1, Len(X) - 2) Return X Else Return "" End If End Function وأيضا هناك ملف مرفق بمشروع الكود على منصة فيجوال بيسك دوت نت ،، تجدونه أدناه ToWordsArbCODE_New2.rar
  6. وعليكم السلام ورحمة الله وبركاته،،، اشكرك على أهتمامك واعتذر منكي لأني لم الاحظ الرد سابقا وبسبب مشاغلي أغيب كثيرا عن المنتدى،، فشكرا لكي مرة أخرى على اهتمامك
  7. نظرا لأهمية الموضوع ومتابعة للمستجدات المتعلقة به احب ان اضيف رابط لمقالات على اليوتيوب توضح لنا الأتجاه الأهم في دنيا الكمبيوتر حاليا وهو لصناعة كمبوترات كمومية (Quantum Computing) تغير الكثير من المفاهيم السابقة في عمل الكمبيوتر والتعامل معه وتغير الكثير كذلك في مفاهيم لغات البرمجة، وترتقي أكثر بمستوى ما يسمى بالذكاء الحاسوبي ودنيا الكمبيوتر عموما لمستويات جديدة ومذهلة، وفي مقدمة الخصائص الجديدة لهذه الحواسيب التعرف على الحركة واتجاهاتها وقراءة دقيقة لمحتويات الصور طبعا بالإضافة إلى تحسين التقنيات السابقة كتمييز الأصوات والمعالجة عموما لكل ذلك وبمستويات غير معهودة وغاية في الروعة، بالإضافة إلى تحسين نوعية الأبحاث في شتى مجالات العلوم ورفد للعقل والذكاء البشري لإجراء الحسابات الضخمة والمعقدة لاستكشاف وسبر غمار عوالم جديدة سواء كانت مثلا في المجالات الذرية كتقنيات (النانو) والاستخدامات الصناعية المنمنمة والدوائية له، أو في استكشاف التركيبات المعقدة (للحمض النووي) أو (الآلات النانوية المسماة بالبروتينات داخل الكائنات الحية) او استكشاف ونمذجة عوالم الفضاء الخارجي والكون والتي كان يستحيل إدراكها بالإمكانات الحالية وباستخدام بنية الحوسبة المعهودة. الموضوع : مقدمة إلى تقنية الكمبيوترات المعتمدة على ميكانيكا الكم الحلقة الأولى Quantum Computing Day 1: Introduction to Quantum Computing الرابط : الموضوع : مقدمة إلى تقنية الكمبيوترات المعتمدة على ميكانيكا الكم الحلقة الثانية Quantum Computing Day 2: Introduction to Quantum Computing الرابط : وارجوا لكم المتعة والإستفادة - مع تحياتي وتقديري،،، 20/6/2009
  8. شكر لك على أهتمامك ،، لكن انصحك بما انك ذكرت انك مبتدئي طبعا ان تحاول أن تجيد احد لغات البرمج الرئيسية ،، ثم تبحث اكثر عن الموضوع ،، وكما هو معروف ان مثل هذا الموضوع ليس بتكلك السهولة ويحتاج لأبحاث عديدة والتشارك مع عدة باحثين في الموضوع واستخدام ادوات بحثية متقدمة، لكن مع ذلك الجهود الفردية هي أيضا غاية في الأهمية اذا اخذت على محمل الجد والأخذ بعين الأعتبار بمتطلبات بحث بهذا الحجم، واتمنا لك التوفيق طبعا،، وارحب بتعاونك وارجوا ارسال بريدك الالكتروني للتواصل على المسينجر او المراسلة ،، ولك تحياتي ،،، شكر لك على أهتمامك ،، لكن انصحك بما انك ذكرت انك مبتدئي طبعا ان تحاول أن تجيد احد لغات البرمج الرئيسية ،، ثم تبحث اكثر عن الموضوع ،، وكما هو معروف ان مثل هذا الموضوع ليس بتكلك السهولة ويحتاج لأبحاث عديدة والتشارك مع عدة باحثين في الموضوع واستخدام ادوات بحثية متقدمة، لكن مع ذلك الجهود الفردية هي أيضا غاية في الأهمية اذا اخذت على محمل الجد والأخذ بعين الأعتبار بمتطلبات بحث بهذا الحجم، واتمنا لك التوفيق طبعا،، وارحب بتعاونك وارجوا ارسال بريدك الالكتروني للتواصل على المسينجر او المراسلة ،، ولك تحياتي ،،،
  9. شي جميل اذا تضمن موقع جوجل مثل هذه الاضافة والتي تعتمد اعتقد على تقنية التعرف على الوجوه ،، لان جوجل هي الآن الرائدة في التقنية وليس من المستغرب ان يعلنوا يوما ما انهم توصلوا الى هذه التقنية كاملة وليس فقط في الوجوه،، وشكرا لك على مشاركتك القيمة وكذلك لجميع من شارك جزيل الشكر.
  10. ارفع إلى إدارة المنتدى بطلب تثبيت الموضوع لأهميته وارجوا ممن يرى اهمية الموضوع من الزملاء الادلاء بتصويتهم ،،، ولكل من شارك واسهم برايه خالص التحية والتقدير. بالنسبة للأخوة الذين رفعوا بعض الاكواد ،، فالحقيقة لأنشغالي لم تتح لي الفرص للاطلاع عليها فارجوا من كل منهم شرح للكود لو كان مبسط وعلاقته بالموضوع،، اما المقالات التي تكلمت عن وجود التقنية ،، فالحقيقة ان هناك استخدمات متبعثرة من هنا وهناك لهذه التقنية ومنها كما ذكرت عملية التعرف على الأحرف OCR وكما ذكر في بعض التقنيات العسكرية وبعض الروبوتات والتعرف على الوجوه وحديثا جاري استخدامها على نحو حثيث في تقنيات القيادة الألية للسيارات أو القيادة الروبوتية للسيارات، نعم هذه أجزاء فقط من تقنية التعرف على الصور في استخدامات مختلفة لكن لا توجد تقنية متكاملة لحد الآن تعالج عملية التعرف على الصور برمتها مهما كانت التفاصيل في هذه الصور، الموجود هو فقط استخدامات محدودة بمجالات محدودة، وهي مرحلة طفولة لهذه التقنية وبشكل بدائي محدود، واعتقد انه فعليا لو أخذت في الحسبان مقارنة عملية تعلم البشر في المراحل الأولى من العمر او في الطفولة على الأشكال وعملية التعرف على الصور واستفيد منها للتوصل لمحاكاة لها في هذه التقنية لأمكن اعطاء جيدة في هذا المجال، فما نطمح إليه هو تقنية كاملة تبحث عن الصور حسب محتوياتها بدقة ،، لكن اعتقادي ان مثل هذه التقنية تتطلب المزيد والوقت والأبحاث المتعددة وجمع أجزاء الأحجية المتناثرة في استخدمات متفرقة في تقنية واحدة تشمل شتى انواع التعرف الدقيق آليا على الصور ،،، وارجوا ان لا يطول انتظارنا لظهور مثل هذه التقنية وأن لا يساء استخدامها اثناء ظهورها خصوصا وأنه حاليا توجد العديد من مراكز الأبحاث التي صارت تعتمد على اجهزة سوبر كومبيوتر وشبكات للأجهزة حول العالم لتفيذ العمليات الحسابية الضخمة والتي قد تتطلبها تقنية شبيه،،، والله ولي التوفقيق 21-فبراير-2009
  11. موضوع رائع.. كنت اطلعت عليه من اول ايام نشره بموقع البي بي سي للعلوم .. فعلا يخبر عن تطور مذهل نرجوا ان يسهم في تسيير اتصال البشر بالآلة بدون تعقيدات لتناقل البيانات.
  12. اشكرك يا عزيزي عبد العزيز على اهتمامك بهذا المقال .. كما كان اهتمامك بمقالي السابق بخصوص التفقيط .. لك مني كل الشكر بعد هذه الفترة الطويلة التي مرت بعد اخر رسالة منك.. لكن لا اتفق مع النظرة التشأومية في الموضوع لأن الآنسان حين ظهر بذكائة لم يقضي على الحيوانات الأقل ذكاء منه او حتى النباتات ولا اعتقد ان له نية بعمل ذلك بل العكس .. تقبل خالص تحياتي
  13. برنامج التعرف على الصورة

    اعتقد اجابات الزملاء السابقين فيها ما تحتاجين من معلومات لفتح الصور ببرامجك او للتعرف على نقاط البكس في صور البت ماب لكن كتعرف بصورة دقية على الصور فهذا موضوع كبير واعتقد انه لحد الآن لم تظهر خوارزميات كاملة او برامج تفعل ذلك بدقة تامة.. رجاء معاينة المقال الذي كتبته في هذا الموضوع وقد تجدي فيه نقاط قد تثير اهتمامك.. مع خالص تحياتي.
  14. التعرف الدقيق آلياً على الصور (دنيا الكمبيوتر إلى أين) تصورو معي ما الذي ينقص أجهزة الحاسب لتتخاطب معنا ندا لند – هي احتوت المعلومات النصية والصور وبكميات هائلة حفظ ومعالجة – لم يعد هناك مشكلة في التعرف على الكلمات والحروف بجميع مستوياتها لأن الكمبيوتر بدايته اصلا كانت تعمد في عمله على معالجة البيانات باستخدام المحارف المرمزة بالبتات .. لكن الى اليوم نجد هذا الجهاز العجيب الذي أذهلنا ايما ذهول في بداية ظهوره .. وما زال يظهر لنا إمكاناته المتقدمة يوما بعد يوم .. فأنا اليوم اكتب هذه الأحرف عبر معالج النصوص المتطور وورد 2007 كأول نص اكتبه في هذا البرنامج ودهشت كيف وصل حال معالجة الكلمات ابتدأ من محررات النصوص في برامج الدوس الى برامج الأوفيس في هذه الأيام تطور مذهل صارت البرامج أكثر ذكاءً وتخلت عن كثير من تعقيدات سابقاتها وكان أفضل تطور لها هو تخليها عن التعقيدات وليس الإضافات والتحسينات التي بدورها أيضا مؤثرة وغاية في الأيجابية. مازالت أجهزة الكمبيوتر إلى اليوم عاجزة عن أمر مهم وهو التعرف على الصور هي قطعت شوطا كبيرا في التعرف على النصوص كما ذكرت فاليوم تتبع النتائج التي تظهرها محركات البحث على الانترنت وسترى كيفية استخدام محركات البحث لهذه الكلمات في التسويق لمنتجات عملائها الذين تكون انت من أولهم كمستخدم تقع في مرتبة متقدمة من سلم أولياتهم .. فستظهر لك الكثير من النتائج التي تفي بمطلبك بأغلب الاحيان.. ايضا حصل تطور كبير في التعرف على الصوت وتمييز دقيق للكلمات والأحرف المكونة له وتغيير نبرات الصوت والعديد من المعالجات عليه.. لكن تخيل معي لو كانت لك رغبة في البحث عن مطابقات بالشكل لصورة ما.. سوف لن تجد ما يفي بالغرض لازالت كل البرامج تعتمد على تنسيقات الصور المعروفة والمسجلة بأسم الشركات التي اخترعتها والتي بدورها ترمز الصور حسب نقاط البكسل الموجودة بها فقط.. من غير تمييز لمحتوياتها من ناحية الشكل. لماذا؟ .. الى الآن لا توجد اية برامج عملية تستطيع التعرف على الصورة التعرف على الوانها ومحتوياتها ولازالت الكثير من البحوث تعمل بهذا المجال .. لكن إلى الآن لم يتم التوصل إلى اللوغرثيمات البنائية لإجراءات كاملة يمكنها التعرف على محتويات للصور كاملة وترميز محتويتها.. اعتقد أن هذه هي الكأس المقدسة للعلم في هذه المجال.. لماذا؟.. إذا أخذنا في الحسبان التطور الهائل لقواعد البيانات من حيث بنيتها وتراكيبها وأخر انجازات معامل إنتاج رقائق الذواكر والتي توصلت لإمكانية تخزين تاريخ البشرية من نشوؤها إلى اليوم على مساحة لا تتعدى حبة الرمل الواحدة .. ومدى التطور المواكب أيضا في قوة المعالجة التي لازالت في تصاعد مستمر .. فإن الحدث المنتظر هو أن تنتج خوارزميات برمجية تستطيع التعرف على الصور. ولتقريب الصورة أكثر سأضيف هنا .. ما هي الإمكانيات أو الفوائد التي سيحققها العلم في هذا المجال في حال التوصل لذلك..!! • لا بد انك قد تخيلت يوما أن تركب سيارة وتنطلق بك من غير أن تتدخل أنت في قيادتها. • أو تخيلت ربوتات تقوم بكل خدمات المنزل على أكمل وجه. • وهل فكرت في كمرة حراسة تعمل كبواب يتعرف على الضيوف ويرحب بهم وتكون عين حارسة لا تنام. • وربما تخيلت روبتات تقوم بأعمال بشرية كاملة لا تفوتها أدق التفاصيل. إلي غير ذلك.. من الذكاء الحاسوبي الحقيقي.. كلنا بلا شك وردت بذهنه مثل هذه الأفكار وأكثر .. وأوعزناها الى أنها فقط ضرب من الخيال لا يمكن تحقيقه على الأقل في 20 سنة التالية .. لكن .. لم يطرأ في بالنا السبب في أن مثل هذه التطورات تعتمد على إنجاز للعلم في هذا المجال، ربما كان القريبين من هذا المجال منا يدركون ذلك .. فعندما تتمكن أجهزة الحاسب من التعرف بدقة على ما تلتقطه كمراتها الدقيقة من صور وربطها بالمعلومات الضخمة المسبقة على ذواكرها ومن ثم معالجة بياناتها أو التصرف على أساسها فلن تبقى هذه الأفكار مجرد تخيلات. لكن على آية حال إن لم يمكن لآي منا المساهمة في هذا الموضوع سننتظر بشوق من يخرج علينا من العلماء المهتمين بهذا المجال ليعلن ثورة تكنولوجية جديدة لن تقل عن ثورة اختراع الحاسوب نفسه. وكنت كمهتم بالمجال التقني في مجال الحاسب أنشئت العديد من البنائيات البرمجية، وعندما كنت في المرحلة التي أضريت للتعامل فيها برمجيا مع الصور في برامجي شدني هذا الموضوع وكانت بداية أهتمامي به .. لكن لم أتوصل لنتائج مشجعة مع الأسف لعدم تفرغي التام ولعدم توفر كل الإمكانات البحثية اللازمة.. وكان فقط أن أنتجت إجرائيان برمجية لما يسمى بـ : ( التفقيط) باللغة العربية للأرقام ابتدأ من الصفر إلى مالا نهاية أي تحويل الأرقام لنص.. ولاقت في وقتها قبل 3 سنوات من الآن قبول واسع من قبل الزملاء في هذا المنتدى ولازال المقال الذي نشرت فيه هذه الأجرائيات يلاقي الاهتمام من رواد هذا المنتدى وكان مني جهد متواضع أردت نشره خدمة للغتنا العربية وإسهام متواضع بهذا المجال. وكان اغلب النتائج المتحققة في هذا المجال في اوساط تقنيي تكنولجيا المعلومات وشركات البرمجة هي في مجال التعرف الضوئي على النصوص التي تكون في شكل صور أو ما يعرف بـ : (OCR) وتحويلها لمحارف او رموز نصية، لكن حتى هذه لم تصل للدقة التامة في اللغات الرئيسية .. وعلى آية حال هي جهد مثمر في هذا الاتجاه. ختاماً .. أتمنى أن يلقي هذا المقال بصيص ضوء على هذا الموضوع ويسهم به على ما له من أهمية وتنوع في تطبيقاته ولو فقط عبر التعريف به للعموم سواء كان لهم اهتمام خاص أو لمجرد إثراء لمعلوماتهم .. وأرحب بكل الآراء لإثراء الموضوع أكثر.. مع شكري وتقديري. ‏25‏/فبراير/2008
  15. تـم تعديل الكود باخر صفحة من هذا الموضوع فالرجاء الانتقال اليها لتحميل احدث كود بعد التنقيح النهائي