منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : أفضل و أحسن كود يمكنني إستخدامه في الحسابات الفواتير
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
ما اتحدث عنه هو المرونة ، 
TryParse تتيح لك ادخال تنسيقك الخاص NumberFormatInfo ايضا ليتم تحويل النصوص بناء عليه 

وهذا يعني الكثير ، يمكنك التحكم في كل شيء له علاقة بشكل الرقم ، شكل علامة السالب او علامة العملة ، او حتى شكل الارقام نفسهم ، كل شيء فعلا

يمكنك عمل مثل ذلك ، بغض النظر عن الجدوى طبعا ولكني اتكلم عن المرونة

كود :
       Dim nfi As New Globalization.NumberFormatInfo
       nfi.NegativeSign = "سالب"
       nfi.CurrencySymbol = "جنيه"

       Dim d As Decimal
       If Decimal.TryParse("سالب5.65412 جنيه", Globalization.NumberStyles.Any, nfi, d) Then
           MsgBox(d) '-5.65412
       End If

Cdbl على ما اظن لا تستطيع اعطائها تنسيق خاص للارقام NumberFormatInfo ، لانها يمكنها تحويل النصوص الى ارقام وايضا الارقام الى ارقام ، TryParse  مخصصة للنصوص فقط

ما اتحدث عنه هو ادخال نص بشكل معين والتعرف عليه بانه هذا الرقم فعلا 

انا مستمتع بالنقاش معك اخي فعلا  Smile
أخي Anas Mahmoud لقد وجدت فعلا أن دالة TryParse  تغنيك عن مشاكل المدخلات 
بل مرونتها في الكود الذي كتبت خطيرة جدا

جزاك الله خيرا على مساعدتك بهذه الفكرة
بالنسبة للعملة فأنا لا أهتم بها حتى لا أقع في مشاكل الأخطاء
شكرا كثيرا لك أخي أنس

أخي Mohamad Anan شكرا لك على التوضيح 
فعلا هذا هو جوهر مشكلتي و هو الدقة في الحساب


هل تنصحني بإزالة .ToString("0.00") عند تخزين القيمة في قاعدة البيانات
و إستعمالها فقط عند عرض القيمة للمستخدم


كيف سأحل مشكلة 
أني أعرض القيمة للمستخدة في Textbox1  أولا
و أجعلة يضغط على حفض  
و بالتالي ستدخل القيمة كما شاهدها


أرجوا إرشادي جزاك الله علما
السلام عليكم
أخي الكريم زيادة في توضيح الفكرة لنخرج من فكرة القرش المفقود

في بلد مثل لبنان عندما تكون قيمة الدولار الواحد 4000 ليرة لبنانية
ستكون قيمة الليرة البناتية 0.00025 دولار

تخيل في برنامج محاسبة يستورد بضاعة بالدولار و يبيعها بالليرة و ينسق القيمة لتحفظ 0.00

أما بالنسبة لشبكة البيانات يوجد خاصية للقيمة المنسقة و القيمة الأصلية

أما لمربع النص و كالعادة مع جميع الأدوات تبقى خاصية Tag هي البديلة دائما يمكن وضع القيمة الأصلية فيها
معلومة هامة من الاخ محمد كريّم بارك الله فيه


http://vb4arb.com/vb/showthread.php?tid=36477

انه الافضل استخدام النوع Decimal فيما يتعلق بالمعاملات النقدية
(26-09-20, 06:38 PM)Anas Mahmoud كتب : [ -> ]معلومة هامة من الاخ محمد كريّم بارك الله فيه


http://vb4arb.com/vb/showthread.php?tid=36477

انه الافضل استخدام النوع Decimal فيما يتعلق بالمعاملات النقدية

السلام عليكم

بارك الله فيك أخي أنس محمود  و في أخي محمد كريم

هذا مثال يوضح تأثير حفظ قيمة بحقل من نوع عملة مع توضيح طريقة حفظ القيمة دون تنسيق

[attachment=25798]
(26-09-20, 05:49 PM)Mohamad Anan كتب : [ -> ]السلام عليكم
أخي الكريم زيادة في توضيح الفكرة لنخرج من فكرة القرش المفقود

في بلد مثل لبنان عندما تكون قيمة الدولار الواحد 4000 ليرة لبنانية
ستكون قيمة الليرة البناتية 0.00025 دولار

تخيل في برنامج محاسبة يستورد بضاعة بالدولار و يبيعها بالليرة و ينسق القيمة لتحفظ 0.00

أما بالنسبة لشبكة البيانات يوجد خاصية للقيمة المنسقة و القيمة الأصلية

أما لمربع النص و كالعادة مع جميع الأدوات تبقى خاصية Tag هي البديلة دائما يمكن وضع القيمة الأصلية فيها


السلام عليكم أخي محمد

حقا هذا أفضل مثال يبين خطورة الوضع

أرجوك أخي ممكن توضح لنا الفكرتين
"يوجد خاصية للقيمة المنسقة و القيمة الأصلية"
"Tag هي البديلة دائما يمكن وضع القيمة الأصلية فيها"

كما أني أجد أفضل حل في نظري هو إضهار تنسيق أربع أرقام وراء الفاصلة
هل تضن أنه هذا ينفع في تقلبل المشاكل

(شكرا لك على مثال في المرفقات سأستفيد منه )

(26-09-20, 06:38 PM)Anas Mahmoud كتب : [ -> ]معلومة هامة من الاخ محمد كريّم بارك الله فيه


http://vb4arb.com/vb/showthread.php?tid=36477

انه الافضل استخدام النوع Decimal فيما يتعلق بالمعاملات النقدية


أخي أنس شكرا على النصيحة اللتي حقا سأعمل بها

فقط لو توضح لي ما سبب ذلك
و ما هو الفرق

بعيدا عن رمز العملة
الصفحات : 1 2