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

كيف يمكن انشاء phone book

مغلق
بدأه ali2008 في 28 أكتوبر 2005 · 16 رد · 1,530 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

الأن

اريد التوجية والأرشاد فقد وكيف ابداء فقط

انا حصلت على نسخه جديد من كتاب JAVA How to PROGRAM 6th ماهي اللاقسام في هذا الكتاب سوف تكون مفيدة لي لكتابة هذا البرنامج ؟

القصة هي:

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

كيف يمكن انشاء phone book بسبط بواسطة application

يمكن من ادخال واترجاع وتعديل المدخلات باستخدام ثلاث array

الواجهة لهذا البرنامج frame يحتوي على ثلاث textfield

name

telephone number

extension number

وكيف اجعل الحقل الثاني والثالث telephone and extension يقبل ارقام فقط

الأولName يقبل حروف وارقام

السوال :

كيف يتم انشاء Botton يقوم في حفظ المعلومات في ملف جديد في المرة الأول وفي المرة الثانية التعديل في نفس الملف

كيف يتم انشاء Botton يقوم في البحث

لكتابة هذا البرنامج قد حصلت من المدرس على هذا الملف المطلوب منى تكملة هذا الملف

الشكر للجميع

Database.pdf

#2

هههههههههههههههههه و الله شر البلية ما يضحك..

الآن عجبني اسلوبك ... و لكن مع ذلك انت مخالف في عنوان الموضوع و يتوجب علي اغلاقه و لكن تجاوزاً و للمرة الاولى في التاريخ سوف اعدل لك العنوان لانه كما يبدو انك بحاجة كبيرة الى حل الوظيفة سوف اعدله لك و لكن يجب ان تعدني ان تضع محاولتك و سوف ننظر لك فيها انا و كافة اعضاء المنتدى

و انصحك بالبحث اولا في المنتدى و من ثم بالانترنت و سوف تجد مشاريع بسيطة مشابهة ربما تفيدك..

ستحتاج الى الكلاس

FileReader

,

FileWriter

لكتابة او اضافة الملفات

ابحث عنهما في doc مال الجافا

Theory is when you know something, but it doesn't work. Practice is when something works, but you don't know why. Programmers combine theory and practice: Nothing works and they don't know why

#3

غريبه برنامج بدائي مثل هذا ما تعرف كيف تسويه

:)

عموما انا انت حاول واذا ماعرفت انا بساعدك بس اهم شيء تحاول وتحاول وتحاول

#4

ماهو الكود

لاجعل الحقل

الثالث extension يقبل ارقام فقط

وأذا دخل المستخدم بعطي رسالة تنبية

#5

عليك أن تفحص القيمة قبل أن ترسلها إلى قاعدة البيانات،

جرب مثلاً:

public boolean isNumbers(String number) {
  for (int i = 0; i < number.length(); i++) {
    char num = number.charAt(i);
    if (num <= 48 && num >= 57) {
      return false;
    }
  }
  return true;
}

لا حظ أن الآسكي للأرقام بين 48 للصفر و57 للتسعة، فإذا احتوى النص محارف خارج هذا النطاق فهذا يعني أنه ليس رقماً

#6

لماذا لا يجرب:

public boolean testNumber(String n){
try{
Integer.parseInt(n);
return true;
}
catch(Exception ex){
return false;
}
}

تم تعديل هذه المشاركة بواسطة أبومازن في 2 نوفمبر 2005 في 00:51

#7

الشكر لك من وقف في جانبي وساعدني

في فترة قصيرة فد تطورت مستوى في مادة الجافا

يوم هو يومي السادس في تعلم هذا اللغه المعقدة

لحسن حظي قد اجل المدرس تسليم الواجب اسبوع

غريبة جدا جدا جدا لانها ليست من عادات البيطانيون في تغير مواعيدهم

قد حاولت كتابة هذ ا البرنامج ليل ونهار لان علية 50% من المعدل العام

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

ان هذا البرنامج يعمل لكن ليس في الشكل المطلوب

كما هو مذكور في السابق

الرجاء عدم الضحك على هذا البرنامج :lol:

والله العضيم هذا الذي قدرت علية

import java.awt.*;      
import javax.swing.*;    
import java.awt.event.*;

public class NEW extends JFrame implements ActionListener
{

	JTextField NameText, PhoneText, ExtText;
	JButton addButton, clearButton, closeButton;
  
	String Name, Phone, Ext;    

	public static void main(String args[])
	{	
  NEW frame = new NEW(); 
	}

	public NEW()
	{
  Container c = this.getContentPane();
  JPanel DPanel = new JPanel();
  JPanel UPanel = new JPanel(new GridLayout(3,1));	
  c.add("North",UPanel);
  c.add("South",DPanel);

  // create Name , Telephone and Extension
  NameText = new JTextField();
  PhoneText = new JTextField();  
  ExtText = new JTextField();
  
  // add labels and TextFields to the panels
  UPanel.add(new JLabel("   Name "));
  UPanel.add(NameText);
  UPanel.add(new JLabel(" 	 Telepehone " ));
  UPanel.add(PhoneText);  
  UPanel.add(new JLabel(" 	 Extension" ));
  UPanel.add(ExtText);
  ExtText.setToolTipText("This field accept NUMBER only");
    
  // create & add Buttons to bottom panel
  addButton = new JButton("Set & Get"); 
  clearButton = new JButton("Clear"); 
  closeButton = new JButton("Close");
  DPanel.add(addButton);
  DPanel.add(clearButton);
  DPanel.add(closeButton); 	 
  
  // register frame as listener for button events
  addButton.addActionListener(this);
  clearButton.addActionListener(this);  
  closeButton.addActionListener(this);   

  this.setSize(300,150);     
  this.setTitle("PhoneBOOK");
  this.setVisible(true);


  this.addWindowListener(new WindowAdapter()
 	 {
    public void windowClosing(WindowEvent event) 
        {shutDown();}
 	 }   
   );
   }
   
   public void actionPerformed(ActionEvent e)
   {
  // see which button was clicked
  if(e.getSource() == addButton)
     	 {add();} 
    if(e.getSource() == clearButton)
     	 {clearForm();} 
  if(e.getSource() == closeButton)
        {shutDown();}
   }
	private void add()
	{
  Name = NameText.getText();	
  Phone = PhoneText.getText();  
  Ext = ExtText.getText();
  
  for (int intext = 0; intext < Ext.length(); intext++) 
  {
      char num = Ext.charAt(intext);
      if ((num <= 48) && (num >= 57))
      
      JOptionPane.showMessageDialog(this, " OK ");
      else  
     	 {
     	 JOptionPane.showMessageDialog(this, "Extension field accept NUMBER only ");
     	 }
 	 }
 	 clearForm();	

	}


  
	private void clearForm()
	{
  NameText.setText("");	
  PhoneText.setText("");  
  ExtText.setText("");
	}

  public void shutDown()
  { System.exit(0); }
}
#8

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

و لكن لم اجد في الكود ما يقوم بالحفظ او الاسترجاع؟؟

Theory is when you know something, but it doesn't work. Practice is when something works, but you don't know why. Programmers combine theory and practice: Nothing works and they don't know why

#9

الشكر لكل من ساعدني وشجعني :rolleyes:

الشكر لكل من قدم لي الكود

لاجعل الحقل

الثالث extension يقبل ارقام فقط

وأذا دخل المستخدم حرف بعطي رسالة تنبية

ولكن

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

الرجاء تعديل الكود السابق لجعلة يعمل في الشكل المطلوب

(أذا أدخل المستخدم حروف في حقل Extension يعيطي المستخدم رسالة)

بالنسبه لموضوع Array وطريقة ارسالها الى ملف txt

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

وإن شاء الله بعد بكرة سوف اجد الحل بعد القراء عن array و FileReader

FileWriter

الكتب هي

Java2 in easy steps

JAVA How to program 6th

Head First Java

Object-Oriented Application Development using Java

Introduction to JAVA Programmin

Java 2 Primer Plus

في الختام

كل عام ونتم بخير

وحاولوا تقضون العيد مع الأهل و للأصدقاء

وانا في غربتي سوف أقضي يوم العيد في المحاضرات (نهار) وفي حل واجب الجافا (ليل)

ولقد سميت هذا العيد في هذة السنة عيد جافا :wacko:

#10

شوف يا أخي،

يجب عليك استخدام الحدث focusLost مع الـ JTextField المستخدم لإدخال الأرقام (أرقام الهاتف والفاكس ...)، حيث أن هذا الحدث سوف يقذف بمجرد خسارة هذا الـ TextField للتركيز، أي بمجرد انتقال مؤشر الكتابة إلى أي مكان آخر (مربع نص آخر أو زر مثلاً). وتكتب في داخله تعليمة استدعاء تابع اختبار القيمة، ثم تظهر للمستخدم رسالة الخطأ إذا احتوى النص على محارف ليست أرقاماً.

  public void jTextField1_focusLost(FocusEvent e) {
if (!isNumbers(jTextField1.getText())) {
          JOptionPane jOp = new JOptionPane("Wrong input", JOptionPane.ERROR_MESSAGE, JOptionPane.OK_OPTION);
    {
  }

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

#11

فعلا قطعت قلبي عليك :(

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

انت حوره لكي يتعامل مع الملفات للتخزين و الاسترجاع

و اتمنى لك التوفيق في فهم الكود

al.zip

Theory is when you know something, but it doesn't work. Practice is when something works, but you don't know why. Programmers combine theory and practice: Nothing works and they don't know why

#12

عذراً، اكتشفت أن في الحل السابق خطأ، وهذا التعديل:

Class TestGUI implements FocusListener {
  public void focusGained(FocusEvent e){}
  public void focusLost(FocusEvent e) {
    TestClass t = new TestClass();
    if (!t.isNumbers(jTextField1.getText())) {
      JOptionPane jOp = new JOptionPane("Wrong input", JOptionPane.ERROR_MESSAGE, JOptionPane.OK_OPTION);
    jOp.setVisible(true);
    }
  }
}

مع العلم بأن الصف TestClass هو الصف الذي يحوي على الطرق المستخدمة في برنامجك ومن بينها الطريقة isNumbers.

أتمنى لك التوفيق، ولكن يجب عليك الاهتمام بدراستك أكثر من ذلك، فأنت تسأل أسئلة بسيطة جداً.

#13

Hello Ali2008

I got the full applaction vary close to your req so if you want it

Email me At =wafi4qatar@hotmail.com

#14

يا عزيزي انت ليش عامل ادخال رقم لل textfield مشكلة

الكود بسيط وأحد الأعضاء كتبه فوق

try {

int telephoneNumber = Integer.parseInt(textFieldName);

}

catch(Exception excep){

JOptionPane.showMessageDialog("Insert a Number Please");

}

#15

أنا حليتلك المشكلة اللي يظهر انك ورطان فيها

في عندك ملف مرفق

الملف فيه أربع فراغات

لازم تدخل في الأول والأخير رقم وفي الباقيين text

بعدين اعمل save

بعدين اكتب الرقم الأول في مكان Book Number

واضغط enter

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

البرنامج شبيه جدا لطلبك لكن بده تعديل

Names.rar

#16

حطينا الف حل و الف كود و هون اختفى :)

Theory is when you know something, but it doesn't work. Practice is when something works, but you don't know why. Programmers combine theory and practice: Nothing works and they don't know why

#17

أنا موجود :D

الله يعطي الجميع العافية على كل مساعدة

انا الأن أحاول كتابه البرنامج بشكلة النهائي

وانا لست بغنى عن مساعدتكم

المدرس لاحظ أن معظم الطلاب غير قادرين على اسخدام 3array

قام المدرس في تغير البرنامج باسخدم 2array

السؤال : هل ماقام به المدرس سوف يسهل عمل البرنامج أو سوف يعقد ؟

وشكرا للجميع

:rolleyes:

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

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