الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مشكله أظهار الارقام العربى فى تقارير ireport

بدأه melzaiady في 4 يوليو 2011 · 12 رد · 3,385 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

انا استخدم تقارير Ireport فى انشاء تقارير رسميه ولكن عندى مشكله ان الارقام لاتظهر عربيه

كيف احل هذه المشكله وان تظهر الارقام باللغه العربيه فى التقارير

وشكرا

#2

هل يمكنك إرفاق الكود حتى نستطيع إفادتك؟

597657.png
#3

يمكنك مشاهدة الموضوع التالى

/index.php?showtopic=244097

ان شاء الله بيفيدك بالتوفيق

Software Developer
Mahmoudkelany.com


 

#4

شوف يا اخى

بصراحة الموضوع ماهو سهل لكن اساعدك فيه ان شاء الله

بس الموضوع ده هيبقى حصرى exclusive للفريق العربى للبرمجة

ان شاء الله النهاردة اعمل فيديو يوضح الخطوات اللازمة

موفق


﴿وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنْتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ﴾

الأنفال ۳۳                                  
 

#5

لا يمكنك الاستفادة من عرض الارقام العربية

لانها سوف ترسل بصيغة string

لكن الحل الافضل يمكنك تصدير التقرير

بصيغة RTF

وعن طريق MicroSoft Word يمكنك تحويل الارقام الى العربية

تحياتي

#6
اقتباس

لا يمكنك الاستفادة من عرض الارقام العربية

لانها سوف ترسل بصيغة string

من قال هذا !!!!! الحقول ستظل كماهى واى دوال functions like sum فى التقرير ستظل تعمل بدون ادنى مشكلة

ويتم عرض الارقام العربية فى كل طرق عرض التقرير بداية من report viewer وحتى pdf و word وغيرهم

انظر هذه الصورة

post-165385-022238800 1310030139_thumb.p

التغيير سيكون على الحقل فى العرض فقط ولن يتم اى تغيير على نوع البيانات المرسلة للتقرير

على كل ستضح الفكرة عند عرض الفيديو

وهذا تقرير فى المرفقات

sfdxgcfdgff.pdf

تحياتى

المرفقات
rerftrtg.png


﴿وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنْتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ﴾

الأنفال ۳۳                                  
 

#7

يااخ محمد

ياريت لو تفضلت اضافة كود يحول الارقام الانكليزية الى عربية

ويبقيها بصيغة Integer

ولك جزيل الشكر

تحياتي

#8
alionline كتب:

يااخ محمد

ياريت لو تفضلت اضافة كود يحول الارقام الانكليزية الى عربية

ويبقيها بصيغة Integer

ولك جزيل الشكر

تحياتي

public static <T> String getArabicNumber(T number)
    {
        String s = "" + number;
        s = s.replace('0','\u0660');
        s = s.replace('1','\u0661');
        s = s.replace('2','\u0662');
        s = s.replace('3','\u0663');
        s = s.replace('4','\u0664');
        s = s.replace('5','\u0665');
        s = s.replace('6','\u0666');
        s = s.replace('7','\u0667');
        s = s.replace('8','\u0668');
        s = s.replace('9','\u0669');
        s = s.replace('.',',');
        return s;
    }

استخدمتُ الـ generic حتى يتسنى لك إدخال أرقام من نوع double أو int، وأيضاً يمكنك إدخال String

2
597657.png
#9
اقتباس

ياريت لو تفضلت اضافة كود يحول الارقام الانكليزية الى عربية

ويبقيها بصيغة Integer

اهلا اخى على

مالى احس انك تتكلم وكانها مستحيل :)

الموضوع بسيط جدا

التقرير تتعامل مع الحقل كجزئين الاول هو الحقل القادم من قاعدة البيانات والثانى صندوق النص الذى يعرض قيمة الحقل فى التقرير

يمكنك تغيير نوع البيانات للحقل فى الجزئين وكل منهما منفصل عن الاخر

فالدوال الموجودة فى التقرير تتعامل مع نوع البيانات القادم من قاعدة البيانات ولهذا لن يتغير شئ فى التقرير

اذا نحن سنترك نوع البيانات للحقل القادم من القاعدة كما هو ونغير نوع البيانات لصندوق النص لعرض الحقل الى النوع String

هل تعرف كيف تستخدم مكتبات الجافا داخل التقرير ؟

هذه هى كلمة السر فى الموضوع

انا اتكلم عن تجربة لا اخترع ولا افتى بما لا اعلم :sleep:

تحياتى


﴿وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنْتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ﴾

الأنفال ۳۳                                  
 

#10

اوكي اخ محمد

انا استخدم هذة الدالة لتحويل الارقام والتي طبعا قراتها من هذا المنتدى السخي

	static NumericShaper shaper=null;
static char[] text=null;


public static String useShaper(String englishText){

   	if(englishText.isEmpty()) return "";// check on text 

   	shaper=NumericShaper.getShaper(NumericShaper.ARABIC);// for arabic numbers
   	text=String.valueOf(englishText).toCharArray();// convert text to char array
   	shaper.shape(text,0,text.length);

   	return String.valueOf(text);// convert char array to text

	}

وتقوم بقراءة القيم بصيغة String وارجاعها بنفس الصيغة

ولم اجد اي طريقة لقراءة الارقام بصيغة Long,Integer,....etc وارجاعها بنفس الصيغ السابقة

تحياتي

تم تعديل هذه المشاركة بواسطة alionline في 9 يوليو 2011 في 22:53

#11

الموضوع هنا عن اظهار الارقام العربية داخل التقارير وليس داخل تطبيق جافا

وهذا رابط المشروع الذى يوضح صحة كلامى

http://www.mediafire.com/?zrkgqkuauvujgqs

ملحوظة تعمدت ان اترك حقل المجموع بالانجليزية لاوضح انه لم يتأثر ابدا وان كل حقل منفصل عن الاخر

================================================================

اذا كنت تريد كتابة الارقام باللغة العربية داخل تطبيق جافا والتعامل معها كارقام فالموضوع بسيط جدا

مايظهر فى الحقل textbox او النافذة frame هو للعرض امام المستخدم فقط ولا يعرف شيئا عما يدور داخل التطبيق

اذا يمكنك بكل سهولة استخدام المكتبة ArabicNumbersUtility فى مدونة المشرف علاء الصالحى

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

ما رأيك فى وجود هذه الدالة بالمكتبة

/**
	 * convert double value to Arabic number string
	 * note: Arabic floating point is , not . 
	 * @param number string to convert
	 * @return Arabic value
	 */
	public static String convertDoubleToArabic(double number) {
		return convertEnglishToArabic(String.valueOf(number));

	}

هى تستقبل double

وهذه ايضا

/**
	 * convert Arabic number string to double value
	 * note: Arabic floating point is , not . 
	 * @param arabicText Arabic string to convert
	 * @return double value
	 * @throws InvalidArabicNumber when string contains invalid Arabic characters
	 */
	public static double convertArabicToDouble(String arabicText) {

		if (arabicText.length()==0) {
			throw new InvalidArabicNumber("empty string");
		}

		char[] values = new char[arabicText.length()];

		char ch;

		for (int i = 0; i < values.length; i++) {
			ch = arabicText.trim().charAt(i);

			values = getEnglishDigitPr(ch, i);
		}

		return Double.parseDouble(String.valueOf(values));
	}

هى تعيد double

كان من الاولى ان تكتب سؤالا فى المنتدى السخى وستجد الحل وكنت من اول مجيبينك

شكرا


﴿وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنْتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ﴾

الأنفال ۳۳                                  
 

#12

انت ليه مستخدم الـ SQlit Driver

مع ان انت مستخدم الـ Access Db

والمفروض يكون الـ Driver

sun.jdbc.odbc.JdbcOdbcDriver

هو انا شغال على netbeans 7 ومش طالب الـ Driver

لكن بيعمل اخطاء فى الـ SQLite Driver لانه موجود اصلا

اعتقد ان الـ ReportsManager

دى من عندك انت فى الReportsEngine lib

مش دايما لازم اعمل

System.setProperty("file.encoding", "windows-1256");

لكن جيد علشان لو الجهاز الـ encoding بتاعه مش مظبوط

تسلم الايادى :)

Software Developer
Mahmoudkelany.com


 

#13
اقتباس

هو انا شغال على netbeans 7 ومش طالب الـ Driver

لكن بيعمل اخطاء فى الـ SQLite Driver لانه موجود اصلا

هذه الميزة ليست من Netbeans

Access Driver اصبح مضمنا داخل ال jvm منذ النسخة jre6u18 تقريبا

ولا ضرورة لعمل loading له فى الالة الافتراضية jvm ولكن تبقى مشكلة انك لاتعرف اى اصدار لدى مستخدمى برنامجك clients

لذا تجنبا للمشاكل وضمانا لعمل البرنامج تقوم بتحميله كما كان فى السابق

بالنسبة للخطأ فهو ليس خطأ فقط كنت اجرب المحرر emacs واتعبنى فى اختصارات المفاتيح copy , paste , new ,formate

فنسيت حذف اربع احرف او ماشابه من ال driver القديم sqlite

والملحوظة الثانية كما وضحت انت

على كل شكرا لك

تسلم انت ياغالى :)

تحياتى


﴿وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنْتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ﴾

الأنفال ۳۳                                  
 

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…