![]() |
|
![]() | #1 | ||
مشرف سابق
| ![]() السلام عليكم ورحمة الله وبركاته وعفوا على الغياب الطويل والذي كان لظروف (عمل امبلمتيشن جديد) على العموم السؤال لأصحاب الفيجوال :- كود: mYVAR="SAR 13.25" إلى قيمة from string to value كود: mYVAR=13.25 ولكم جزيل الشكر والتقدير | ||
![]() | ![]() |
![]() | #2 |
مشرف عام في منتديات جريت بلينز العربية | ![]() السلام عليكم أخي الكريم أنا لست مبرمج و لكن إذا كان طويل الإضافة النصية Sar معروف دائما عندها ممكن أن تحذف هذه الإضافة عن طريق تعليمة Mid __________________ http://www.linkedin.com/in/emadzaid |
![]() | ![]() |
![]() | #3 | ||
موقوف تاريخ التسجيل: Aug 2007 الدولة: السعودية المشاركات: 48
| ![]() السلام عليكم ورحمة الله وبركاته في هذه الحالة تتم عملية التحويل على مرحلتين الاولى ازالة الحروف من المتغير وذلك بالدالة mid والمرحلة الثانية هي تحويل النص الى قيمة واليك الشرح المتغير الاساسي عندنا هو : mYVAR نعرف متغيرين جديدين واحد للقيمة الرقمية الناتجة وليكن myVal ومتغير آخر لعدد حروف المتغير الاساسي الخاص بنا وذلك لأننا لا نعرف هل دائما الرقم عبارة عن خانتين قبل العلامة العشرية وخانتين بعد العلامة العشرية ام سيختلف ، ولنسمي هذا المتغير بـ myLen كود: mYVAR="SAR 13.25" myLen = len(mYVAR) mYVAR=mid ( mYVAR ,5,myLen-4) myVal=val(mYVAR) فاننا سوف نستخلص الحروف بدءا من الحرف الخامس وذلك لوجود فراغ بعد رمز العملة يجب ان نضعه في الاعتبار وعدد الحروف التي سوف نستخلصها سيكون مساويا لعدد الحروف كلها مع استبعاد الاربع حروف الاولى وهي رمز العملة والفراغ بعدها بالطبع اذا اختلف رمز العملة فسوف تختلف هذه الارقام ارجو تجربة هذا الكود واخباري بالنتائج | ||
![]() | ![]() |
![]() | #4 | ||
مشرف سابق
| ![]() شكرا الف شكر على التفاعل ولكن الحل هذا مؤقت زي اللي انا عملته واليك الكود كود: MyVAR = InStr(1, "SAR 13.5" , " ", 0) MyVAR = Len("SAR 13.5") - MyVAR MyVAR = Right(MarkdownAmount, MyVAR) Myval = Val(MyVAR) بس اذا ما في فراغ والطول يتغير من رقم إلى رقم لإن القيم يتم اخذها من MARKDOWN من الجريت بليينز وتكون في الفيجوال على شكل نصي . | ||
![]() | ![]() |
![]() | #5 | ||
موقوف تاريخ التسجيل: Aug 2007 الدولة: السعودية المشاركات: 48
| ![]() السلام عليكم في الكود الذي كتبته أخذت في الاعتبار تغير طول النص اي انه لا توجد مشكلة في تغير طول النص واعتقد انه لن تكون هناك مشكلة في استبعاد رمز العملة مع الفراغ لأن هذا لن يتغير حيث انه من اعدادات العملة في النظام. حاول ان تجرب الكود التالي كود: mYVAR=MarkdownAmount myLen = len(mYVAR) mYVAR=mid ( mYVAR ,5,myLen-4) myVal=val(mYVAR) بالمتغير نفسه وهو MarkdownAmount حاول ان تجرب الكود واخبرني بالمشاكل آخر تعديل بواسطة ahmedzico ، 18-Mar-2008 الساعة 01:45 PM. | ||
![]() | ![]() |
![]() | #6 | ||
عضو جديد
| ![]() بسم الله الرحمن الرحيم أولاً أنا مش عارف أنتو بتكتبوا كود vb و لا VB .Net و لا VBA على العموم بصو الكود ده و وقولوا رأيكم: j=len(MarkdownAmount) for i= 1 to j T1=mid(MarkdownAmount,i,j-i) if val(T1)>0 and happen=false then happen=true M_Val=val(t1) end if next بإذن الله مهما كان الرقم الكود ده هيحطهولك في المتغير M_Val | ||
![]() | ![]() |
![]() | #7 | ||
عضو جديد
| ![]() j=len(MarkdownAmount) for i= 1 to j T1=mid(MarkdownAmount,i,j-i) if val(T1)>0 and happen=false then happen=true M_Val=val(t1) end if next | ||
![]() | ![]() |
![]() | #8 | ||
عضو جديد
| ![]() j=len(MarkdownAmount) for i= 1 to j T1=mid(MarkdownAmount,i,j-i) if val(T1)>0 and happen=false then happen=true M_Val=val(t1) end if next j=len(MarkdownAmount) for i= 1 to j T1=mid(MarkdownAmount,i,j-i) if val(T1)>0 and happen=false then happen=true M_Val=val(t1) end if next | ||
![]() | ![]() |
![]() | #9 | ||
عضو جديد
| ![]() الحل في الملف المرفق | ||
![]() | ![]() |
![]() | #10 | ||
عضو جديد
| ![]() أعذروني أرجوكم نسيت رقم 1 تخيلوا الحمد لله الذي هدانا لهذا و ما كنا لنهتدي لولا أن هدانا الله Dreams Artist | ||
![]() | ![]() |
![]() |
يتصفح الموضوع حالياً : 1 (0 عضو و 1 ضيف) | |
أدوات الموضوع | |
انواع عرض الموضوع | |
|
|