قواعد المشاركة في المنتدى

(منتدى الأكسس) الموضوع:أطلب منكم المشاركة ببعض المعلومات حول مشكلة واجهتني باسم القاعدة عند رغبتي بتغيير اسمها توجد صورة معبرة له بواسطة: (فوفو العسل1) :: (منتدى الأكسس) الموضوع:حل مشكلة الحروج والدخول البرمجي بواسطة: (دسكفري) :: (منتدى الأكسس) الموضوع:التخطيط البيانى بواسطة: (omar19-3) :: (منتدى الأكسس) الموضوع:عمل اطار ل 10 سجلات في تفصيل التقرير بواسطة: (abualayham) :: (منتدى Microsoft Visual Basic) الموضوع:ماهو كود لـ previous next record first last بواسطة: (السيده زينب) :: (القسم المفتوح) الموضوع:خواطر رائعة للاطفال‏ بواسطة: (kkarem55) :: (منتدى الأكسس) الموضوع:ممكن ايجاد العلاقة الصحيحه بين جدولين بواسطة: (لهفة حنين) :: (القسم المفتوح) الموضوع:مع كل وداع ستتعلم بواسطة: (kkarem55) :: (قسم الدعم الفني) الموضوع:عندى فولدر مخفى وكلما اظهره يختفى بواسطة: (ramies) :: (القسم المفتوح) الموضوع:ابتسم بواسطة: (kkarem55) :: (القسم المفتوح) الموضوع:من هم الذين تستجاب دعواتهم بواسطة: (kkarem55) :: (القسم المفتوح) الموضوع:باللين تمتلك القلوب بواسطة: (kkarem55) :: (قسم التعاميم والشكاوي) الموضوع:أجمل التهاني للأخت Leema لتوليها الإشراف على القسم المفتوح بواسطة: (ramies) :: (القسم المفتوح) الموضوع:حكم‏ بواسطة: (ramies) :: (القسم المفتوح) الموضوع:الجدار الفولازى بواسطة: (kkarem55) :: (منتدى Microsoft Excel) الموضوع:كيف اعرف عدد الصفحات فى الملف بواسطة: (junkbki) :: (منتدى الأكسس) الموضوع:الاعداد بعد العلامة العشرية بواسطة: (freenew) :: (منتدى مبرمجي ASP.NET) الموضوع:مشروع موقع إخباري تفاعلي بواسطة: (hex-dmx) :: (منتدى مبرمجي Microsoft Visual VB.NET) الموضوع:هل استطيع طباعة الفورم - مشكلة في OleDbDataAdapter بواسطة: (jbsa) :: (منتدى الأكسس) الموضوع:تعديل على قاعدة البيانات بواسطة: (somame)


شاركوا باللقاء الصحفي لهذا الشهر


المواضيع المثبته: (منتدى Microsoft Visual Basic) الموضوع:دورة التعامل مع Data Report باستخدام ADODC ( شرح بالصور ) بواسطة: (Max Bayne) :: (قسم المواضيع المميزة) الموضوع:تحديث قاعدة بيانات لدى عميل عن طريق الإنترنت... بواسطة: (أبو رهف) :: (منتدى نظام تشغيل Linux) الموضوع:أوامر لينكس بواسطة: (khaled helal) :: (منتدى الوورد والباور بوينت) الموضوع:مكتبة الوورد بواسطة: (ramies) :: (منتدى ADO.NET العام) الموضوع:الطريقة السهلة لربط سي شارب بقاعدة بيانات اكسيس بواسطة: (kal7hos) :: (منتدى البرامج) الموضوع:برنامج القرآن الكريم كاملاً مع التفسير بواسطة: (tarik-2007) :: (منتدى الكتب و المقالات) الموضوع:الشرح الكامل التفصيلي المصور لمعرفة نسخة الأكسيس وتخفيض الأمان برمجيا بواسطة: (zahrah) :: (قسم المواضيع المميزة) الموضوع:كل موضوع تم شرحه فيديو هنا بواسطة: (startnet) :: (منتدى أنظمة الشبكات وأمنها) الموضوع:طريقة عمل شبكة لاسلكية بين جهازين او أكثر ..اكس بي.. لمشاركة الملفات والإنترنت بواسطة: (مرحبا الساع) :: (منتدى الوورد والباور بوينت) الموضوع:دورة انتاج برامج تفاعلية بإستخدام الباور بوينت بواسطة: (خليل إبراهيم) :: (منتدى مبرمجي لغة جافا JAVA) الموضوع:شرح أكواد الجافا بواسطة: (الردادي) :: (قسم الدروس و الدورات) الموضوع:دورة شاملة في VB.Net المستوى الأول بواسطة: (مهند عبادي) :: (أخبار التكنولوجيا) الموضوع:مع جوجل : ترجم أي موقع E الى العربية . بواسطة: (عبد الرحمن) :: (قسم الدروس و الدورات) الموضوع:دروس بالفيديو في VB.NET 2005 بواسطة: (HnHn) :: (منتدى الكتب الالكترونية) الموضوع:مجموعة كبيرة من السرفرات بواسطة: (يوسف) :: (منتدى ADO.NET العام) الموضوع:شرح ado.net بواسطة: (شهرزاد) :: (لغة PHP) الموضوع:دوره بي اتش بي بالفيديو php video tutorial بواسطة: (blackmanblack) :: (قسم الدروس و الدورات) الموضوع:لتحميل مجموعة امثله على الفيجوال بيسيك دوت نت 2005 بواسطة: (HnHn) :: (منتدى برمجة الألعاب) الموضوع:أسس تصميم الألعاب ال3Dالتفاعلية بواسطة: (مصطفي البارودي) :: (منتدى برمجة الألعاب) الموضوع:اعلان هام بواسطة: (مصطفي البارودي)

عدد الصفحات : 2  1  2   > » إضافة رد إضافة موضوع جديد

> تفقيط الأرقام للغة العربية تحت بيئة oracle pl sql
Bookmark and Share
تقييم الموضوع Label معدل التقيم:0
مشاركةالسبت,02/فر/1426 هـ,04:54 مساءً
المشاركة #1

الرتبة في المنتدى:رقيب

أيقونة المجموعة

المجموعة: الأعضاء
المشاركات: 10
سجل في:السبت,02/فر/1426 هـ,12:57 مساءً
الدولة:الكويت
رقم العضوية: 2017



من عنده تفقيط أرقام عربي oracle pl/sql
بس مجرب وخالي من الشواءب والكولسترول



وفوق كل ذي علم علــــــــــــــــــــــــــيم

وجزاكم الله عنا خير الجزاء

عدنان
---------------------
جيتكم أبـحث عن التفقيط
لقـيت أحـــلى مـن التفقيط
حب العلم من دون تـفريط
والمساعدة من غير تنقيط


--------------------
للأعلىأبلغ المشرف عن هذه المشاركة
لتعقيب على هذه المشاركة مباشرة
مشاركةالأحد,03/فر/1426 هـ,08:40 صباحاً
المشاركة #2

الرتبة في المنتدى:رقيب

أيقونة المجموعة

المجموعة: أعضاء الشرف
المشاركات: 97
سجل في:الخميس,09/شعبان/1425 هـ,08:02 صباحاً
الدولة:فلسطين
رقم العضوية: 40



السلام عليكم
ممكن تسأل بلغة واضحة حتى أستطيع أن أفهم .


--------------------
للأعلىأبلغ المشرف عن هذه المشاركة
لتعقيب على هذه المشاركة مباشرة
مشاركةالأحد,03/فر/1426 هـ,08:56 صباحاً
المشاركة #3

الرتبة في المنتدى:رقيب

أيقونة المجموعة

المجموعة: الأعضاء
المشاركات: 10
سجل في:السبت,02/فر/1426 هـ,12:57 مساءً
الدولة:الكويت
رقم العضوية: 2017



وعليكم السلام ورحمة الله وبركاته ,

التفقيط هو تحويل الأرقام إلى حروف وكلمات وتستخدم غالبا في الشيكات
مع مراعاة اللغة العربية والقواعد وهي مهمة ليست بالسهلة , وقد وجدت عدة كودات لهذا
الغرض في منتداكم الكريم والذي كان سببا في دخولي في منتداكم

وبحثي أنا هو هذا التفقيط بلغة Oracle PL/SQL
وقد جربت بعضاً منها ولكن وجدتها مشوبة ببعض المشاكل ومحدودة

آمل أن تكون لغتي أوضح هذه المرة ...

والسلام عليكم ورحمة الله وبركاته

عدنان
---------------------
جيتكم أبـحث عن التفقيط
لقـيت أحـــلى مـن التفقيط
حب العلم من دون تـفريط
والمساعدة من غير تنقيط


--------------------
للأعلىأبلغ المشرف عن هذه المشاركة
لتعقيب على هذه المشاركة مباشرة
مشاركةالأحد,03/فر/1426 هـ,12:14 مساءً
المشاركة #4

الرتبة في المنتدى:رقيب

أيقونة المجموعة

المجموعة: أعضاء الشرف
المشاركات: 97
سجل في:الخميس,09/شعبان/1425 هـ,08:02 صباحاً
الدولة:فلسطين
رقم العضوية: 40



السلام عليكم



 كود
CREATE OR REPLACE FUNCTION formatnumber (no number,type number,des varchar2) RETURN varchar2 IS
t varchar2(3);
desc1 varchar2(200);
desc2 varchar2(200);
desc3 varchar2(200);
desc4 varchar2(200);
p varchar2(10);
a varchar2(2);
n number;
BEGIN
desc4:=des;
t:=lpad(to_char(no),3,'0');
a:=substr(t,1,1);
select decode(a,'0',null,
'1','مائة',
'2','مائتان ',
'3','ثلاثة مائة',
'4','اربعمائة',
'5','خمسة مائة',
'6','ستة مائة',
'7','سبعة مائة',
'8','ثمانيمائة',
'9','تسعة مائة')
into desc1
from dual;
a:=substr(t,2,2);
if a<> '00' then
a:=substr(t,2,1);
select decode(a,'0',null,
'1','عشرة',
'2','عشرون',
'3','ثلاثون',
'4','اربعون',
'5','خمسون',
'6','ستون',
'7','سبعون',
'8','ثمانون',
'9','تسعون')
into desc2
from dual;
a:=substr(t,3,1);
select decode(a,'0',null,
'1','واحد',
'2','اثنين',
'3','ثلاثة',
'4','اربعة',
'5','خمسة',
'6','ستة',
'7','سبعة',
'8','ثمانية',
'9','تسعة')
into desc3
from dual;
if substr(t,2,1) = '1' and substr(t,3,1)= '1' then
desc3 := 'إحدى';
elsif substr(t,2,1) = '1' and substr(t,3,1) = '2' then
desc3 := 'اثنا';
end if;
end if;
-----------------------------------------------------------------------------
if desc4 is not null and desc1 is not null then
desc4 := desc4||' و'||desc1;
elsif desc4 is null and desc1 is not null then
desc4 := desc1;
end if;
if not (t in('001','002') and type in (1,2,3)) then
if desc4 is not null and desc3 is not null then
desc4 := desc4||' و'||desc3;
elsif desc4 is null and desc3 is not null then
desc4 := desc3;
end if;
end if;
if desc4 is not null and desc2 is not null then
if substr(t,2,1) <> '1' then
desc4 := desc4||' و'||desc2;
elsif substr(t,2,1) ='1' and substr(t,3,1) ='0' then
desc4 := desc4||' و'||desc2;
else
desc4 := desc4||desc2;
end if;
elsif desc4 is null and desc2 is not null then
desc4 := desc2;
end if;

n :=to_number(substr(t,1,3));
if type = 1 then
if n=1 or n>=11 then
p := 'بليون';
elsif n=2 then
p := 'بليونان';
else
p := 'بلايين';
end if;
elsif type = 2 then
if n = 1 or n >= 11 then
p := 'مليون';
elsif n = 2 then
p := 'مليونان';
else
p := 'ملايين';
end if;
elsif type = 3 then
if n=1 or n>=11 then
p := 'ألف';
elsif n=2 then
p := 'ألفان';
else
p := 'آلاف';
end if;
end if;
desc4 := desc4 ||' '||p;
return(desc4);

END;


create the above function first .



 كود
CREATE OR REPLACE FUNCTION no2txt(x number)
RETURN varchar2 IS
dsc varchar2(200);
d varchar2(100);
a number;
no number;
w number;
ln number;
BEGIN
d := to_char(x);
ln := length(d);
w := instr(d,'.',1);
if w <> 0 then
a := w-1;
elsif w = 0 then
a := ln;
end if;
if a <= 12 then
no := trunc(X * 0.000000001);
if no >= 1 then
dsc := formatnumber(no,1,dsc);
end if;

no := trunc((X * 0.000000001 - trunc(X * 0.000000001)) * 1000) ;
if no >= 1 then
dsc := formatnumber(no,2,dsc);
end if;

no := trunc((X * 0.000001 - trunc(X * 0.000001)) * 1000) ;
if no >= 1 then
dsc := formatnumber(no,3,dsc);
end if;

no := trunc((X * 0.001 - trunc(X * 0.001)) * 1000) ;
if no >= 1 then
dsc := formatnumber(no,4,dsc);
end if;
if dsc is not null then
dsc := dsc||' دينار';
end if;

no := trunc((X - trunc(X)) *100);
if no > 0 then
dsc := formatnumber(no,4,dsc)||' قرش';
end if;
return(dsc||' فقط لا غير.');
end if;

END;

create the above function
ثم جرب

select (555) from dual


--------------------
للأعلىأبلغ المشرف عن هذه المشاركة
لتعقيب على هذه المشاركة مباشرة
مشاركةالاثنين,04/فر/1426 هـ,09:38 صباحاً
المشاركة #5

الرتبة في المنتدى:رقيب

أيقونة المجموعة

المجموعة: الأعضاء
المشاركات: 10
سجل في:السبت,02/فر/1426 هـ,12:57 مساءً
الدولة:الكويت
رقم العضوية: 2017



السلام عليكم ورحمة الله وبركاته

أشكرك جزيل الشكر على هذا الكود والمساعدة

حقيقة جربت أكثر من كود لهذا الغرض
وبصراحة هذا من أنظف وأبسط الأكواد التي رأيتها
ولكن عندي ملاحظات بسيطة جدا

عندما تجرب رقما أكبر من 1,000,000 مليون لا يعمل ويعطي خطأ
وذلك سببه تعريف صغير قليلا
p varchar2(10);
فيجب أن تكبر الطول قليلا حتى يسع مليونان وهكذا
وسأستمر في اختبارها ...
بس بصراحة تحية لك وللإخوان جميعا

ولقد وجدت أنا أيضا كود من أحد الزملاء وعدلت فيه قليلا واعتمدت عليه في عملي
ألقي نظري يمكن يعجبك .. واعطني feedback

للإستخدام :
SELECT only_ar.f_only(555) FROM dual


ملاحظة : افتح الملف المرفق برنامج مثل write
حتى يتسنى قراءة العربي بسهولة

والسلام ختام
عدنان

-------------------
وما نيل المطالب بالتنمي ولكن تأخذ الدنيا غلابا



الملفات المرفقة
 ONLY_AR.html ( 6.19ك ) عدد مرات التنزيل: 686


--------------------
للأعلىأبلغ المشرف عن هذه المشاركة
لتعقيب على هذه المشاركة مباشرة
مشاركةالأحد,21/ربيع الأول/1428 هـ,01:00 مساءً
المشاركة #6

الرتبة في المنتدى:ملازم

أيقونة المجموعة

المجموعة: الأعضاء
المشاركات: 144
سجل في:الجمعة,15/محرم/1428 هـ,07:55 صباحاً
الدولة:المغرب
رقم العضوية: 19137



ألف ألف ألف
شكر


--------------------
لا اله الا الله محمد رسول الله

للأعلىأبلغ المشرف عن هذه المشاركة
لتعقيب على هذه المشاركة مباشرة
مشاركةالخميس,01/جمادى الأولى/1428 هـ,11:36 صباحاً
المشاركة #7

الرتبة في المنتدى:رقيب

أيقونة المجموعة

المجموعة: الأعضاء
المشاركات: 1
سجل في:الخميس,01/جمادى الأولى/1428 هـ,11:21 صباحاً
الدولة:مصر
رقم العضوية: 25964




السلام عليكم ورحمة الله وبركاته
تلك هى اول مشاركة لى فى هذا المنتدي المحترم ؛ وبما انها اول مشاركة لى فقد ارفقت لكم هدية بها كل الارقام وتحويلها الى اللغة العربية فتقبلوها منى
اخوكم
ميجا


الملفات المرفقة
 function التي أعطيها رقم وتعيده كتابتاُ.rar ( 1.48ك ) عدد مرات التنزيل: 364


--------------------
للأعلىأبلغ المشرف عن هذه المشاركة
لتعقيب على هذه المشاركة مباشرة
مشاركةالثلاثاء,03/رجب/1428 هـ,01:07 صباحاً
المشاركة #8

الرتبة في المنتدى:رقيب

أيقونة المجموعة

المجموعة: الأعضاء
المشاركات: 21
سجل في:الخميس,17/ذو القعدة/1427 هـ,02:47 صباحاً
الدولة:السودان
رقم العضوية: 16360



أشكرك جزيل الشكر على هذا الكود



--------------------
للأعلىأبلغ المشرف عن هذه المشاركة
لتعقيب على هذه المشاركة مباشرة
مشاركةالأربعاء,09/شعبان/1428 هـ,08:50 مساءً
المشاركة #9

الرتبة في المنتدى:رقيب

أيقونة المجموعة

المجموعة: الأعضاء
المشاركات: 7
سجل في:الثلاثاء,08/شعبان/1428 هـ,02:24 مساءً
الدولة:مصر
رقم العضوية: 32800



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


--------------------
للأعلىأبلغ المشرف عن هذه المشاركة
لتعقيب على هذه المشاركة مباشرة
مشاركةالخميس,16/رمضان/1428 هـ,05:33 مساءً
المشاركة #10

الرتبة في المنتدى:رقيب

أيقونة المجموعة

المجموعة: الأعضاء
المشاركات: 21
سجل في:الخميس,23/فر/1427 هـ,02:38 مساءً
الدولة:مصر
رقم العضوية: 9299



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


--------------------
للأعلىأبلغ المشرف عن هذه المشاركة
لتعقيب على هذه المشاركة مباشرة

    

عدد المتصفحين لهذا المنتدى «1»: (الضيوف «1» - المتخفون «0»)
الأعضاء «0»: .

عدد الصفحات : 2  1  2   > » إضافة رد جديد إضافة موضوع جديد



 
الوقت الأن:اليوم,04:46 صباحاً بتوقيت القدس المحتلة

Powered By arabmoheet v3.1

منتديات المحيط العربي  -  راسلنا  -   أعلى
X   رسالة المنتدى
(سوف يتم اغلاق هذه النافذة بعد 2 ثانية)
X   رسالة المنتدى
(سوف يتم اغلاق هذه النافذة بعد 2 ثانية)