نمایش نتایج 1 تا 4 از 4

نام تاپیک: تبدیل ریال به حروف

  1. #1

    تبدیل ریال به حروف

    سلام خدمت اساتید گرامی
    من در این تاپیک 2 تا سوال دارم
    اولی این هست که می تونم یه عدد ریالی رو تبدیل به حروف بکنم
    مثلا 500000 برابر است با (پانصد هزار ریال)
    و دومیش این است که چطور می تونم یک جدول رو بین 2 تاریخ خاص فیلتر کنم
    مثلا فاکتوری برای من صادر کنه که از تاریخ 12/1/1390 تا تاریخ 29/1/1390 باشه

  2. #2
    مدیر بخش آواتار binyaz2003
    تاریخ عضویت
    آبان 1382
    محل زندگی
    کرمان
    سن
    39
    پست
    2,107

    نقل قول: تبدیل ریال به حروف

    لطفا در مورد سئوال اول جستجو کنيد کدهاي زيادي در اين قسمت قرارداده شده است.
    در مورد دوم هم در راهنماي فاکس دنبال کلمه filter بگرديد جواب رو پيدا ميکنيد.
    وب سایت شخصی
    وبلاگ آموزش ویژوال فاکس پرو - به دلیل تعطیل شدن میهن بلاگ نوشته های وبلاگ به وب سایت شخصی منتقل شدند.

  3. #3

    نقل قول: تبدیل ریال به حروف

    با تشکر از اقای بی نیاز
    در مورد سوال دومم به جواب رسیدم ولی در مورد سوال اول من ابتدا جستجو زدم ولی چون به نتیجه ای نرسیدم این تاپیک رو ایجاد کردم

  4. #4

    نقل قول: تبدیل ریال به حروف

    نقل قول نوشته شده توسط Emir New مشاهده تاپیک
    با تشکر از اقای بی نیاز
    در مورد سوال دومم به جواب رسیدم ولی در مورد سوال اول من ابتدا جستجو زدم ولی چون به نتیجه ای نرسیدم این تاپیک رو ایجاد کردم
    سلام
    ميتوني از اين فانکشن استفاده کني
    Example:
    ? numbertoc(500000)


    FUNCTION numbertoc
    PARAMETER number
    PRIVATE number, sgn, len, unit, ;
    lastunit, string, vav, ;
    bignum1, bignum2, bignum3, ;
    strs, loc, digit, sub
    m.number = IIF(TYPE("M.Number") = ;
    "N", ;
    LTRIM(STR(m.number, ;
    15)), m.number)
    IF VAL(m.number) > ;
    999999999999999 .OR. ;
    VAL(m.number) < - ;
    999999999999999
    RETURN ("-1")
    ENDIF
    m.sgn = IIF(VAL(m.number) < 0, ;
    "منفي ", "")
    IF VAL(m.number) = 0
    RETURN "صفر"
    ENDIF
    m.number = IIF(LEFT(m.number, 1) = ;
    "-", SUBSTR(m.number, ;
    2), m.number)
    m.len = LEN(m.number)
    STORE " " TO unit, lastunit
    m.string = ""
    m.vav = "و"
    DIMENSION strs(3)
    strs(1) = "يك دو سه چهار پنج شش هفت هشت نه ده يازده دوازده سيزده چهارده پانزده شانزده هفده هجده نوزده "
    strs(2) = ;
    "ده بيست سي چهل پنجاه شصت هفتاد هشتاد نود "
    strs(3) = ;
    "يكصد دويست سيصد چهارصد پانصد ششصد هفتصد هشتصد نهصد "
    DO WHILE .T.
    m.digit = VAL(LEFT(m.number, ;
    1))
    m.loc = MOD(m.len, 3)
    IF m.loc = 2 .AND. m.digit = ;
    1
    m.digit = VAL(LEFT(m.number, ;
    2))
    m.loc = 1
    ELSE
    IF m.loc = 0
    m.loc = 3
    ENDIF
    ENDIF
    IF m.digit <> 0
    DO CASE
    CASE m.len > 3 ;
    .AND. m.len < ;
    7
    m.unit = "هزار"
    CASE m.len > 6 ;
    .AND. m.len < ;
    10
    m.unit = "ميليون"
    CASE m.len > 9 ;
    .AND. m.len < ;
    13
    m.unit = "ميليارد"
    CASE m.len > 12 ;
    .AND. m.len < ;
    16
    m.unit = "تريليون"
    ENDCASE
    ENDIF
    m.sub = IIF(m.digit <> 0, ;
    ALLTRIM(SUBSTR(strs(m.loc), ;
    (m.digit - 1) * 7 + ;
    1, 7)), "")
    m.len = m.len - ;
    LEN(LTRIM(STR(m.digit)))
    m.number = RIGHT(m.number, ;
    m.len)
    IF m.unit <> m.lastunit ;
    .AND. ((m.loc = 1 .OR. ;
    (m.loc = 3 .AND. ;
    VAL(m.number) = 0)) .OR. ;
    VAL(m.number) = 0)
    m.sep = IIF(VAL(m.number) > ;
    0, m.vav, "")
    m.string = IIF(LEN(m.sub) = ;
    0, ;
    ALLTRIM(STRTRAN(m.string, ;
    m.sep, "", ;
    OCCURS(m.sep, ;
    m.string), ;
    1)), ;
    ALLTRIM(m.string)) + ;
    " " + m.sub + ;
    " " + m.unit + ;
    " " + m.sep
    m.lastunit = m.unit
    ELSE
    m.sep = IIF(VAL(m.number) > ;
    0 .AND. ;
    LEN(m.sub) <> 0 ;
    .AND. m.len > 0 ;
    .AND. m.digit <> ;
    0, m.vav, "")
    m.string = ALLTRIM(ALLTRIM(m.string) + ;
    " " + m.sub + ;
    " " + ;
    m.sep)
    ENDIF
    IF m.len <= 0 .OR. ;
    VAL(m.number) = 0
    RETURN m.sgn + ;
    ALLTRIM(m.string)
    ENDIF
    ENDDO
    RETURN m.string
    ENDFUNC

قوانین ایجاد تاپیک در تالار

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