ايران ويج

نسخه‌ی کامل: گرفتن عدد دو رقمی و بیشتر از کیبرد
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2
با سلام.
من میخواستم یه عدد دو رقمی یا بیشتر رو از کیبرد بگیرم.مثلا عدد 24.چطور باید این کار رو بکنم؟
مهندس رقم اول رو بگیر و بعد ضرب در ده کن و حال عدد دوم رو بگیر و با عدد قبلی جمع کن و حاصل رو در ده ضرب کن و بعلاوه عدد سوم کن و ..... ( این سیکل ادامه دارد )

اگه فقط می خوای چهار رقم وارد کنه می تونی یه حلقه for بذاری که فقط چهار بار عدد رو بگیره !

مهندس اگه متوجه نشدی که یه برنامه نمونه بذارم ! ( البته با بسکام )
(۰۴-شهریور-۱۳۸۸, ۲۲:۲۰:۳۹)t3r!p3000 نوشته است: [ -> ]مهندس رقم اول رو بگیر و بعد ضرب در ده کن و حال عدد دوم رو بگیر و با عدد قبلی جمع کن و حاصل رو در ده ضرب کن و بعلاوه عدد سوم کن و ..... ( این سیکل ادامه دارد )

اگه فقط می خوای چهار رقم وارد کنه می تونی یه حلقه for بذاری که فقط چهار بار عدد رو بگیره !

مهندس اگه متوجه نشدی که یه برنامه نمونه بذارم ! ( البته با بسکام )
اون تکه که قرمزش کردم برای چیه؟
اگه میشه یه برنامه برام بزار.منم با بیسکام میخواستم.
راستی سایت آقای 1nafar مثله اینکه پهنای بادش تموم شده.
سلام

مثال:

اگه دقت کنی عدد 1234 رو میتونی به شکل زیر بنویسی

(((((1*10)+2)*10)+3)*10)+4

با این الگوریتم میتونی عدد 4 رقمی رو بگیری.
مهندس یه برنامه نمونه !
برای صفحه کلید 3*4 هستش !

عدد رو تا حدود 9 رقم می تونه بگیره و وقتی دکمه * رو زدی میاد بیرون !

کد php:
$regfile "m16def.dat" $crystal 1000000

Config Kbd 
Portd

Config Lcdpin 
Pin Db4 Pinc.3 Db5 Pinc.2 Db6 Pinc.1 Db7 Pinc.0 Pinc.4 Rs Pinc.5
Cursor Off 
Config Lcd 16 Cls

Dim Kb 
As Byte As Long

Do
      
Gosub Scankey1
      
If Kb 20 Then  Exit Do
      
10
      W 
Kb
      Home 
Lcd W "  "


Loop

Cls 
Lcd W
Home L 
" END "
End


Scankey1
:
   Do
      
Kb Getkbd()
   
Loop Until Kb 16
   
Do
      
Kb Getkbd()
   
Loop Until Kb <> 16
   Kb 
Lookup(kb Lookupscankey1)
   If 
Kb 99 Then Goto Scankey1
Return
Lookupscankey1:
Data 1 99 99 99 20 25 99 99 99 
سلام ...

(۰۷-شهریور-۱۳۸۸, ۱۶:۴۲:۲۰)t3r!p3000 نوشته است: [ -> ]مهندس یه برنامه نمونه !
برای صفحه کلید 3*4 هستش !

عدد رو تا حدود 9 رقم می تونه بگیره و وقتی دکمه * رو زدی میاد بیرون !

کد php:
$regfile "m16def.dat" $crystal 1000000

Config Kbd 
Portd

Config Lcdpin 
Pin Db4 Pinc.3 Db5 Pinc.2 Db6 Pinc.1 Db7 Pinc.0 Pinc.4 Rs Pinc.5
Cursor Off 
Config Lcd 16 Cls

Dim Kb 
As Byte As Long

Do
 
Gosub Scankey1
 
If Kb 20 Then Exit Do
 
10
 W 
Kb
 Home 
Lcd W " "


Loop

Cls 
Lcd W
Home L 
" END "
End


Scankey1
:
 Do
 
Kb Getkbd()
 
Loop Until Kb 16
 
Do
 
Kb Getkbd()
 
Loop Until Kb <> 16
 Kb 
Lookup(kb Lookupscankey1)
 If 
Kb 99 Then Goto Scankey1
Return
Lookupscankey1:
Data 1 99 99 99 20 25 99 99 99 

من چند روزه دارم به این فکر می کنم که چه جوری میشه یک عدد چند عددی از kbd گرفت !!
الان این تاپیک رو دیدم !
میشه یکی از عزیزان لطف کنن و این برنامه رو توضیح بدن ؟؟
و این که میتونم از از برنامه واسه صفحه کلید 4*4 هم استفاده کنم ؟؟

ممنونم!
و من الله التوفیق ...
سلام علیکم اخوی

فقط با دستور
A=get kbd()
میتونین یکی از ارقام 0 تا 15 رو از صفحه کلید 4*4 بخونید و تو متغییر A ذخیرش کنید

برای تعریف کیپد 4*4 هم میتونین از این دستور استفاده کنین:

Config Kbd = Portb , Debounce = 50 , Delay = 100

حالا اگه میخواین عددتون چن رقمی باشه چن بار باید عددو بگیرین و بسته به ارزش با ضرب در 10 یا 100 یا … دهگان، صدگان و … کنید

امیدوارم مشکلتون حل بشه در غیر ین صورت هر سوالی داشتین دوباره مطرحش کنید

والسلام علیکم و رحمت الله و برکاته
(۱۴-شهریور-۱۳۸۸, ۱۴:۵۱:۰۹)ilgar نوشته است: [ -> ]سلام علیکم اخوی

فقط با دستور
A=get kbd()
میتونین یکی از ارقام 0 تا 15 رو از صفحه کلید 4*4 بخونید و تو متغییر A ذخیرش کنید

برای تعریف کیپد 4*4 هم میتونین از این دستور استفاده کنین:

Config Kbd = Portb , Debounce = 50 , Delay = 100

حالا اگه میخواین عددتون چن رقمی باشه چن بار باید عددو بگیرین و بسته به ارزش با ضرب در 10 یا 100 یا … دهگان، صدگان و … کنید

امیدوارم مشکلتون حل بشه در غیر ین صورت هر سوالی داشتین دوباره مطرحش کنید

والسلام علیکم و رحمت الله و برکاته

سلام به شما دوست عزیز ...
مهندس اگه لطف کنین و یک برنامه به عنوان مثال بزارین ( البته با تحلیل برنامه ) که من بهتر درک کنم ممنون میشم !

پ.ن.: اقایون مهندس، من باید خدمتتون عرض کنم که من تازه کارم هاا، یکم اساسی تر توضیح بدین ممنون میشم !! BiggrinHeart009
این فعلاً واسه یک رقم
ببینید برنامش قابل فهمه؟
دو رقمی و بیشترو بعداً


فقط: وقتی کلیدی از کیپد فشرده نمیشه میکرو عدد 16 میگیره
مرسی.البته وقتی که این سوال رو پرسیدم فرداش فهمیدم که تنها راهش همینه .و همین کارو کردم و جواب هم گرفتم.ولی گفته باشم من مهندس نیستم...
بازم برا اینکه جوابم رو دادی ممنونم.
سلام خسته نباشین
من خواندن عدد 3 رقمی را اجرا کردم و ولی بد از زدن یکی دو رقم روی lcd اعداد عجیب قریب نشون میده
خودمم نفهمیدم مشکل از کجاست
میشه بگین مشکلش از کجاست؟
صفحه‌ها: 1 2