PDA

View Full Version : پیدا کردن عدد در یک متن



alirezash
جمعه 08 خرداد 1388, 16:27 عصر
سلام دوستان عزیز .

من یک متن دارم
مثلاً " در تاریخ 6/5/1388 " صورت حساب شما 2365890 ریال است .

میخواهم فقط در یک تکس باکس 2365890 را نشون بده
این عدد ممکن است بزرگتر یا کوچکتر باشد.
ممنون می شم کمکم کنید

Rezapcclick
جمعه 08 خرداد 1388, 16:33 عصر
سلام دوستان عزیز .

من یک متن دارم
مثلاً " در تاریخ 6/5/1388 " صورت حساب شما 2365890 ریال است .

میخواهم فقط در یک تکس باکس 2365890 را نشون بده
این عدد ممکن است بزرگتر یا کوچکتر باشد.
ممنون می شم کمکم کنید

نمي دونم .....
من يه روش سرچ دارم كه خيلي به دردت مي خوره فقط يه نام فيلد رو مي دي بعد....
مي خوايي بگم؟؟؟؟؟:متفکر:

Mbt925
جمعه 08 خرداد 1388, 16:35 عصر
دوست عزیز روشی که شما می خواین ازش استفاده کنید، کاملا غلطه.

اصول کار به این شکله که شما خودتون با خوندن مقادیر از بانکتون (یا هر جای دیگه) جمله ی مربوطه رو می سازید، بنابراین به اعداد استفاده شده در جمله دسترسی دارید و نیازی به پردازش رشته نیست.

alirezash
جمعه 08 خرداد 1388, 16:40 عصر
دوستان عزیز من هیچ دسترسی به بانک ندارم .
این متن از طریقی برام فرستاده می شه

Rezapcclick
جمعه 08 خرداد 1388, 16:44 عصر
دوست عزیز روشی که شما می خواین ازش استفاده کنید، کاملا غلطه.

اصول کار به این شکله که شما خودتون با خوندن مقادیر از بانکتون (یا هر جای دیگه) جمله ی مربوطه رو می سازید، بنابراین به اعداد استفاده شده در جمله دسترسی دارید و نیازی به پردازش رشته نیست.



خوب !!!!!
نه!!!!!!
ببينيد شما از يه كمبو كه روي فرم قرار مي ديد همون فيلد رو انتخاب مي كنيد و حالا اگه هم خواستيد يه تكست باكس مي زاريد تا بتونيد عبارت مورد نظر را تايپ و بعد همون رو به نمايش در بياره
حالا كجا نمايش در بياره بستگي به برنامه نويس داره.(DataGrid,Textbox,Label و يا .....)

alirezash
جمعه 08 خرداد 1388, 16:47 عصر
من در حال برنامه نویسی برای موبایل هستم
مقدار اعتباری که از طریق خط ایرانسل برام فرستاده می شه
می خواهم فقط مبلغ رو در یک تکس باکس داشته باشم .
اون متن هم از طریق یک لیبل برام فرستاده می شه

Rezapcclick
جمعه 08 خرداد 1388, 16:54 عصر
من در حال برنامه نویسی برای موبایل هستم
مقدار اعتباری که از طریق خط ایرانسل برام فرستاده می شه
می خواهم فقط مبلغ رو در یک تکس باکس داشته باشم .
اون متن هم از طریق یک لیبل برام فرستاده می شه



من نمي دونم از جناب مدير Mbt925بپرس
يعني تا حالا اين سبكي برنامه نويسي نكردم.
ببخشيد.....:ناراحت:
كاري نداريد فكر كنم ديگه جاي من اينجا نيست....:قهقهه::قهقهه::بامزه:

hamed_arfaee
جمعه 08 خرداد 1388, 17:34 عصر
سلام

تاریخ که همیشه تاریخ روز هست و جمله هم ثابت ،اگه اینا رو حذف کنی میمونه فقط مبلغ مورد نظر .
با یکی دو بار Repalce همه چی تمومه .

alirezash
جمعه 08 خرداد 1388, 17:37 عصر
آخه تاریخ هردفعه عوض میشه
میشه یکم با کد توضیح بدین

xxxxx_xxxxx
جمعه 08 خرداد 1388, 19:30 عصر
با فرض اين كه Label1 حاوي جمله "در تاريخ 6/5/1388 صورت حساب شما 2365890 ريال است" است و اين جمله هميشه كلمه "شما" را دارد. پس موقعيت كلمه "شما" را پيدا مي كنيم و Val مابقي آن را حساب مي كنيم. توجه كنيد كه تابع Val مقدار عددي يك رشته را تا جايي بدست مي آورد كه به رشته برسد.


S = InStr(1, Label1.Caption, "شما")
Text1.Text = Val(Mid(Label1.Caption, S + 3))
موفق باشيد/

Mbt925
سه شنبه 12 خرداد 1388, 17:05 عصر
مثلاً " در تاریخ 6/5/1388 " صورت حساب شما 2365890 ریال است .



اگه كلمات "شما" و "ريال" قبل و بعد از هزينه ثابت هستند، مي تونيد از اونا استفاده كنيد.

موقعيت اين دو كلمه رو پيدا كنيد و رشته ي بين اون دو موقعيت رو استخراج كنيد.
فرض كنيد رشتتون در متغير YourStr قرار داره:






you = InStr( 1, YouStr , "شما ")
rial = InStr( 1, YouStr , "ريال ")

cost = Mid ( YourStr , you , rial-you)