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

فيه اسئله مش فاهمتها في هذا الكود اتمنى تجاوبوني عليها

بدأه لفته في 26 مايو 2011 · 1 رد · 758 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم الله يسعدكم انا حايسه في دا الكود وابغى احد يفهمني هو الاشيا اللي مو فاهمتها حاطه عليها تعليقات

  import java.io.*; 
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;  
public class Calc extends Frame implements WindowListener,ActionListener {
	TextField text1 = new TextField(20);
	TextField text2 = new TextField(20);
	File file; // هنا ايش يعني دا السطر 
	int numlines;
	Label label1,label2,label3;
	Button b1,b2,b3;
	private int numClicks = 0; // ايش معنى دا السطر 
    String arrst[]={"out1.txt","out2.txt","out3.txt","out4.txt","out5.txt","out6.txt","out7.txt"}; //هنا ليه سوينا مصفوفه 
    String filename;


	public static void main(String[] args) {
		Calc myWindow = new Calc("File Chopper");
		myWindow.setSize(320,150);
		myWindow.setVisible(true);
	}

	public Calc(String title) { //ايش مهنى دا السطر 

		super(title); //   ايش معنى دا السطر وايش فايدة كلمه سوبر
		setLayout(new FlowLayout());
		addWindowListener(this);//ايش تعني كلمه ذس ايش الفرق بين الويندوز لسينر والاكشن ليسنر وليش نحط كلمه ذس بي الاقواس


		label1 = new Label("File Name");
		add(label1);

		add(text1);

		label2 = new Label("Number of lines");
		add(label2);
		add(text2);

		b2 = new Button("RUN");
		b3 = new Button("CLOSE");
			b1 = new Button("Browse");
		add(b2);
		add(b3);
			add(b1);

		b1.addActionListener(this);
		b2.addActionListener(this);
		b3.addActionListener(this);

	}

	public void actionPerformed(ActionEvent e) {

		if(e.getActionCommand()=="Browse")
		{
		   JFileChooser fileopen = new JFileChooser();//ايش معنى السطر دا

	         int ret = fileopen.showDialog(null, "Open file"); // ايش معنى السطر دا 

	        if (ret == JFileChooser.APPROVE_OPTION) {//جميع جمله الشرط ايش تعني ياليت تشرحوها سطر سطر 
	          file = fileopen.getSelectedFile();
	         text1.setText("  "+file.getName());
	         filename=file.getName().toString();

	         }

		}

		else if(e.getActionCommand()=="RUN")
		{


			String curr=""; //ليش عرفنا متغير من نوع سترنغ هنا ايش الفايده منو


             int currnumline=0; // ليش عرفنا المتغير دا 
	         numlines=Integer.parseInt(text2.getText());//ايش دا السطر 

	         int test=0;// ليش عرفنا متغير من نوع انتيجر
	         int counter=0;//ليش سوينا كونتير 
	         String newline = System.getProperty("line.separator");// ايش معنى دا السطر 



             try { //شرح جملة التراي كلها 
            	    BufferedReader in = new BufferedReader(new FileReader(filename));
            	    String str;
            	    while ((str = in.readLine()) != null) {

            	    	currnumline++;
            	    	curr+=str;
            	    	curr+=newline;

            	    	test++;
            	    	if(test==numlines) // شرح جملة الشرط كلها
            	    	{		
            	    	FileWriter fstream = new FileWriter(arrst[counter]);
            	        BufferedWriter out = new BufferedWriter(fstream);
            	        out.write(curr);
            	        //Close the output stream
            	        out.close();
                        curr="";
                        System.out.print("  ok  ");
                        counter++;
                        test=0;

            	    	}


            	    }// ايش يعني الثلاثه الاسطر اللي تحت 
            	    in.close();
            } catch (IOException e1) {
            	System.out.print(e.toString());
            	}

            ///////////////////











            	    }
		else //شرح جمله ال ايلس 
		{
			dispose();
			System.exit(0);	

		}
		}





	public void windowClosing(WindowEvent e) { // واخيرا شرح الجمل اللي تحت كلها 
		dispose();
		System.exit(0);
	}
	public void windowOpened(WindowEvent e) {}
	public void windowActivated(WindowEvent e) {}
	public void windowIconified(WindowEvent e) {}
	public void windowDeiconified(WindowEvent e) {}
	public void windowDeactivated(WindowEvent e) {}
	public void windowClosed(WindowEvent e) {}


}

تم تعديل هذه المشاركة بواسطة .S.T.A.L.K.E.R في 26 مايو 2011 في 11:14

#2
لفته كتب:

السلام عليكم الله يسعدكم انا حايسه في دا الكود وابغى احد يفهمني هو الاشيا اللي مو فاهمتها حاطه عليها تعليقات

  import java.io.*; 
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;  
public class Calc extends Frame implements WindowListener,ActionListener {
	TextField text1 = new TextField(20);
	TextField text2 = new TextField(20);
	File file; // هنا ايش يعني دا السطر 

انشاء كائن لكي يمكننا الوصول الى دوال وخصائص 
الصنف  File
	int numlines;
	Label label1,label2,label3;
	Button b1,b2,b3;
	private int numClicks = 0; // ايش معنى دا السطر 
تم انشاء هذا المتغير ولم يتم استخدامه بعد ذلك لذا يمكنكم حذفه 
    String arrst[]={"out1.txt","out2.txt","out3.txt","out4.txt","out5.txt","out6.txt","out7.txt"}; //هنا ليه سوينا مصفوفه 
سيتم لاحقا انشاء عدة ملفات - تم حفظ اسماء هذه الملفات في هذه المصفوفة 
    String filename;


	public static void main(String[] args) {
		Calc myWindow = new Calc("File Chopper");
		myWindow.setSize(320,150);
		myWindow.setVisible(true);
	}

	public Calc(String title) { //ايش مهنى دا السطر 
هذا المنشأ 
Constructor
للصنف الذي تم تعريفه قبل قليل والمسمى بـ Calc

		super(title); //   ايش معنى دا السطر وايش فايدة كلمه سوبر
هنا يتم استدعاء منشأ الصنف الرئيس 
Frame
والذي يرث منه الصنف 
Calc


		setLayout(new FlowLayout());
		addWindowListener(this);//ايش تعني كلمه ذس ايش الفرق بين الويندوز لسينر والاكشن ليسنر وليش نحط كلمه ذس بي الاقواس


		label1 = new Label("File Name");
		add(label1);

		add(text1);

		label2 = new Label("Number of lines");
		add(label2);
		add(text2);

		b2 = new Button("RUN");
		b3 = new Button("CLOSE");
			b1 = new Button("Browse");
		add(b2);
		add(b3);
			add(b1);

		b1.addActionListener(this);
		b2.addActionListener(this);
		b3.addActionListener(this);

	}

	public void actionPerformed(ActionEvent e) {

		if(e.getActionCommand()=="Browse")
		{

في الاسطر الستة التالية قام المبرمج باستدعاء نافذة فتح الملفات وهي عبارة عن صنف بإسم جي فايل تشوز لكي يقوم المستخدم باختيار احد الملفات لفتحة 
		   JFileChooser fileopen = new JFileChooser();//ايش معنى السطر دا
في السطر السابق تم انشاء كائن من من الصنف جي فايل تشوزر لكي نستطيع استخدام دوال هذا الصنف
	         int ret = fileopen.showDialog(null, "Open file"); // ايش معنى السطر دا 
في السطر السابق قمنا بإظهار نافذة فتح الملفات وستقوم الدالة شو دايلوق بارجاع القيمة صفر اذا قام المستخدم بالضغط على زر موافق لفتح الملف او القيمة واحد اذا ضغط على زر الغاء الامر
	        if (ret == JFileChooser.APPROVE_OPTION) {//جميع جمله الشرط ايش تعني ياليت تشرحوها سطر سطر 
في السطر السابق تم التأكد من ان المستخدم قد قام بالنقر على زر موافق لفتح الملف
	          file = fileopen.getSelectedFile();
في السطر السابق تم حفظ اسم الملف الذي قام المستخدم باختياره في المتغير فايل
	         text1.setText("  "+file.getName());
في السطر السابق تم اظهار اسم الملف في مربع النص تكست ون
	         filename=file.getName().toString();
في السطر السابق تم حفظ اسم الملف في المتغير فايل نيم

	         }

		}

		else if(e.getActionCommand()=="RUN")
		{


			String curr=""; //ليش عرفنا متغير من نوع سترنغ هنا ايش الفايده منو
سيتم لاحقاً قراءة الملف الذي قام المستخدم بفتحه وقراءته سطرا سطرا وحفظ هذه الاسطر في هذا المتغير


             int currnumline=0; // ليش عرفنا المتغير دا 
المتغير السابق لحفظ رقم السطر الحالي 
	         numlines=Integer.parseInt(text2.getText());//ايش دا السطر 
سيتم في السطر السابق حفظ عدد الاسطر التي سيقوم مستخدم البرنامج بإدخالها في المتغير نم لاينز
يجب ملاحظة ان هذا المتغير عدد صحيح وان مربع النص الذي سيقوم المستخدم بادخال عدد الاسطر فيه يتعامل مع مابداخله كنصوص لذا قام المبرمج هنا بتحويل هذه النصوص الى عدد صحيح

	         int test=0;// ليش عرفنا متغير من نوع انتيجر
سيتم لاحقا استخدام هذا المتغير لفحص عدد الاسطر التي تمت قرائتها فمثلا اذا طلب المستخدم ان يقوم البرنامج بوضع كل اربعة اسطر في ملف منفصل سيقوم هذا المتغير بالمساعدة على معرفة عدد الاسطر التي تمت قرائتها حتى الان 
	         int counter=0;//ليش سوينا كونتير 
سيتم لاحقا استخدام هذا العداد للحصول على عنصر من عناصر المصفوفة التي بالاعلى لاستخدامها كاسم ملف 
	         String newline = System.getProperty("line.separator");// ايش معنى دا السطر 
السطر السابق لطباعة سطر جديد



             try { //شرح جملة التراي كلها 
            	    BufferedReader in = new BufferedReader(new FileReader(filename));
            	    String str;
            	    while ((str = in.readLine()) != null) {
     سيتم هنا التاكد من اننا لم نصل الى نهاية الملف واذا كان الامر كذلك سيتم قراءة سطر كامل وحفظه في المتغير اس تي ار       	    	
            	    	currnumline++;
            	    	curr+=str;
            	    	curr+=newline;

            	    	test++;
            	    	if(test==numlines) // شرح جملة الشرط كلها
اذا طلب المستخدم ان يقوم البرنامج بتجزءة الملف الذي اختاره بحيث يتم حفظ كل اربعة اسطر مثلا في ملف جديد ، هنا يتم التاكد من ما اذا تم قراءة اربعة اسطر ام لا
            	    	{		
            	    	FileWriter fstream = new FileWriter(arrst[counter]);
            	        BufferedWriter out = new BufferedWriter(fstream);
            	        out.write(curr);
            	        //Close the output stream
            	        out.close();
                        curr="";
                        System.out.print("  ok  ");
                        counter++;
                        test=0;

            	    	}


            	    }// ايش يعني الثلاثه الاسطر اللي تحت 
            	    in.close();
            } catch (IOException e1) {
            	System.out.print(e.toString());
            	}

            ///////////////////











            	    }
		else //شرح جمله ال ايلس 
		{
			dispose();
			System.exit(0);	

		}
		}





	public void windowClosing(WindowEvent e) { // واخيرا شرح الجمل اللي تحت كلها 
		dispose();
		System.exit(0);
	}
	public void windowOpened(WindowEvent e) {}
	public void windowActivated(WindowEvent e) {}
	public void windowIconified(WindowEvent e) {}
	public void windowDeiconified(WindowEvent e) {}
	public void windowDeactivated(WindowEvent e) {}
	public void windowClosed(WindowEvent e) {}


}

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

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

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

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

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