• پایان فعالیت بخشهای انجمن: امکان ایجاد موضوع یا نوشته جدید برای عموم کاربران غیرفعال شده است

مشکل در : تبدیل عدد به حروف + پاک شدن برنامه بعد از اجرا

Usefi

کاربر تازه وارد
تاریخ عضویت
28 اکتبر 2008
نوشته‌ها
407
لایک‌ها
0
سلام خدمت همه دوستان . من به دوتا مشکل برخوردم , ممنون میشم دوستان کمکم کنن .
اولین مشکل اینه که من میخوام اعداد رو به حروف تبدیل کنم , از کدهایی که موجوده استفاده کردم و اکثرا این مشکلو داشتن که اگه مثلا بنویسی 120000000001 نمیتونن این عدد رو بخونن . دوستان اگه کدی دارن ما رو هم بی نصیب نذارن .
کمک دومی هم که نیاز دارم اینه که کدی میخوام که بتونه وقتی مثلا روی کامندی روی فرم کلیک شد , برنامه رو کلا حذف کنه .

دستتون درد نکنه . . .
 

Mamylo

کاربر فعال بازیهای کامپیوتری
کاربر فعال
تاریخ عضویت
19 مارس 2005
نوشته‌ها
949
لایک‌ها
10
سن
34
محل سکونت
کرج
سلام خدمت همه دوستان . من به دوتا مشکل برخوردم , ممنون میشم دوستان کمکم کنن .
اولین مشکل اینه که من میخوام اعداد رو به حروف تبدیل کنم , از کدهایی که موجوده استفاده کردم و اکثرا این مشکلو داشتن که اگه مثلا بنویسی 120000000001 نمیتونن این عدد رو بخونن . دوستان اگه کدی دارن ما رو هم بی نصیب نذارن .
کمک دومی هم که نیاز دارم اینه که کدی میخوام که بتونه وقتی مثلا روی کامندی روی فرم کلیک شد , برنامه رو کلا حذف کنه .

دستتون درد نکنه . . .
سلام دوست من

جواب سؤال يک شما: واضح نگفتي. يه کم بيشتر توضيح بده. اما با توجه به ظاهر سؤالتون، اون عددي که شما مي گين از محدوده Long هم خارج ميشه و واسه همين نميشه اون عدد رو شناسائي کرد. اگر همچين عددي رو مي خواي شناسائي کني از آرايه يا داده هاي اعشاري استفاده کني يحتمل مؤثر باشه.

سؤال دوم: هيچ راهي وجود نداره به جز راه غير مستقيم! چون برنامه خودش در حال اجراست نمي تونه خودشو حذف کنه. شما بايد برنامه ديگه اي بنويسيد که اين کار رو براتون انجام بده و بعد با زدن اون دکمه تو برنامه اصلي، برنامه دوم رو اجرا کنين. براي جلوگيري از اجراي ناخواسته برنامه دومي مي تونين از Command استفاده کنين :)
 
Last edited:

igimax

کاربر فعال کامپیوتر
تاریخ عضویت
17 سپتامبر 2004
نوشته‌ها
3,410
لایک‌ها
1,348
سن
51
سلام Usefi جان
1538.gif


. در مورد مشكل اول، بايد به دامنه عددي هر Data Type دقت نماييد! مثلن اون عدد شما از دامنه عددي Integer بيشتره و در سورت Variableي با نوع Integer با پيام Overflow مواجه مي‌شوي كه مبين همين هموضوع هست. براي به دست آوردن دامنه انواع Data Type ها يا Data Type Conversion functions به MSDN مراجه كن. براي حل مشكلت له يه Type با دامنه بيشتر نياز داريد. Double بيشترين دامنه را بين بقيه Typeها دارد. پس دستور شما به اين شكل مي‌شود:

کد:
Dim x as Double
x = CDbl(Val(Text1.Text))

. در مورد مشكل دوم، يه فايل كه در حال اجراست نمي‌تواد خودش را حذف كند! بايد اول خود را ببندد و سپس خود را حذف كند و اگر خود را ببندد ديگر دستور حذف را نمي‌تواند بدهد! اما مي‌شه يه حقه زد! يه فايل Batch فايل درست كنيد و دستورات زير را در آن بنويسيد:
کد:
@echo off
taskkill /f /im MyFileName.exe
del MyFileName.exe

. اگر نام فايل Batch فايل Remove.bat باشد آن را كنار فايل اجرايي مورد نظر كپي نماييد و اين دستور را در آن دكمه قرار دهيد:

کد:
Private Sub Command1_Click()
   Shell (App.Path + "\Remove.bat")
End Sub

موفق باشيد.
67562.gif


خداحافظ
IgImAx
87/11/07
209266.gif
26650.gif
 

Khepele Sibilo

کاربر تازه وارد
تاریخ عضویت
2 ژانویه 2008
نوشته‌ها
1,693
لایک‌ها
16
سن
45
سوال 2 رو igmax عزیز کامل توضیح دادن، اما برداشت من از سوال 1 اینه که می خواین به جاش بنویسه صدوبیست میلیارد و یک
خیلی ساده به الگوریتمش که فکر کنین می بینین یک سری از اعداد رو باید برای تبدیل به عدد تعریف کنین
از 1 تا 19
20،30،40، ... 90
100،200، 300 ... 900
1000
1000000
1000000000
و چند تا بین اینها
بقیه با ترکیب اینها و یا اضافه کردن یک و بینشون ایجاد میشه
بنویسینش ، راحتتر از پیدا کردن الگوریتمه !
 

Usefi

کاربر تازه وارد
تاریخ عضویت
28 اکتبر 2008
نوشته‌ها
407
لایک‌ها
0
واقعا از تمام دوستانیکه کمک کردن ممنونم .
میخواستم تک تک تشکر کنم دیدم فقط بیهوده تعداد پستها رو زیاد کردم . دست همه دوستان درد نکنه . من با کمک شما به جواب سوالاتم رسیدم . موفق و موید باشید .
 

Mamylo

کاربر فعال بازیهای کامپیوتری
کاربر فعال
تاریخ عضویت
19 مارس 2005
نوشته‌ها
949
لایک‌ها
10
سن
34
محل سکونت
کرج
واقعا از تمام دوستانیکه کمک کردن ممنونم .
میخواستم تک تک تشکر کنم دیدم فقط بیهوده تعداد پستها رو زیاد کردم . دست همه دوستان درد نکنه . من با کمک شما به جواب سوالاتم رسیدم . موفق و موید باشید .
من هم خوشحالم که به نوبه خودم کاري کردم و شما به جواب سؤالتون رسيدين!

باز هم اگر سؤالي بود در خدمتم
 
بالا