سؤال برمجي بحت السلام عليكم ورحمة الله وبركاته وعفوا على الغياب الطويل والذي كان لظروف (عمل امبلمتيشن جديد) على العموم السؤال لأصحاب الفيجوال :- كود: mYVAR="SAR 13.25" إلى قيمة from string to value كود: mYVAR=13.25 ولكم جزيل الشكر والتقدير |
السلام عليكم أخي الكريم أنا لست مبرمج و لكن إذا كان طويل الإضافة النصية Sar معروف دائما عندها ممكن أن تحذف هذه الإضافة عن طريق تعليمة Mid |
السلام عليكم ورحمة الله وبركاته في هذه الحالة تتم عملية التحويل على مرحلتين الاولى ازالة الحروف من المتغير وذلك بالدالة mid والمرحلة الثانية هي تحويل النص الى قيمة واليك الشرح المتغير الاساسي عندنا هو : mYVAR نعرف متغيرين جديدين واحد للقيمة الرقمية الناتجة وليكن myVal ومتغير آخر لعدد حروف المتغير الاساسي الخاص بنا وذلك لأننا لا نعرف هل دائما الرقم عبارة عن خانتين قبل العلامة العشرية وخانتين بعد العلامة العشرية ام سيختلف ، ولنسمي هذا المتغير بـ myLen كود: mYVAR="SAR 13.25" فاننا سوف نستخلص الحروف بدءا من الحرف الخامس وذلك لوجود فراغ بعد رمز العملة يجب ان نضعه في الاعتبار وعدد الحروف التي سوف نستخلصها سيكون مساويا لعدد الحروف كلها مع استبعاد الاربع حروف الاولى وهي رمز العملة والفراغ بعدها بالطبع اذا اختلف رمز العملة فسوف تختلف هذه الارقام ارجو تجربة هذا الكود واخباري بالنتائج |
هذا الحل مؤقت مثل اللي .... شكرا الف شكر على التفاعل ولكن الحل هذا مؤقت زي اللي انا عملته واليك الكود كود: MyVAR = InStr(1, "SAR 13.5" , " ", 0) بس اذا ما في فراغ والطول يتغير من رقم إلى رقم لإن القيم يتم اخذها من MARKDOWN من الجريت بليينز وتكون في الفيجوال على شكل نصي . |
السلام عليكم في الكود الذي كتبته أخذت في الاعتبار تغير طول النص اي انه لا توجد مشكلة في تغير طول النص واعتقد انه لن تكون هناك مشكلة في استبعاد رمز العملة مع الفراغ لأن هذا لن يتغير حيث انه من اعدادات العملة في النظام. حاول ان تجرب الكود التالي كود: mYVAR=MarkdownAmount بالمتغير نفسه وهو MarkdownAmount حاول ان تجرب الكود واخبرني بالمشاكل |
حل نهائي بإذن الله بسم الله الرحمن الرحيم أولاً أنا مش عارف أنتو بتكتبوا كود 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 |
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 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 |
يا رب يكون الاخير !!! 1 مرفق الحل في الملف المرفق |
أسف نسيت رقم واحد !! 1 مرفق أعذروني أرجوكم نسيت رقم 1 تخيلوا الحمد لله الذي هدانا لهذا و ما كنا لنهتدي لولا أن هدانا الله Dreams Artist |
جميع الأوقات بتوقيت GMT +3. الساعة الآن 03:33 PM. |
Powered by vBulletin® Version 3.8.3
الموقع والمنتدى من تطوير » شركة المنذر للاستضافة والتصميم