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

تخزين كلمات عربية في RecordStore

بدأه JDurrah في 26 أغسطس 2010 · 13 رد · 731 مشاهدة · في JavaME
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم.

أخوتي.. قمت بعمل برنامج محاسبة دفتري صغير وقمت باستخدام التخزين في ResordStore.. البرنامج يعمل مع اللغة الانكليزية لكن طلب مني الزبون تقديم الدعم له بإضافة دعم اللغة العربية (في التخزين) لكن تظهر معي مشاكل في تخزين الأحرف العربية،حيث تظهر بعد قراءتها من ال RecordStore على شكل علامة استفهام...

أرجو الرد وطرح الأفكار..

#3

أخي المعلومات التي أخزنها مختلطة بين اللغتين مثلا: لدي عملية نقل لحساب بنكي رقمه acc001 ورقم العملية هو op001 وتوجد ملاحظات على العملية هي "عملية نقل 1000 ليرة"

أنا أخزن البيانات في ال RecordStore كما يلي

op001|ac001|1000|عملية نقل 1000 ليرة

هل تحل المشكلة في هذه الحالة أم ستبقى؟.

#5
مهدي حجازي كتب:

طبق الحلول المقدمه في هذه المشاركه وما يليها

المشكله في معظم الاحيان تكون مشكله encoding

تمام تمته التجربه على الدرس اللى انا كنت واضعه وهى تعمل بشكل جيد

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

JDurrah كتب:

أخي المعلومات التي أخزنها مختلطة بين اللغتين مثلا: لدي عملية نقل لحساب بنكي رقمه acc001 ورقم العملية هو op001 وتوجد ملاحظات على العملية هي "عملية نقل 1000 ليرة"

أنا أخزن البيانات في ال RecordStore كما يلي

op001|ac001|1000|عملية نقل 1000 ليرة

هل تحل المشكلة في هذه الحالة أم ستبقى؟.

انا كنت بجرب تجربه على الموبيل

ولم شوفت الرد بتاعك

قولت اجربه

فعلا

لا يوجد مشكله كما قال اخونا الكريم مهدى

وهى تعمل بدون ادنى مشاكل

واسال مجرب :lol:

Software Developer
Mahmoudkelany.com


 

#6

جربت تغيير ال encoding فنجحت التجربة إلى حد ما لكن تظهر مشاكل..<br />هل أقرأ الString  من مربع النص TextFiels وأحولها في نفس الوقت أم أحولها بعد قراءتها بشكل عادي<br /><br />String name = textField.getString();<br /><br />أو<br /><br />String name = new String(textField.getString().getBytes,"UTF-8");<br /><br />لأنه في برنامجي يوجد حقل لكلمة المرور ونجحت معها الطريقةا الأولى لكن الطريقة الثانية تعطي أخطاء<br />.

تم تعديل هذه المشاركة بواسطة JDurrah في 27 أغسطس 2010 في 09:12

#8

السلام عليكم... آسف للتأخير... أخي أنا لدي FORM لقراءة كلمة المرور وأقوم بتخزين كلمة المرور بعد قراءتها (controller.setPassword(passwordField.getString());) كما يلي: byte[] data = newp.toString().getBytes("UTF-8"); recordStore.setRecord(recordid, data, 0, data.length); وأيضا لدي form لإضافة حساب (account) من معطيات قد تكون مختلطة، رقم الحساب، اسمه, ملاحظات.. أقصد بالمختلطة أنها ممكن أن تكون بإحدى اللغتين... أقرأ المعلومات من الـ form كما يلي: String id = getAccIdField().getString(); String nameS = getAccNameField().getString(); String typeS = getAccTypeField().getString(); وهنا ظهرت المشاكل من أخطاء في قراء العلومات بعض التخزين(حيث لاحظت أنه عندما أفصل بين الكلمات في حقل الملاحظات فإنه تظهر(بالاسترداد) أول كلمة والفراغ ولا يظهر الباقي) أنا أقوم بتخزين الحساب كما يلي >>>>>>>>>>>> if (accountWithIdFound(account.getId())) { return false; } recordStore.addRecord(record.getBytes("UTF-8"), 0, record.getBytes().length); أحطت السطر الأول بأقواس لأني أظن أن الخطأ من هنا ... فما تعليقكم أخوتي؟...

#9

يا أخي JDurrah يبدو أن المشكله مشكله منطقيه ولكن لا استطيع مساعدتك بشكل جيد, هل ممكن أن تضع الكود أو تكتب برنامج صغير يظهر المشكله..رجاء أخر, هل لك أن تستخدم وسم الكود حتى يظهر بشكل سهل القراءه.

تحياتي..

#10

الكود بتاعك غير موضوع باستخدام الاوسمه

دا غير ان الكود غير مفهوم نوعا

يرجى مراعاه

وضع الاوسمه فى الكود لتنسيق المشاركه وسهوله فهم السوال

وياريت توضح السوال لانه غير واضح

Software Developer
Mahmoudkelany.com


 

#11

Sorry brothers, but I will write using the English language cuz of editing problem in the site..

________________________________________________________________________________________

I have a TextField to make the user input the password.. I get the password using this code

controller.setPassword(passwordField.getString();

then I save the password as follows

byte[] data = newp.toString().getBytes("UTF-8"); 
recordStore.setRecord(recordid, data, 0, data.length);

at this point there is no problem.. but when I use a form to collect the account data (id, name, sum and notes).. it may contain English or Arabic letters..

I read data using:

String id = getAccIdField().getString(); 
String nameS = getAccNameField().getString(); 
String typeS = getAccTypeField().getString();

I have an Account class with toString() method which returns

 id+"|"+name+"|"+notes;

then I use this code to store the account in the record store...

String accountStr= account.toString(); // may be the problem cause
recordStore.addRecord(record.getBytes("UTF-8"), 0, record.getBytes().length);

at this point the app. stops working but not all time.

note: when I separate Arabic words with white spaces, and try to retrieve data I get a substring of saved ones...

I hope that explanation is good enough..

sorry again for using English, but I have problems with site replys editor..

thank you againNagain

تم تعديل هذه المشاركة بواسطة JDurrah في 29 أغسطس 2010 في 01:15

#12

انا مش شايف فيها اى مشكله فانك تدمج اكتر من نوع مع بعض

يعنى انا دخلت فالبرنامج اللى عملته

دخلت كدا

اقتباس
محمود22mahrous

وقفلت البرنامج وفتحته تانى وظهرت بشكل جيد ومفيش ادنى مشاكل

ممكن تشوف الكود اللى انا جربت عليه الطريقه دى

Record Stores MobileApp.zip

سلام عليكم

Software Developer
Mahmoudkelany.com


 

#13
JDurrah كتب:

Sorry brothers, but I will write using the English language cuz of editing problem in the site..

________________________________________________________________________________________

I have a TextField to make the user input the password.. I get the password using this code

controller.setPassword(passwordField.getString();

then I save the password as follows

byte[] data = newp.toString().getBytes("UTF-8"); 
recordStore.setRecord(recordid, data, 0, data.length);

at this point there is no problem.. but when I use a form to collect the account data (id, name, sum and notes).. it may contain English or Arabic letters..

I read data using:

String id = getAccIdField().getString(); 
String nameS = getAccNameField().getString(); 
String typeS = getAccTypeField().getString();

I have an Account class with toString() method which returns

 id+"|"+name+"|"+notes;

then I use this code to store the account in the record store...

String accountStr= account.toString(); // may be the problem cause
recordStore.addRecord(record.getBytes("UTF-8"), 0, record.getBytes().length);

at this point the app. stops working but not all time.

note: when I separate Arabic words with white spaces, and try to retrieve data I get a substring of saved ones...

I hope that explanation is good enough..

sorry again for using English, but I have problems with site replys editor..

thank you againNagain

المشكله هنا

String accountStr= account.toString(); // may be the problem cause
recordStore.addRecord(accountStr.getBytes("UTF-8"), 0, accountStr.getBytes("UTF-8").length);

تم تعديل هذه المشاركة بواسطة مهدي حجازي في 29 أغسطس 2010 في 10:14

#14

جزاكم الله عني كل خير، فعلاً المشكلة كما تفضل أخي "مهدي"..وقد حلت بنجاح......

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

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

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

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

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