مدونة منذر اسامة
قديم 17-Mar-2012, 08:53 AM   #1
kh_waleed23
مشرف سابق
 
تاريخ التسجيل: Aug 2007
الدولة: Saudia
المشاركات: 127
إرسال رسالة عبر مراسل MSN إلى kh_waleed23
من مواضيعي  
افتراضي سؤال برمجي بحت

السلام عليكم ورحمة الله وبركاته
وعفوا على الغياب الطويل
والذي كان لظروف (عمل امبلمتيشن جديد)

على العموم السؤال لأصحاب الفيجوال :-

كود:
mYVAR="SAR 13.25"
كيف استطيع تحويل القيمة السابقة من نص
إلى قيمة from string to value
كود:
mYVAR=13.25

ولكم جزيل الشكر والتقدير
kh_waleed23 غير متواجد حالياً   رد مع اقتباس
قديم 17-Mar-2012, 10:38 AM   #2
عماد زيد
مشرف عام في منتديات جريت بلينز العربية
افتراضي

السلام عليكم
أخي الكريم أنا لست مبرمج و لكن إذا كان طويل الإضافة النصية Sar معروف دائما عندها ممكن أن تحذف هذه الإضافة عن طريق تعليمة Mid
عماد زيد غير متواجد حالياً   رد مع اقتباس
قديم 17-Mar-2012, 02:17 PM   #3
ahmedzico
موقوف
 
تاريخ التسجيل: Aug 2007
الدولة: السعودية
المشاركات: 48
من مواضيعي  
افتراضي

السلام عليكم ورحمة الله وبركاته
في هذه الحالة تتم عملية التحويل على مرحلتين
الاولى ازالة الحروف من المتغير وذلك بالدالة
mid
والمرحلة الثانية هي تحويل النص الى قيمة واليك الشرح
المتغير الاساسي عندنا هو :
mYVAR
نعرف متغيرين جديدين واحد للقيمة الرقمية الناتجة وليكن
myVal
ومتغير آخر لعدد حروف المتغير الاساسي الخاص بنا وذلك لأننا لا نعرف هل دائما الرقم عبارة عن خانتين قبل العلامة العشرية وخانتين بعد العلامة العشرية ام سيختلف ، ولنسمي هذا المتغير بـ
myLen
كود:
mYVAR="SAR 13.25"
myLen = len(mYVAR)
mYVAR=mid ( mYVAR ,5,myLen-4)
myVal=val(mYVAR)
ودعنا نلقي بعض التوضيح على السطر الثالث في الكود
فاننا سوف نستخلص الحروف بدءا من الحرف الخامس وذلك لوجود فراغ بعد رمز العملة يجب ان نضعه في الاعتبار
وعدد الحروف التي سوف نستخلصها سيكون مساويا لعدد الحروف كلها مع استبعاد الاربع حروف الاولى وهي رمز العملة والفراغ بعدها
بالطبع اذا اختلف رمز العملة فسوف تختلف هذه الارقام
ارجو تجربة هذا الكود واخباري بالنتائج
ahmedzico غير متواجد حالياً   رد مع اقتباس
قديم 18-Mar-2012, 08:40 AM   #4
kh_waleed23
مشرف سابق
 
تاريخ التسجيل: Aug 2007
الدولة: Saudia
المشاركات: 127
إرسال رسالة عبر مراسل MSN إلى kh_waleed23
من مواضيعي  
افتراضي هذا الحل مؤقت مثل اللي ....

شكرا الف شكر على التفاعل ولكن الحل هذا مؤقت زي اللي انا عملته
واليك الكود
كود:
MyVAR = InStr(1, "SAR 13.5" , " ", 0)
MyVAR = Len("SAR 13.5") - MyVAR
MyVAR = Right(MarkdownAmount, MyVAR)
Myval = Val(MyVAR)
هذا الكود بس اذا كنت تعرف انه يوجد فراغ أو تعرف طول النص
بس اذا ما في فراغ والطول يتغير من رقم إلى رقم
لإن القيم يتم اخذها من MARKDOWN من الجريت بليينز وتكون في الفيجوال على شكل نصي .
kh_waleed23 غير متواجد حالياً   رد مع اقتباس
قديم 18-Mar-2012, 12:56 PM   #5
ahmedzico
موقوف
 
تاريخ التسجيل: Aug 2007
الدولة: السعودية
المشاركات: 48
من مواضيعي  
افتراضي

السلام عليكم
في الكود الذي كتبته أخذت في الاعتبار تغير طول النص اي انه لا توجد مشكلة في تغير طول النص
واعتقد انه لن تكون هناك مشكلة في استبعاد رمز العملة مع الفراغ لأن هذا لن يتغير حيث انه من اعدادات العملة في النظام.
حاول ان تجرب الكود التالي

كود:
mYVAR=MarkdownAmount
myLen = len(mYVAR)
mYVAR=mid ( mYVAR ,5,myLen-4)
myVal=val(mYVAR)
مع العلم بان الكود الذي كتبته سوف يعمل بدون اي مشاكل ولكني ارى استبدال "SAR 13.5"
بالمتغير نفسه وهو MarkdownAmount
حاول ان تجرب الكود واخبرني بالمشاكل

آخر تعديل بواسطة ahmedzico ، 18-Mar-2008 الساعة 01:45 PM.
ahmedzico غير متواجد حالياً   رد مع اقتباس
قديم 10-Dec-2012, 02:48 AM   #6
Dreams Artist
عضو جديد
 
تاريخ التسجيل: Sep 2007
الدولة: مصر
المشاركات: 14
إرسال رسالة عبر مراسل MSN إلى Dreams Artist
من مواضيعي  
افتراضي حل نهائي بإذن الله

بسم الله الرحمن الرحيم

أولاً أنا مش عارف أنتو بتكتبوا كود
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
Dreams Artist غير متواجد حالياً   رد مع اقتباس
قديم 10-Dec-2012, 02:50 AM   #7
Dreams Artist
عضو جديد
 
تاريخ التسجيل: Sep 2007
الدولة: مصر
المشاركات: 14
إرسال رسالة عبر مراسل MSN إلى Dreams Artist
من مواضيعي  
افتراضي


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
Dreams Artist غير متواجد حالياً   رد مع اقتباس
قديم 10-Dec-2012, 02:52 AM   #8
Dreams Artist
عضو جديد
 
تاريخ التسجيل: Sep 2007
الدولة: مصر
المشاركات: 14
إرسال رسالة عبر مراسل MSN إلى Dreams Artist
من مواضيعي  
افتراضي المنتدى مخاصمني هاهاهاهاها


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

Dreams Artist غير متواجد حالياً   رد مع اقتباس
قديم 10-Dec-2012, 02:56 AM   #9
Dreams Artist
عضو جديد
 
تاريخ التسجيل: Sep 2007
الدولة: مصر
المشاركات: 14
إرسال رسالة عبر مراسل MSN إلى Dreams Artist
من مواضيعي  
افتراضي يا رب يكون الاخير !!!

الحل في الملف المرفق
الملفات المرفقة
نوع الملف: txt الحل.txt‏ (528 بايت, المشاهدات 678)
Dreams Artist غير متواجد حالياً   رد مع اقتباس
إضافة رد


يتصفح الموضوع حالياً : 2 (0 عضو و 2 ضيف)
 
أدوات الموضوع
انواع عرض الموضوع

ضوابط المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا يمكنك اضافة مرفقات
لا يمكنك تعديل مشاركاتك

BB code متاحة
كود [IMG] متاحة
كود HTML معطلة

الانتقال السريع


جميع الأوقات بتوقيت GMT +3. الساعة الآن 07:14 PM.


Powered by vBulletin® Version 3.8.3

الموقع والمنتدى من تطوير » شركة المنذر للاستضافة والتصميم

Copyright © 2000-2010 Jelsoft Enterprises Limited.
الموقع لا يمثل أي جهة رسمية بل هو جهد شخصي يرمي الى تجميع القدرات في برنامج جريت بلينز