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

(منتدى الأكسس) الموضوع:إضافة البيانات لجدول اخر بواسطة: (startnet) :: (منتدى الأكسس) الموضوع:سؤال لمحترفى الاكسس بواسطة: (startnet) :: (منتدى مبرمجي Microsoft Visual C#.NET) الموضوع:سؤال حول استقبال بريد إلكتروني بواسطة: (mostafa111) :: (منتدى Microsoft Excel) الموضوع:ارجو المساعدة ولكم خالص الدعاء بواسطة: (أبوجريد) :: (منتدى الأكسس) الموضوع:طريقة فتح ملف محمي ؟ بواسطة: (startnet) :: (منتدى الأكسس) الموضوع:فكرة قوائم جانبية بواسطة: (ABDO1953) :: (منتدى الأكسس) الموضوع:كيف يمكن طباعة اكثر من تقرير فى صفحة واحدة بواسطة: (arafa2003) :: (قسم الاعلانات) الموضوع:سيرفرات جديدة بأسعار خيالية بواسطة: (DCI.net.SA) :: (منتدى الأكسس) الموضوع:تعديل على مربع التحرير والسرد بواسطة: (al3arabi) :: (منتدى ADO.NET العام) الموضوع:لغة HTML ملخص و لا أروع بواسطة: (aassaa) :: (منتدى مبرمجي Microsoft Visual VB.NET) الموضوع:اعطوني نصائحكم .. بواسطة: (iman.i) :: (منتدى الأكسس) الموضوع:يرجى المساعدة بواسطة: (startnet) :: (لغة PHP) الموضوع:استوديو تصوير احترافي...مساعدة بواسطة: (اميرة99) :: (منتدى Microsoft Excel) الموضوع:نموذج إقرار بواسطة: (sft) :: (القسم المفتوح) الموضوع:صور وكأنها عقد من اللؤلؤ بواسطة: (alleventsall) :: (منتدى الأكسس) الموضوع:المتوسط المرجح لحساب تكلفة المخزون بواسطة: (ahmed liteef) :: (منتدى الأكسس) الموضوع:شروحات بالفيديو بواسطة: (أبو رهف) :: (منتدى مبرمجي Microsoft Visual VB.NET) الموضوع:نافذة تنبيه بواسطة: (unidiamond) :: (منتدى مبرمجي Microsoft Visual C#.NET) الموضوع:صلاحيات المستخدمين بواسطة: (عقل برمجي) :: (القسم المفتوح) الموضوع:رسائل صباح - وسائط الصباح بواسطة: (alleventsall)


ماسنجر المحيط العربي

كتاب عن الأعمــــال الصالحة المستمــرة للإنســـان بعد وفاته


المواضيع المثبته: (منتدى Microsoft SQL Server) الموضوع:يومياً أسئلة sql server مجاناً بواسطة: (m.atassi) :: (منتدى ADO.NET العام) الموضوع:الطريقة السهلة لربط سي شارب بقاعدة بيانات اكسيس بواسطة: (kal7hos) :: (منتدى تصميم صفحات الويب) الموضوع:الجافا سكريبت في كتاب بواسطة: (amricost) :: (منتدى الدعم الفني للماسنجر المحيط العربي) الموضوع:اقتراحات تطوير الماسنجر بواسطة: (jbsa) :: (Oracle قسم قواعد البيانات أوراكل) الموضوع:Oracle Online Documentation .. best resource of Info about Oracle بواسطة: (adnan_som) :: (منتدى مبرمجي Microsoft Visual VB.NET) الموضوع:المخازن المتطور الاصدار الثانى بواسطة: (alaa gomaa) :: (Oracle قسم قواعد البيانات أوراكل) الموضوع:اعداد و تنصيب اوراكل 9i ويندز NT/2000/XP بواسطة: (oracle_egypt) :: (منتدى Microsoft Excel) الموضوع:مكتبة اكسيل كاملة - عربى - انجليزى بواسطة: (junkbki) :: (قسم البرامج الجاهزة و الاكواد) الموضوع:مشروع طبيب الاسنان مع السورس كود بواسطة: (ITPROGRAMMER) :: (قسم الدروس و الدورات) الموضوع:دورة مجانية في الفجوال بيسك دوت نيت و خاصة بالمبتدئين بواسطة: (ITPROGRAMMER) :: (منتدى الأكسس) الموضوع:شروحات بالفيديو بواسطة: (startnet) :: (منتدى أجاكس(Asynchronous JavaScript and XML)) الموضوع:نبذة مختصرة عن تعريف تقنية أجاكس بواسطة: (عبدالله جابر شقليه) :: (منتدى Microsoft SQL Server) الموضوع:حصريا:: Microsoft SQL Server 2005,2000 ارجو التثبيت بواسطة: (Djsharawy) :: (منتدى برمجة التقارير) الموضوع:كتاب كريستال ريبورت بواسطة: (شهرزاد) :: (منتدى تحليل و تصميم نظم المعلومات) الموضوع:ما هو تحليل النظم System analysis بواسطة: (jbsa) :: (منتدى برمجة الجرافكس) الموضوع:مجموعة دروس لتعليم الدايركت اكس بواسطة: (alaa gomaa) :: (منتدى Microsoft Visual Basic) الموضوع:نظام إدارة المرتبات للمدارس Salary System 2008 بواسطة: (Max Bayne) :: (Oracle قسم قواعد البيانات أوراكل) الموضوع:بعض ميزات أوركل 10g بواسطة: (وليد القدسي) :: (منتدى Microsoft Excel) الموضوع:دروس إكسل و شرح الدوال و تقنيات متقدمة بواسطة: (صهيب جاويش) :: (منتدى مبرمجي Microsoft Visual C#.NET) الموضوع:Serial Communication with Csharp بواسطة: (Prof.Mendl)

عدد الصفحات : 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

مشرف قسم الأوراكل سابقاً
الرتبة في المنتدى:ملازم

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

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



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


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

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

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

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



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

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

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

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

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

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


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

مشرف قسم الأوراكل سابقاً
الرتبة في المنتدى:ملازم

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

المجموعة: المشرفين القدامى
المشاركات: 99
سجل في:الخميس,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ك ) عدد مرات التنزيل: 2470


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

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

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

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



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


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

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

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

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

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




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


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


--------------------
للأعلىأبلغ المشرف عن هذه المشاركة
لتعقيب على هذه المشاركة مباشرة
مشاركةالثلاثاء,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 ثانية)