امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
شماره خوان
نویسنده پیام
lpln852 آفلاین
تازه وارد

ارسال‌ها: 3
موضوع‌ها: 2
تاریخ عضویت: شهریور ۱۳۸۷

تشکرها : 0
( 0 تشکر در 0 ارسال )
ارسال: #1
شماره خوان
با سلام
دوستان من یه پروژه دارم که باید شماره ای رو که کاربر وارد میکنه رو پخش کنم (با بلندگو)
یعنی این که کاربر یک شماره بین 0 تا 999 وارد میکنه وبعد با زدن یک کلید باید اون شماره از بلنگو پخش بشه
مشکل من این جاست چون من یک سری صداها رو توی ایسی ریختم و بعد با توجه به شماره باید اون ها رو پخش کنم
صدا های که تو ایسی هست
0 .1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.30.
40.50.60.70.80.90.100.200.300.400.500.600.700.800.900

لطفا کمک کنید که چطور برنامه ی این رو بنویسم

به عنوان مثال اگه کاربر شماره 842 رو وارد کرد من باید صدای 800 بعد 40 بعد 2 روپخش کنم
۰۱-مرداد-۱۳۸۹, ۱۹:۴۰:۲۴
ارسال‌ها
پاسخ
رسول غایب
بازنشسته
*****

ارسال‌ها: 2,458
موضوع‌ها: 237
تاریخ عضویت: دى ۱۳۸۸

تشکرها : 15003
( 20196 تشکر در 5767 ارسال )
ارسال: #2
RE: شماره خوان
(۰۱-مرداد-۱۳۸۹, ۱۹:۴۰:۲۴)lpln852 نوشته است: 0 .1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.30.
40.50.60.70.80.90.100.200.300.400.500.600.700.800.900

باید علاوه براینا یدونه هم حرف و رو وارد آی سی کنی

بعنوان مثال اگه 24 فشار داده شد اول باید بگه 20 بعد حرف و بعد 4 که میشه بیست و چهار ...
چون اگه حرف و نباشه اونموقع میگه بیست چهار!!!
(آخرین ویرایش در این ارسال: ۰۱-مرداد-۱۳۸۹, ۲۰:۰۳:۰۹، توسط رسول.)
۰۱-مرداد-۱۳۸۹, ۲۰:۰۰:۴۸
ارسال‌ها
پاسخ
تشکر شده توسط : salehjg, t3r!p3000, EBKA
joker آفلاین
کاربر با تجربه
****

ارسال‌ها: 798
موضوع‌ها: 67
تاریخ عضویت: آذر ۱۳۸۵

تشکرها : 849
( 3655 تشکر در 908 ارسال )
ارسال: #3
RE: شماره خوان
الگوریتم ضمیمه را به زبان دلفی برای برنامه هام نوشتم ( دوستم عرفان نوشت و من یه کم رفع باگ کردم )
روش کارو ببین ،
( شما به جای اسامی عداد میتونید آدرس فایل wave را بعدا توی الگوریتم میکروکنترلر بزارید
نوشتین یه کپی هم به ما بدین داشته باشیم :)
کد php:
unit R2T;
(*******************************************************************************
********************************************************************************

********************************************************************************
***************************************************)

interface
function 
Num2Str(NumLONGINT): String;
function 
FarsiCorrect(InputStr :String) :STring;
function 
ToFarsiText(Number :LONGINT) :String;

implementation

function Num2Str(NumLONGINT): String;
  var
    
TmpStr:String[15];
  
begin
    
if Num >= 1000000000 then
      
if (Num mod 1000000000) = 0 then
        Num2Str 
:= Num2Str(Num div 1000000000) + ' بيليون'
      
else
        
Num2Str := Num2Str(Num div 1000000000) + ' بيليون و ' +
                   
Num2Str(Num mod 1000000000)
    else
      if 
Num >= 1000000 then
        
if (Num mod 1000000) = 0 then
          Num2Str 
:= Num2Str(Num div 1000000) + ' ميليون'
        
else
          
Num2Str := Num2Str(Num div 1000000) + ' ميليون و ' +
                     
Num2Str(Num mod 1000000)
      else
        if 
Num >= 1000 then
          
if (Num mod 1000) = 0 then
            Num2Str 
:= Num2Str(Num div 1000) + ' هزار'
          
else
            
Num2Str := Num2Str(Num div 1000) + ' هزار و ' +
                       
Num2Str(Num mod 1000)
        else
          if 
Num >= 100 then
            
if (Num mod 100) = 0 then
              Num2Str 
:= Num2Str(Num div 100) + 'صد'
            
else
              
Num2Str := Num2Str(Num div 100) + 'صد و ' +
                         
Num2Str(Num mod 100)
          else
          case (
Num div 10of
              9
: if Num 80 then
                   Num2Str 
:= ' نود'
                 
else
                   
Num2Str := 'نود ' Num2Str(Num mod 10);
              
8: if Num 80 then
                   Num2Str 
:= 'هشتاد'
                 
else
                   
Num2Str := 'هشتاد ' Num2Str(Num mod 10);
              
7: if Num 80 then
                   Num2Str 
:= 'هفتاد'
                 
else
                   
Num2Str := 'هفتاد ' Num2Str(Num mod 10);
              
6: if Num 80 then
                   Num2Str 
:= 'شصت'
                 
else
                   
Num2Str := 'شصت ' Num2Str(Num mod 10);
              
5: if Num 50 then
                   Num2Str 
:= 'پنجاه'
                 
else
                   
Num2Str := 'پنجاه ' Num2Str(Num mod 10);
              
4: if Num 40 then
                   Num2Str 
:= 'چهل'
                 
else
                   
Num2Str := 'چهل ' Num2Str(Num mod 10);
              
3: if Num 30 then
                   Num2Str 
:= 'سي'
                 
else
                   
Num2Str := 'سي ' Num2Str(Num mod 10);
              
2: if Num 20 then
                   Num2Str 
:= 'بيست'
                 
else
                   
Num2Str := 'بيست ' Num2Str(Num mod 10);
            
0,1: case Num of
                    1
Num2Str := 'يک';
                    
2Num2Str := 'دو';
                    
3Num2Str := 'سه';
                    
4Num2Str := 'چهار';
                    
5Num2Str := 'پنج';
                    
6Num2Str := 'شش';
                    
7Num2Str := 'هفت';
                    
8Num2Str := 'هشت';
                    
9Num2Str := 'نه';
                   
10Num2Str := 'ده';
                   
11Num2Str := 'يازده';
                   
12Num2Str := 'دوازده';
                   
13Num2Str := 'سيزده';
                   
14Num2Str := 'چهارده';
                   
15Num2Str := 'پانزده';
                   
16Num2Str := 'شانزده';
                   
17Num2Str := 'هفده';
                   
18Num2Str := 'هجده';
                   
19Num2Str := 'نوزده';
                 
end
          end
 end
;

function 
FarsiCorrect(InputStr :String) :STring;
var
  
TempStr:String;
  
Index:Integer;
begin
  TempStr
:=InputStr;

  
Index:=Pos('دوصد',TempStr);
  if 
Index <> 0 then
    begin
      
while Index <> do
        
begin
          Delete
(TempStr,Index,4);
          
Insert('دويست',TempStr,Index);
          
Index:=Pos('دوصد',TempStr);
        
end;
    
end;

  
Index:=Pos('سهصد',TempStr);
  if 
Index <> 0 then
    begin
      
while Index <> do
        
begin
          Delete
(TempStr,Index,4);
          
Insert('سيصد',TempStr,Index);
          
Index:=Pos('سهصد',TempStr);
        
end;
    
end;

  
Index:=Pos('پنجصد',TempStr);
  if 
Index <> 0 then
    begin
      
while Index <> do
        
begin
          Delete
(TempStr,Index,5);
          
Insert('پانصد',TempStr,Index);
          
Index:=Pos('پنجصد',TempStr);
        
end;
    
end;

  
FarsiCorrect:=TempStr ' ريال';
end;

function 
ToFarsiText(Number :LongInt) :String;
begin
  ToFarsiText
:=FarsiCorrect(Num2Str(Number));
end;

end

[تصویر:  sajdelogo.gif]
۰۱-مرداد-۱۳۸۹, ۲۱:۳۸:۵۸
ارسال‌ها
پاسخ
تشکر شده توسط : رسول, lord_viper, reza555, t3r!p3000


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  اموزش ساخت کارت خوان مغناطیسی mehrab888 0 1,472 ۰۶-آذر-۱۳۹۷, ۱۹:۱۸:۳۲
آخرین ارسال: mehrab888
  ساخت شماره گیر تلفن توسط avr فروم باز 10 6,349 ۱۶-آذر-۱۳۹۴, ۲۱:۳۸:۴۲
آخرین ارسال: sharin
  مدار شماره گیر توسط ای سی MT8888C rezax22 3 3,516 ۱۴-دى-۱۳۹۳, ۱۰:۲۹:۵۵
آخرین ارسال: a.mehran
  [سوال] شماره گیری از روی ایپرام a.mehran 2 2,252 ۰۶-تير-۱۳۹۳, ۱۲:۲۷:۵۶
آخرین ارسال: a.mehran
  [سوال] کارت خوان مغناطیسی reza_manoto 5 8,095 ۰۶-خرداد-۱۳۹۳, ۱۷:۰۹:۰۱
آخرین ارسال: onlines
  [سوال] شماره گیری با avr a.mehran 10 9,416 ۲۲-شهریور-۱۳۹۲, ۱۳:۲۱:۵۸
آخرین ارسال: a.mehran
  [سوال] کمک در ساخت بارکد خوان gladiators1980 8 9,130 ۱۳-تير-۱۳۹۲, ۱۸:۵۷:۴۵
آخرین ارسال: kimiafars
  طراحی بارکد خوان behzadX 9 10,427 ۱۳-تير-۱۳۹۲, ۱۸:۵۶:۳۸
آخرین ارسال: kimiafars
  پروژه بارکد خوان قلمی kamran0080 4 4,292 ۰۷-آبان-۱۳۹۱, ۱۷:۳۲:۵۶
آخرین ارسال: kamran0080
  [سوال] ساختن فرکانس PWM 36KHz با تایمر 8 بیتی شماره 2 در ATMEGA8 jenab 5 7,615 ۱۸-اردیبهشت-۱۳۹۱, ۱۰:۰۴:۰۷
آخرین ارسال: ha_60

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS