إنتقال للمحتوى

  • تسجيل الدخول عبر الفيس بوك تسجيل الدخول عبر تويتر Log In with LinkedIn Log In with Google      تسجيل دخول    
  • إنشاء حساب

صورة
- - - - -

تحويل الارقام إلى حروف مظبوطة 100 × 100


28 رد (ردود) على هذا الموضوع

#16 banader22

banader22

    عضو

  • الأعضــاء
  • 11 مشاركة

تاريخ المشاركة 24 December 2005 - 02:45 PM

اخواني مشكورين على الجهد المبذول ولكن بعد إذنكم انا حاب استخدم الداله او اضيفها على البرنامج عندي اي على الديفلوبر افيدوني هل اضيف txt او اضيف desplay item

اعذروني لأنني مبتدأ واحاول استفيد

#17 banader22

banader22

    عضو

  • الأعضــاء
  • 11 مشاركة

تاريخ المشاركة 25 December 2005 - 12:09 PM

شباب مشكوريين على الجهد الرائع وماشاء الكل كان محتاج مثل هذه البكجات الحلوة اللي تثري اي برنامج ولكن اخواني اود ان اضيف هذا الباكج إلى برنامجي اي اضيفه إلى الفورم بصراحة حاولت ان انشئ له package space و package body ولكن لا يقبل هذا طبعاَ بعد إضافة item من نوع text item في data base

ارجو الإستفادة من هذا الموضوع بقدر الإمكان
مع العلم انني مبتدأ
ولكم جزيل الشكر

ملفات مرفقة

  • ملف مرفق  Abraj_20.jpg   238.93كيلو   65 عدد مرات التحميل


#18 Mugaid

Mugaid

    عضو

  • الأعضــاء
  • 38 مشاركة

تاريخ المشاركة 25 December 2005 - 01:10 PM

SQL> SELECT Convert_Number.get_text (1000048)
  2    FROM DUAL; CONVERT_NUMBER.GET_TEXT(100048)
-------------------------------------------
واحد مليون و ثمانية و اربعون


مشكورين على المشاركات الحلوه والمفيده وانا عندي سؤال في المثال الي فوق هل استطيع الاكتفاء بكتابه:

مليون و ثمانية و اربعون بدلا من واحد مليون و ثمانية و اربعون

وشكراااا :D :( :)

#19 banader22

banader22

    عضو

  • الأعضــاء
  • 11 مشاركة

تاريخ المشاركة 26 December 2005 - 10:22 AM

يا اخ mm_taha مشكور على الجهد المبذول اتمنى ان تساعدني على اضافة هذا العمل لمشروعي اي اضافته على الفورم اذا ممكن وعلى فكرة انا حاولت إضافة هذا العمل بعمل pacakage space و package body وهذا طبعا بعد اضافة حقل للجدول وهو text ولكن كان دائما يظهر لي error على اساس انه المصادر غلط ارجو المساعدة في هذا الجانب .

#20 mm_taha

mm_taha

    مشترك

  • الأعضــاء
  • 112 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 28 December 2005 - 11:41 AM

معزرة أخ mo_gho فعلا هذة الباكج بودى ناقصة الدالة to_text
معزرة مرة أخرى الى الجميع ولكن هذا الخطأ غير مقصود وهذة هى الباكج الصحيحة


CREATE OR REPLACE PACKAGE convert_number
AS
   FUNCTION get_text (num IN VARCHAR2)
      RETURN VARCHAR2;

   FUNCTION get_possion (i IN NUMBER)
      RETURN NUMBER;

   FUNCTION to_text (num IN VARCHAR2)
      RETURN VARCHAR2;

   FUNCTION to_text (num IN VARCHAR2, cur IN VARCHAR2)
      RETURN VARCHAR2;
END convert_number;
/

CREATE OR REPLACE PACKAGE BODY convert_number
AS
   FUNCTION get_possion (i IN NUMBER)
      RETURN NUMBER
   IS
      p   NUMBER;
   BEGIN
      p := i MOD 3;

      IF p = 2
      THEN
         p := -1;
      END IF;

      RETURN p;
   END;

   FUNCTION get_text (num IN VARCHAR2)
      RETURN VARCHAR2
   IS
      n                VARCHAR2 (20);
      text             VARCHAR2 (20);
      number_in_text   VARCHAR2 (2000);
      CATEGORY         VARCHAR2 (20);
      follow           VARCHAR2 (2);
      t                VARCHAR2 (20);
      /* the number string in the new order */
      l                NUMBER;                    /* the length of number  */
      m                NUMBER          := 0;
      /* the addition number so l can be devided by 3 */
      loop_counter     NUMBER;
   BEGIN
      l := LENGTH (num);

      IF l MOD 3 = 1
      THEN
         m := 2;
      ELSIF l MOD 3 = 2
      THEN
         m := 1;
      END IF;

      n := LPAD (num, l + m, 0);

      FOR loop_counter IN 1 .. l + m
      LOOP
         t :=
            t || SUBSTR (n, loop_counter + get_possion (loop_counter - 1), 1);
      END LOOP;

      FOR loop_counter IN REVERSE 1 .. l + m
      LOOP
         IF SUBSTR (t, loop_counter, 1) <> '0'
         THEN
            IF get_possion (loop_counter) = -1
            THEN
               IF     SUBSTR (t, loop_counter, 1) = '1'
                  AND SUBSTR (t, loop_counter + 1, 1) = '1'
               THEN
                  text := 'إحدى ';
               ELSIF     SUBSTR (t, loop_counter, 1) = '1'
                     AND (l = 4 AND loop_counter <> 2)
               THEN
                  text := 'واحد ';
               ELSIF SUBSTR (t, loop_counter, 1) = '1' AND l <> 4
               THEN
                  text := 'واحد ';
               ELSIF     SUBSTR (t, loop_counter, 1) = '2'
                     AND SUBSTR (t, loop_counter + 1, 1) = '1'
               THEN
                  text := 'اثنا ';
               ELSIF     SUBSTR (t, loop_counter, 1) = '2'
                     AND (l = 4 AND loop_counter <> 2)
               THEN
                  text := 'اثنين ';
               ELSIF SUBSTR (t, loop_counter, 1) = '2' AND l <> 4
               THEN
                  text := 'اثنين ';
               ELSIF SUBSTR (t, loop_counter, 1) = '3'
               THEN
                  text := 'ثلاثة ';
               ELSIF SUBSTR (t, loop_counter, 1) = '4'
               THEN
                  text := 'اربعة ';
               ELSIF SUBSTR (t, loop_counter, 1) = '5'
               THEN
                  text := 'خمسة ';
               ELSIF SUBSTR (t, loop_counter, 1) = '6'
               THEN
                  text := 'ستة ';
               ELSIF SUBSTR (t, loop_counter, 1) = '7'
               THEN
                  text := 'سبعة ';
               ELSIF SUBSTR (t, loop_counter, 1) = '8'
               THEN
                  text := 'ثمانية ';
               ELSIF SUBSTR (t, loop_counter, 1) = '9'
               THEN
                  text := 'تسعة ';
               END IF;
            ELSIF get_possion (loop_counter) = 0
            THEN
               IF     SUBSTR (t, loop_counter, 1) = '1'
                  AND SUBSTR (t, loop_counter - 1, 1) = '0'
               THEN
                  text := 'عشرة ';
               ELSIF SUBSTR (t, loop_counter, 1) = '1'
               THEN
                  text := 'عشر ';
               ELSIF SUBSTR (t, loop_counter, 1) = '2'
               THEN
                  text := 'عشرون ';
               ELSIF SUBSTR (t, loop_counter, 1) = '3'
               THEN
                  text := 'ثلاثون ';
               ELSIF SUBSTR (t, loop_counter, 1) = '4'
               THEN
                  text := 'اربعون ';
               ELSIF SUBSTR (t, loop_counter, 1) = '5'
               THEN
                  text := 'خمسون ';
               ELSIF SUBSTR (t, loop_counter, 1) = '6'
               THEN
                  text := 'ستون ';
               ELSIF SUBSTR (t, loop_counter, 1) = '7'
               THEN
                  text := 'سبعون ';
               ELSIF SUBSTR (t, loop_counter, 1) = '8'
               THEN
                  text := 'ثمانون ';
               ELSIF SUBSTR (t, loop_counter, 1) = '9'
               THEN
                  text := 'تسعون ';
               END IF;
            ELSIF get_possion (loop_counter) = 1
            THEN
               IF SUBSTR (t, loop_counter, 1) = '1'
               THEN
                  text := 'مائة ';
               ELSIF SUBSTR (t, loop_counter, 1) = '2'
               THEN
                  text := 'مائتين ';
               ELSIF SUBSTR (t, loop_counter, 1) = '3'
               THEN
                  text := 'ثلاثمائة ';
               ELSIF SUBSTR (t, loop_counter, 1) = '4'
               THEN
                  text := 'اربعمائة ';
               ELSIF SUBSTR (t, loop_counter, 1) = '5'
               THEN
                  text := 'خمسمائة ';
               ELSIF SUBSTR (t, loop_counter, 1) = '6'
               THEN
                  text := 'ستمائة ';
               ELSIF SUBSTR (t, loop_counter, 1) = '7'
               THEN
                  text := 'سبعمائة ';
               ELSIF SUBSTR (t, loop_counter, 1) = '8'
               THEN
                  text := 'ثمانمائة ';
               ELSIF SUBSTR (t, loop_counter, 1) = '9'
               THEN
                  text := 'تسعمائة ';
               END IF;
            END IF;
         END IF;

         IF    loop_counter = 1
            OR (SUBSTR (t, loop_counter, 1) = '0')
            OR (loop_counter = 2 AND SUBSTR (t, loop_counter - 1, 1) = '0')
            OR (loop_counter = 3 AND SUBSTR (t, loop_counter - 2, 2) = '00')
            OR (    get_possion (loop_counter) = 0
                AND SUBSTR (n, loop_counter - 1, 1) = 1
               )
         THEN
            follow := '';
         ELSE
            follow := 'و ';
         END IF;

         IF SUBSTR (n, loop_counter - 3, 3) <> '000'
         THEN
            IF (l + m - loop_counter = 11 AND l > 12)
            THEN
               CATEGORY := 'بليار ';
            ELSIF (l + m - loop_counter = 8 AND l > 9)
            THEN
               CATEGORY := 'بليون ';
            ELSIF (l + m - loop_counter = 5 AND l > 6)
            THEN
               CATEGORY := 'مليون ';
            ELSIF (l + m - loop_counter = 2 AND l = 4
                   AND SUBSTR (n, 3, 1) = '2'
                  )
            THEN
               CATEGORY := 'الفين ';
            ELSIF (    l + m - loop_counter = 2
                   AND l = 4
                   AND SUBSTR (n, 3, 1) NOT IN ('1', '2')
                  )
            THEN
               CATEGORY := 'الاف ';
            ELSIF (l + m - loop_counter = 2 AND l = 5
                   AND SUBSTR (n, 2, 2) = '10'
                  )
            THEN
               CATEGORY := 'الاف ';
            ELSIF (l + m - loop_counter = 2 AND l > 3)
            THEN
               CATEGORY := 'الف ';
            END IF;
         END IF;

         number_in_text := CATEGORY || follow || text || number_in_text;
         CATEGORY := '';
         text := '';
      END LOOP;

      RETURN number_in_text;
   END;

   FUNCTION to_text (num IN VARCHAR2)
      RETURN VARCHAR2
   IS
      str   VARCHAR2 (10000);
   BEGIN
      str := get_text (TRUNC (num));
      RETURN str;
   END;

   FUNCTION to_text (num IN VARCHAR2, cur IN VARCHAR2)
      RETURN VARCHAR2
   IS
      str            VARCHAR2 (10000);
      integer_v      NUMBER;
      integer_str    VARCHAR2 (10000);
      integer_cur    VARCHAR2 (10000);
      fraction_v     NUMBER;
      fraction_str   VARCHAR2 (10000);
      fraction_cur   VARCHAR2 (10000);
   BEGIN
      integer_v := TRUNC (num);
      fraction_v := (ROUND (num, 2) - TRUNC (num)) * 100;

      IF cur = 'EGP'
      THEN
         integer_cur := ' جنيه';
         fraction_cur := ' قرش';
      ELSIF cur = 'USD'
      THEN
         integer_cur := ' دولار';
         fraction_cur := ' سنت';
      ELSIF cur = 'SR'
      THEN
         integer_cur := ' ريال';
         fraction_cur := ' هلله';
      END IF;

      IF integer_v = 0
      THEN
         integer_str := TO_CHAR (NULL);
      ELSE
         integer_str := get_text (integer_v) || integer_cur;
      END IF;

      IF fraction_v = 0
      THEN
         fraction_str := TO_CHAR (NULL);
      ELSE
         IF integer_v = 0
         THEN
            fraction_str := get_text (fraction_v) || fraction_cur;
         ELSE
            fraction_str := ' و ' || get_text (fraction_v) || fraction_cur;
         END IF;
      END IF;

      str := integer_str || ' ' || fraction_str;
      RETURN '  فقط ' || str || ' لا غير';
   END;
END convert_number;
/


#21 mm_taha

mm_taha

    مشترك

  • الأعضــاء
  • 112 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 28 December 2005 - 12:01 PM

الأخ banader22 هذا مثال على الفورم

ملفات مرفقة



#22 banader22

banader22

    عضو

  • الأعضــاء
  • 11 مشاركة

تاريخ المشاركة 28 December 2005 - 03:33 PM

بسم الله الرحمن الرحيم

ياشباب يعطيكم الف عافية على الجهد المطلوب لكن بصراحة عندي طلب بسيط بصراحة واجهت صعوبة في إضافة هذا الكود على البرنامج اللي عندي في الديفيلوبر .
الرجاء المساعدة بتبيين الخطوات

#23 banader22

banader22

    عضو

  • الأعضــاء
  • 11 مشاركة

تاريخ المشاركة 28 December 2005 - 04:09 PM

بسم الله الرحمن الرحيم

مشكوووووووووووووووور على الفورم يا mm_tahaجزاك الله خير ويعطيك الف عافية

ملفات مرفقة

  • ملف مرفق  Arabic_5.jpg   872.52كيلو   54 عدد مرات التحميل


#24 abumohamad

abumohamad

    مشترك

  • الأعضــاء
  • 87 مشاركة

تاريخ المشاركة 12 June 2006 - 02:37 PM

مشكووووووووووووووووووووووووووور
بارك الله فيك وصراحة مجهود تشكر عليه يا استاذ banader22
ولمزيد من التوفيق

#25 ابوسراج

ابوسراج

    عضو

  • الأعضــاء
  • 34 مشاركة

تاريخ المشاركة 13 June 2006 - 06:35 AM

حيرتوني ياجماعة :D أي كود أعتمد فيهم أفيدوني برد رقم كم؟؟ وأخذه وأطبقه عندي

#26 MuhammadYassein

MuhammadYassein

    عضو نشط

  • الأعضــاء
  • 304 مشاركة
  • الاسم الأول:Muhammad
  • اسم العائلة:Yassein
  • البـلـد: Country Flag
  • الاهتمامات:Oracle
    SOA
    BPM
    ADF
    Java
    Forms
    Reports
    Analysis
  • المنصب الحالي:Senior Oracle SOA BPM Specialist

تاريخ المشاركة 28 December 2006 - 10:18 PM

مشكوووووووووووووووووووووووور
مشكوووووووووووووووووووووووور
مشكوووووووووووووووووووووووور
مشكوووووووووووووووووووووووور

اللهم اني احبك ... و احب من يحبك ... و احب كل عمل يقربني الى حبك ... اللهم أني أسألك رضاك و عفوك وجنة الفردوس

 
 
public void myInfo{

String myName    = "محمد ياسين" ;
String myCountry = "مصر ام الدنيا" ;
String MyGod     = "لا اله الا الله"; 
String myProphet = "محمد رسول الله";
String MyBook    ="القرآن العظيم";
String myGoal    ="جنة الفردوس";
boolean stillLife = true;


while(stillLife){
        System.out.println("لا اله الا الله محمد رسول الله");
}

}

 

979213111.jpg

 

 

Contact me now ..

 

 - Facebook - Linkedin - Youtube  - Twitter


#27 hamzeh_orcl

hamzeh_orcl

    عضو

  • الأعضــاء
  • 9 مشاركة

تاريخ المشاركة 08 June 2008 - 12:13 PM

مشكورين على هذا العمل الرائع لكن انا جربتوه على sql زبط وكل شي تمام لكن عندما اجربو على الفور واعمل مناداه للفنكشن ما بيزبط على كل الارقام ارجو من الاخوة الاعزاء ان يبعثو لي طريقة المناداة الصحيحة للفنكشن اي اريد ان اعمل تيكست للارقام وتيكست للاحرف ويحول من ارقام الى احرف عن طريق كبسة زر .

واقبلوا فائق الاحترام


#28 Wise

Wise

    عضو نشط

  • الأعضــاء
  • 416 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 13 August 2008 - 02:20 PM

جزاك الله خيرا
اللهم اقسم لنا من خشيتك ما تحول به بيننا و بين معصيتك ..
ومن طاعتك ما تبلغنا به جنتك ..
و من اليقين ما تهون به علينا مصائب الدنيا..




مواضيعي

-----------

مشروع المخازن و فواتير مشتريات و مبيعات و حسابات عملاء و موردين
----------------------------------------------------------------------
تحليل مشروع المخازن و حسابات العملاء والموردين

#29 HamzaAnwer

HamzaAnwer

    عضو

  • الأعضــاء
  • 3 مشاركة

تاريخ المشاركة 01 November 2015 - 10:36 AM

جزاكم الله خيرا