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

ملخص للأوامر والبارامترات المؤثرة في اللغةJ2ME

مغلقرائج
بدأه sih في 28 يوليو 2004 · 77 رد · 6,604 مشاهدة · في JavaME
مشاركة: واتساب X فيسبوك تيليجرام
#26

الأخ مصعب غيلان الحمدلله على سلامة الوصول

ندعو لك بأن يكون (عوداً حميداً)

كم تمنينا مشاركاتك لزيادة الفعالية والا ماقصر علينا أخونا مجدي جزاه الله عنا كل خير

أرجو أن تنظر في مشكلتي الأخيرة (حفظ البيانات) في هذا الموضوع مشكوراً

س/ ماهي طريقة حفظ نتائج الفورم قبل إغلاق التطبيق وفقدها ؟
أو ماهي طريقة حفظ محتويات المتغيرات ( s , h , k )
وماهي طريقة الإسترجاع ؟
للضرورة أرجو المساعدة .... أثابكم الله.
#27

ان شاء الله سأحاول الحصول على مثال واضعه هنا

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

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

#28

أنا أنتظرك بارك الله فيك

#29

ان شاء الله تستفيد من الكود الموجود في هذا الملف النصي ... لاني لم اجد غيره ولم يسفعني الوقت بعمل كود بسيط

على العموم هذا الملف فيه شرح وكود لاستخدام الكلاس RecordStore

Mar01_EricG.txt

#30

بارك الله فيك ياأخ مصعب

وجزاك الله خيراً على مساعدتك الثمينة

#31

ماهو الخطأ في هذا البرنامج ؟ (مرفق ملف الكود + ملف الشرح بالإنجليزية )

بعد تنفيذ جميع الخطوات على ما يرام تأتي

رسالة الخطأ على الجوال وهي:

java/lang/ClassNotFoundException tj7

-------------

أنا استعمل (Wireless Toolkit)

طبعاً أتوقع يطلب كلاس التسجيل (اسمه MyData )

بموجب هذا السطر ;"static final String DBNAME = "mydata

1/هل يقوم Wireless Toolkit بإنشاء هذا الملف ؟

2/ هل اسمه يكون MyData أو MyDat.txt أو MyDat.java ؟؟؟

3/أين أجد أو أضع هذا الملف ؟

TestStore.java.txt

تم تعديل هذه المشاركة بواسطة sih في 11 سبتمبر 2004 في 01:00

#32

وهذا هو ملف الشرح مرفق

Feb01_EricG.txt

#33

بسم الله الرحمن الرحيم

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

هل يوجد في لغة الجافا أمر يقوم بإصدار عدد عشوائي ؟

في لغة الباسيك مثلاً تأتي الصيغة هكذا X=RND 5

#34

نعم وتحتاج الى حزمة

 import java.util.Random;

واليك مثال

int x=Math.random();//اي عدد عشوائي  ل x

واليك مثال اخر

Random r = new Random();
 int     r.nextInt(int n)//عدد عشوائي بين الصفر و n
 int     x.nextInt() //return random number

لست متواجد بشكل يومي

#35

الف شكر يا أخ محمود

#36

ياأخ مجدي لم أستطيع استخدام هذه الأمثلة

لم يقبلها المترجم لا أعلم أين أضع العدد (5)

عفواً : أرجو أن تعطيني هذه الأمثلة جاهزة تصدر أعداداً عشوائية بين (صفر وخمسة) يعني ضع العدد (5) في مكانه الصحيح والمتغير (x) في مكانه الصحيح

بحيث تكون النتيجة في المتغير ( x )

,وجزاك الله خيراً على خدماتك السابقة واللاحقة .

تم تعديل هذه المشاركة بواسطة sih في 21 سبتمبر 2004 في 02:22

#37
Random rgen = new Random();
for (int i=0; i<5; i++) {

int x = rgen.nextInt(5);
}

Random rand = new Random();
int x =rand.nextInt();

Random rand = new Random();
int x =rand.nextInt(5);

تم تعديل هذه المشاركة بواسطة مجدي محمود في 21 سبتمبر 2004 في 13:42

لست متواجد بشكل يومي

#38

بسم الله الرحمن الرحيم

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

لم أتمكن من الحصول على عدد عشوائي بين (صفر و خمسة) حيث كان

المولد العشوائي يعطي أعداد كبيرة جداً (عشر خانات موجب أو سالب )ـ

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

import java.util.Random; //استدعاء الحزمة(في البداية)ـ
Random rand = new Random();//تعريف معامل جديد(مع التعريفات)ـ
x=rand.nextInt();//توليد عدد عشوائي 10خانات موجب أو سالب
x=x/300000000;   //حذف 8خانات من جهة اليمين باستخدام القسمة
if(x<0)x=x*-1;  //معالجة العدد ليكون دائماً بالموجب (باستخدام الضرب *-1)ـ

إذا كان هناك طريقة أسهل أرجو الإفادة والفائدة للجميع كمرجع هنا .

#39
Random rand = new Random();
for (int i = 0; i < 10; i++){

int randNo = Math.abs(rand.nextInt()) % 9;//استثناء الاعداد السالبة (القيمة المطلقة)
  	int x = randNo % 3;
  	int y = randNo / 3;
}

تم تعديل هذه المشاركة بواسطة مجدي محمود في 22 سبتمبر 2004 في 17:43

لست متواجد بشكل يومي

#40

بسم الله الرحمن الرحيم

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

تعلمنا كيف نعمل كوماند وكيف نفعل الكوماند والآن كيف نلغي تفعيل كوماند ؟

أحيانا تنتهي مهمة الكوماند ونحتاج إلى إلغاء تفعيله فماهي الطريقة ؟

كوماند//;(canvas.addCommand(cmdgo

تفعيل//;(canvas.setCommandListener(this

الغاء التفعيل //؟؟؟

تم تعديل هذه المشاركة بواسطة مجدي محمود في 12 أكتوبر 2004 في 01:18

#41

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

يا اخ sih

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

void removeCommand(Command cmd)

canvas.removeCommand(cmd);

تم تعديل هذه المشاركة بواسطة مجدي محمود في 12 أكتوبر 2004 في 01:26

لست متواجد بشكل يومي

#42

مشكور ، بارك الله فيك

#43

يلاحظ أنه من تعقيدات اللغة عدم مشروعية مثل هذا المقطع من البرنامج

	if(c==sets){
	box.setTitle("كلمة مرور جديدة");
  box.setString("");
  disply.setCurrent(box);	
	o= box.getString()+0;  //

	box.setTitle("تأكيد كلمة المرور");
  box.setString("");
  disply.setCurrent(box);	
	if(o== box.getString()+0)
  ser=o;
	}

حيث يتم إهمال الجزء الأول وتنفيذ الجزء الأخير (تأكيد كلمة المرور)

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

#44

بالطبع يا اخي sih

اقتباس
حيث يتم إهمال الجزء الأول وتنفيذ الجزء الأخير (تأكيد كلمة المرور)

فهو سيقوم بعمل اضافة الجزء الثاني الى box ولا بضيف الجزء الاول

يعني بالعربي في الجزء الاول قمت باضافة شيئا ثم قمت باضافة شئ جديد في الجزء الثاني يعني قمت باستبداله في الجزء الثاني

يا اخي قم بعمل box2 واجعله لتاكيد كلمة المرور ومن ثم قم بعملية المقارنة يعني

يعني Form به 2 TextField ومن ثم مقارنة

if(c==sets){
Form fr = new Form();
//TextField box,box2;
//
//

box.setTitle("كلمة مرور جديدة");
box.setString("");
disply.setCurrent(box); 
box2.setTitle("تأكيد كلمة المرور");
box2.setString("");
disply.setCurrent(box2); 
if(box.getString()== box2.getString())
 ser=box.getString();
}

ضع الكود هنا اذا لم تفهم وساريك الحل كيف ?

لست متواجد بشكل يومي

#45

بسم الله الرحمن الرحيم

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

يا أخ مجدي رحمك الله لم تحل المشكلة باستخدام TextBoxآخر

لاحظ ترتيب هذه الجمل الأربع في الملف

;(disply.setCurrent(form

;(disply.setCurrent(box

;(disply.setCurrent(alart

;(disply.setCurrent(box2

تجد أن المعالج يهمل جميع العروض وينفذ الأخيرة فقط

لابد من عمل حواجز شرطية بترتيب معين لكي ينفذ كل عرض عند تمام شرطه

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

هل يمكن حل المشكلة لتخفيف التعقيد عند البرمجة ؟

مرفق ملف كمثال

SerialNum.java.txt

#46

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

اقتباس
;(disply.setCurrent(form

;(disply.setCurrent(box

;(disply.setCurrent(alart

;(disply.setCurrent(box2

تجد أن المعالج يهمل جميع العروض وينفذ الأخيرة فقط

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

اليك هذا المثال وكيفية الحل

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

public class Sih extends MIDlet implements CommandListener {
String ser;
private Display display;
private TextField box;
private TextField box2;
private Form form;
Alert alert;
private Command sets;
public Sih()
 {
      box = new TextField("box", "", 10, TextField.ANY);
      box2 = new TextField("box2", "", 10, TextField.ANY);
      form = new Form("Sign in");
      alert = new Alert (" Sih "); 
      sets = new Command("ok", Command.CANCEL, 2);
}

public void startApp() {

 display = Display.getDisplay(this);
 form.append(box);
 form.append(box2);
 form.addCommand(sets);
 form.setCommandListener(this);
 display.setCurrent(form);
}
public void pauseApp() {   }
public void destroyApp(boolean unconditional) {
      notifyDestroyed();
   }
public void right()
{
 alert.setString("right");
 alert.setType(AlertType.CONFIRMATION);
 alert.setTimeout(Alert.FOREVER);
 display.setCurrent(alert);
}
public void wrong()
{
 alert.setString(" wrong");
 alert.setType(AlertType.ERROR);
 alert.setTimeout(Alert.FOREVER);
 display.setCurrent(alert);
}
public void commandAction(Command c, Displayable s)
{
if(s== form)
{
 if( c == sets)
  {
    if(box.getString().equals(box2.getString())) 
     { 
      right();
      ser = box.getString();
     }
  else
   { wrong();}
    
 }
}
}
}

تم تعديل هذه المشاركة بواسطة مجدي محمود في 18 أكتوبر 2004 في 15:41

لست متواجد بشكل يومي

#47
if(box.getString().equals(box2.getString()))

استخدم دائما هذا للمقارنة بين Strings لا نه يقوم بمقارنة المحتوى ولا تستخدم ==

لست متواجد بشكل يومي

#48

بارك الله فيك ،، وجزاك الله خيراً

((()if( box.getString().equals(box2.getString

لمقارنة النصوص

فعلاً قمت بمحاولات كثيرة باستخدام == فلم تنجح فأضطر إلى تحويلها إلى قيم عددية كحل مؤقت بارك الله فيك ، ومشكور على المثال

#49

بسم الله الرحمن الرحيم

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

نريد نقل قيمة عددية من مربع نص إلى منغير عددي (int in)

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

ما هو البديل ؟

box.setTitle("أدخل عدد");
box.setString("");
disply.setCurrent(box);
String str = box.getString();
//String str.equals( box.getString());
.
.
int in =Integer.parseInt(str);

تم تعديل هذه المشاركة بواسطة مجدي محمود في 26 أكتوبر 2004 في 13:09

#50

يا اخ sih كيف تريد ان تنقل في الحقيقة انا مش فاهمك ولكن افضل طريقة للتعامل مع الارقام هو تحويلها من String الى int ومقارنتها مع بعضها اما اذا كنت تريد ان تقارن String فيجب استخدام equals يا اخي ضع الكود هنا حتى يستطيع الشخص ان يفهم ما تريده بالزبط حتلى يساعدك والسلام عليكم

	try{
   String l= box.getString();
      int   k=Integer.parseInt(l);
      String j = box2.getString();
      int   m=Integer.parseInt(j);
      if(m==k){// do SomeThing
           }
     else //do SomeThing
     }
     catch(NumberFormatException e){System.out.println(e);}

لست متواجد بشكل يومي

هذا الموضوع مغلق.

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

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

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

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

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