السلام عليكم ورحمه الله وبركاته
انا استخدم تقارير Ireport فى انشاء تقارير رسميه ولكن عندى مشكله ان الارقام لاتظهر عربيه
كيف احل هذه المشكله وان تظهر الارقام باللغه العربيه فى التقارير
وشكرا
السلام عليكم ورحمه الله وبركاته
انا استخدم تقارير Ireport فى انشاء تقارير رسميه ولكن عندى مشكله ان الارقام لاتظهر عربيه
كيف احل هذه المشكله وان تظهر الارقام باللغه العربيه فى التقارير
وشكرا
شوف يا اخى
بصراحة الموضوع ماهو سهل لكن اساعدك فيه ان شاء الله
بس الموضوع ده هيبقى حصرى exclusive للفريق العربى للبرمجة
ان شاء الله النهاردة اعمل فيديو يوضح الخطوات اللازمة
موفق
﴿وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنْتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ﴾
الأنفال ۳۳
لا يمكنك الاستفادة من عرض الارقام العربية
لانها سوف ترسل بصيغة string
لكن الحل الافضل يمكنك تصدير التقرير
بصيغة RTF
وعن طريق MicroSoft Word يمكنك تحويل الارقام الى العربية
تحياتي
اقتباسلا يمكنك الاستفادة من عرض الارقام العربية
لانها سوف ترسل بصيغة string
من قال هذا !!!!! الحقول ستظل كماهى واى دوال functions like sum فى التقرير ستظل تعمل بدون ادنى مشكلة
ويتم عرض الارقام العربية فى كل طرق عرض التقرير بداية من report viewer وحتى pdf و word وغيرهم
انظر هذه الصورة
التغيير سيكون على الحقل فى العرض فقط ولن يتم اى تغيير على نوع البيانات المرسلة للتقرير
على كل ستضح الفكرة عند عرض الفيديو
وهذا تقرير فى المرفقات
تحياتى
﴿وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنْتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ﴾
الأنفال ۳۳
يااخ محمد
ياريت لو تفضلت اضافة كود يحول الارقام الانكليزية الى عربية
ويبقيها بصيغة Integer
ولك جزيل الشكر
تحياتي
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
اقتباسياريت لو تفضلت اضافة كود يحول الارقام الانكليزية الى عربية
ويبقيها بصيغة Integer
اهلا اخى على
مالى احس انك تتكلم وكانها مستحيل :)
الموضوع بسيط جدا
التقرير تتعامل مع الحقل كجزئين الاول هو الحقل القادم من قاعدة البيانات والثانى صندوق النص الذى يعرض قيمة الحقل فى التقرير
يمكنك تغيير نوع البيانات للحقل فى الجزئين وكل منهما منفصل عن الاخر
فالدوال الموجودة فى التقرير تتعامل مع نوع البيانات القادم من قاعدة البيانات ولهذا لن يتغير شئ فى التقرير
اذا نحن سنترك نوع البيانات للحقل القادم من القاعدة كما هو ونغير نوع البيانات لصندوق النص لعرض الحقل الى النوع String
هل تعرف كيف تستخدم مكتبات الجافا داخل التقرير ؟
هذه هى كلمة السر فى الموضوع
انا اتكلم عن تجربة لا اخترع ولا افتى بما لا اعلم :sleep:
تحياتى
﴿وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنْتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ﴾
الأنفال ۳۳
اوكي اخ محمد
انا استخدم هذة الدالة لتحويل الارقام والتي طبعا قراتها من هذا المنتدى السخي
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
الموضوع هنا عن اظهار الارقام العربية داخل التقارير وليس داخل تطبيق جافا
وهذا رابط المشروع الذى يوضح صحة كلامى
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
كان من الاولى ان تكتب سؤالا فى المنتدى السخى وستجد الحل وكنت من اول مجيبينك
شكرا
﴿وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنْتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ﴾
الأنفال ۳۳
انت ليه مستخدم الـ SQlit Driver
مع ان انت مستخدم الـ Access Db
والمفروض يكون الـ Driver
sun.jdbc.odbc.JdbcOdbcDriver
هو انا شغال على netbeans 7 ومش طالب الـ Driver
لكن بيعمل اخطاء فى الـ SQLite Driver لانه موجود اصلا
اعتقد ان الـ ReportsManager
دى من عندك انت فى الReportsEngine lib
مش دايما لازم اعمل
System.setProperty("file.encoding", "windows-1256");لكن جيد علشان لو الجهاز الـ encoding بتاعه مش مظبوط
تسلم الايادى :)
اقتباسهو انا شغال على netbeans 7 ومش طالب الـ Driver
لكن بيعمل اخطاء فى الـ SQLite Driver لانه موجود اصلا
هذه الميزة ليست من Netbeans
Access Driver اصبح مضمنا داخل ال jvm منذ النسخة jre6u18 تقريبا
ولا ضرورة لعمل loading له فى الالة الافتراضية jvm ولكن تبقى مشكلة انك لاتعرف اى اصدار لدى مستخدمى برنامجك clients
لذا تجنبا للمشاكل وضمانا لعمل البرنامج تقوم بتحميله كما كان فى السابق
بالنسبة للخطأ فهو ليس خطأ فقط كنت اجرب المحرر emacs واتعبنى فى اختصارات المفاتيح copy , paste , new ,formate
فنسيت حذف اربع احرف او ماشابه من ال driver القديم sqlite
والملحوظة الثانية كما وضحت انت
على كل شكرا لك
تسلم انت ياغالى :)
تحياتى
﴿وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنْتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ﴾
الأنفال ۳۳
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…