المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : دعوة لمساعدة طالب سنة ثانية


master
03-05-2008, 03:44 PM
الرجاء وضع كل تمارين لمادة البرمجة المتقدمة 2
للسنة الثانية الفصل الثاني التي يعطيها الأستاذ حنين مع حلها
وجزاكم الله كل خير عنا

Golden man
03-05-2008, 10:09 PM
أي تمارين تريد؟؟

win app or console app؟؟

و الأفضل أن تكتب الأسئلة التي تريد حلها و نتعاون جميعا عليها لأنه من الصعب على شخص واحد كتابة جميع التمارين.

صعب المنال
03-06-2008, 06:18 AM
جاء رجائك بقدر المستطاع...
private void Form1_MouseDown(object sender, MouseEventArgs e)
{
string str = "";
str = e.Button.ToString();
if(str=="Left")
{

MessageBox.Show("Left");
}
else if(str=="Right")
{
MessageBox.Show("Right");
}
}


لمعرفة اي زر ضغنا على الفارة "يميني او يساري"

private void Form1_MouseMove(object sender, MouseEventArgs e)
{
this.Text = "x=" + e.X.ToString();
this.Text += "y=" + e.Y.ToString();
}

لتضهر لك احداثيات الفارة على الفورم ...


private void button2_Click_1(object sender, EventArgs e)
{
if(MessageBox.Show("are you sure","colse",MessageBoxButtons.OKCancel)==DialogResult.OK)
Close();
}

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


MessageBox.Show(" اضهار اي رسالة ");

اضن التعليمة السابقة مارا على راسك


هذا كل ما ياتي بخاطري الان بالنسبة للwin app
اما للــconsole
فلا جديد للاسف عن الفصل الاول


اخبرنا بكل التطورات التي تحدث معك ....نحنا بانتضار اسالتك


الله معك

master
03-06-2008, 07:40 AM
شكر كبير للأخوة كولدن مان و صعب المنال على التعاون والرد السريع
الحقيقة بدي تمارين win app
لأن كثير من الطلاب ما عم يعرفوا يحلوا التمارين يلي عم يعطينا ياها الأستاذ حنين
و جزاكم الله كل خير

صعب المنال
03-06-2008, 10:32 AM
شكر كبير للأخوة كولدن مان و صعب المنال على التعاون والرد السريع



لا مشكلة....

الحقيقة بدي تمارين win app
لأن كثير من الطلاب ما عم يعرفوا يحلوا التمارين يلي عم يعطينا ياها الأستاذ حنين


اتريد حل للوظائـــف ام المحاظرات التي تفقدها ... حدد يا ابيض يا اسود

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

وجزاك

الله معك

master
03-06-2008, 03:06 PM
أريد الإثنين من فضلك
وشكراً

صعب المنال
04-04-2008, 04:44 PM
أريد الإثنين من فضلك

انت تريد وانا اريد والله يفعل ما يشاء..
بس من بعد اذن الادارة لو ان اسم الموضوع يتغير ليعبر عن محتواه ..
سنضع ولن اضع وحدي طبعا كل شي يتعلق بالسي شوربا ان كان API او console
في هذا الموضوع على بركة الله

صعب المنال
04-04-2008, 05:09 PM
اضهار الوقت في رأسية الفورم كما اسماها استاذنا

بالبديا نقوم بانشاء object الـــ timer من العناصر ونضعه على الفورم ( وكما قال العلم واستاذنا الفاضل ان هذا العنصر غير مرئي لا في الــ Designtime ولا في runtime

في حدث الــtime نضع الكود التالي...

int h = System.DateTime.Now.Hour;
int m = System.DateTime.Now.Minute;
int s = System.DateTime.Now.Second;
if (h >= 12)
{
this.Text = h + ":" + m + ":" + s + "pm";
}
else
{
this.Text = h + ":" + m + ":" + s+"am";
}


اما في حدث الـــform load :D الصراحة معجب بهالاسم انا عليها حجات ميكروسفت ..اللهم عافينا

نضع التعليمتان التاليتان
timer1.Interval = 1000;
timer1.Enabled = true;


وان شالله بس تكبس الزر الاخضر فووق ...وتشغل البرنامج رح يطلعلك
الوقت حسب المهتز الكريستالي يلي بالمذر تبعك



وعلى سيرت المذر بورد وانا عم بحبش عن قدرة لغات البرمجة والقدرة القابضة لها بالتعامل مع الشبكات والهارد وير
وجدت ان ميكرو سوفت ..قد انزلت اخيرا هذه الميزة للسي شوربا للتعامل مع الهارد وير
بعد ما يأست من نقصان مكاتب الـــDot Net لديها بضن بال نسخة 2005 وما فوق
ويمكن بال 2008 فقط
على كل حال جربوها بال 2005 اذا ما شتغلت معناتو بدكون ال2008 لانو يلي عندي 2008

وعلى قولة احد اصدقائنا بالمنتدا
أن تأتي متأخرا خيرا من أن لا تأتي أبدا 4smil4smil4smil4smil4smil

using System;
using System.Data;
using System.Text;
using System.Drawing;
using System.Windows.Forms;
using System.ComponentModel;
using System.Collections.Generic;
using System.Runtime.InteropServices;


namespace serial
{ public partial class Form1 : Form
{
[DllImport("CPUSerialNumber.dll")]
public static extern IntPtr CPUSN();

public Form1()
{InitializeComponent();}

private void Form1_Load(object sender, EventArgs e)
{
IntPtr ptrCPUSerialNumber = CPUSN();
string strCPUSerialNumber = Marshal.PtrToStringBSTR(ptrCPUSerialNumber);
Marshal.FreeBSTR(ptrCPUSerialNumber);
label1.Text = "CPU Serial Number :" + strCPUSerialNumber;
}
}
}


ياتي لك كما قلنا بالسيريال نبر تبع المذر بورد


والتالي وجدته جاهز .... بيجيب ال MAC address لكرت الشبكة
وبالمقارنة مع الامر ipconfig/all من ال dos بتلاحظ نفس القيمة لل MAC address

public static void DisplayTypeAndAddress()
{
IPGlobalProperties computerProperties = IPGlobalProperties.GetIPGlobalProperties();
NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces();
Console.WriteLine("Interface information for {0}.{1} ", computerProperties.HostName,
computerProperties.DomainName);

foreach (NetworkInterface adapter in nics)
{
IPInterfaceProperties properties = adapter.GetIPProperties();
Console.WriteLine(adapter.Description);
Console.WriteLine(String.Empty.PadLeft(adapter.Des cription.Length,'='));
Console.WriteLine(" Interface type .......................... : {0}",
adapter.NetworkInterfaceType); Console.WriteLine(" Physical Address ........................ : {0}", adapter.GetPhysicalAddress().ToString());
}
}

صعب المنال
04-04-2008, 05:30 PM
في كمان اعطانة شي اسمو صلاحية البرنامج ...
يعني تحط لبرنامجك وقت مثلا بعد اليوم الفلاني من الشهر الفلاني من السنة الفلانية لا يعمل البرنامج يعني يصير بدو سيريا وما بعرف شو متل هدول برامج يلي ما بعرف شو ..ما علينا...
البرنامج يحل بعدة طرق ..انا حليتو بالطريقة التالية

اولا : في بداية class وقبل اي method في برنامجك نضع هذا الكود


int y = System.DateTime.Now.Year;
int m = System.DateTime.Now.Month;
int d = System.DateTime.Now.Day;
int yy = 2008;//هذه السنة
int mm = 3;//اذا اردت البرنامج لا يعمل ضع شهر تجازناه اما اذا ارته يعمل ضع شهر لم ندخل به بعد
int dd = 1;//يوم الانتهاء


اما في حدث ال form load نضع التعليمة التالية
if (yy >= y && mm <= m)
{
MessageBox.Show("البرنامج غير صالح للاستخدام\nيرجا زيارة \n http://www.100hla.com \nلتفعيل البرنامج ");
Close();
}
بس تنفذو اذا حطيت وقت مضى رح تطلعلك رسالة بتقلك انو البرنامج غير صالح للاستخدام...
ومن هاللعي ..اما اذا حطيت وقت ما مرينا فيه رح يتنفذ الفورم


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

هذا الكود بيجيب الip address اذا مرقت الو ال hostname او كما تسميها شارب DNS

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
namespace Getip_Dns
{
class Program
{
static void Main(string[] args)
{
string howtogeek = "www.google.com";//هنا اسم الموقع او الجهاز
IPAddress[] addresslist = Dns.GetHostAddresses(howtogeek);

foreach (IPAddress theaddress in addresslist)
{
Console.WriteLine(theaddress.ToString());
}

}
}
}


حاليا الله معكم..لكن لي عودة

صعب المنال
04-04-2008, 06:01 PM
بااااااااااااااااك

نحكي شوي console app
بالنسبة للــconsole الاستاذ مركزنا هذا الفصل على الــAPI ما بعرف ليش ومرقنا شغلتين consle
وهنا ال abstract و الــdelegation او التفويض :D ليش الضحك خلقة الله

بالنسبة للــabstract النا جلسة عليها وبعض التمارين الضخمة
بس بالنسبة للــتفويض فنحنا بالجافا ما بنفوض ولا نقبل الصلح متل الزير سالم و وكليب
لذلك رح حطلكون الكود
هلا بالنسبة للdelegat ما بعرف شو الهدف منها بس تقريبا هي مشابها لل interfaces الواجهات وبالنسبة للواجهات مهمتها الاكبر هي الوراثة المتعددة وبالنسبة للوراثة المتعددة بدها موضوع لحالها اذا اعطانا اياها الاستاذ للــinterface رح تعرفو الوراثة المتعددة لشو

على كل حال خلينة بالتفويض وال delegat
public delegate void delfun();
الصراحة السطر السابق كانو عم نعرف كلااس بشكل غير مباشر نفس المبدا بالــinterface

class programe{
static void fun1()
{
console.writeline("implement method one")
}
static void fun2()
{
console.writeline("implemente method tow ")
}}
داخل الكود السابق يلي هوا عبارة عن كلاس يحوي تابعين او خلينا بالجو اسمون طريقتين tow method
قمنا بتحقيق عمل كل طريقة .. يعين هون بتجي مسالة الوراثة المتعددة ...
او method وهي fun1 بتطبع رسالة معينة
وتاني method وهي fun2 بتطبع رسالة معينة

هلا بنجي على الmain
main()
{
delfun d1=fun1;
delfun d2=fun2;
d1();
d2();

تعريف object واستدعئه ..لكن لكل زمان رجاله وهون هي حرة بطريقتها للاستدعااء

الله معكم.

صعب المنال
04-04-2008, 06:21 PM
كمان بااااك

بس باك صغيرة لانو مستعجل

بشان موضوع ال cut && paste && copy
ونسينا الـــــــselect all

كالعادة شو ما كان عنا textbox او combobox او richTextBox

لعمليات النسخ واللصق والقص والتحديد نستخد اغراض الشوربا الجاهزة (اكيد مو ماجي :D)

رح نفذ على textbox
textbox.Cut();//for cut
textbox.Copy();//for copy
textbox.SelectAll();//for all
textbox.Past();//for past

الله معكم.

صعب المنال
04-06-2008, 11:01 AM
بااااااااااك
نحكي عن الـــ richTextBox

http://www.100hla.com/up/uploads/8ddbed3d5c.jpg (http://www.100hla.com/up)



// فتح نص محدد
richTextBox2.LoadFile("C:\\mmm.rtf");

// مربع حوار فتح نص
FileDialog ff;
ff=new OpenFileDialog();
ff.ShowDialog();
string ss=ff.FileName.ToString();
richTextBox2.LoadFile(ss);



// تغير الخط الى خاصية الايطالي المائل
richTextBox2.Font = new Font("Verdana", 12, FontStyle.Italic);

لون الخط احمر
richTextBox2.ForeColor = Color.Red;





// حفظ يلي بداخل الريش
richTextBox2.SaveFile("C:\\MyDocument.rtf",RichTextBoxStreamType.RichText);

// مربع الحفظ
FileDialog ff;
ff=new SaveFileDialog();
ff.ShowDialog();
string ss=ff.FileName.ToString();
richTextBox2.SaveFile(ss, RichTextBoxStreamType.RichText);

//البحث داخل الريش على كلمة معينة
richTextBox2.Find(textBox1.Text, RichTextBoxFinds.MatchCase);

//الخط العريض
richTextBox2.SelectionFont = new Font("Verdana", 12, FontStyle.Bold);

//تغير لون الخط الى ازرق
richTextBox2.SelectionColor = Color.Blue;

//مسح كافة النص داخل الريتش
richTextBox2.ResetText();

//تحديد الكل
richTextBox2.SelectAll();

//انشاء رابط
private void richTextBox2_LinkClicked(object sender,System.Windows.Forms.LinkClickedEventArgs e)
{
System.Diagnostics.Process.Start(e.LinkText);
}



تقريبا الصورة يلي موجودة قريبا للاكواد


لي عودة ...

الله معكم.

صعب المنال
04-06-2008, 11:14 AM
برنامج صغير خاص بالشبكات ..تقريبا قريب لامر ipconfig/all
يلي بالدووس

هوا كمالة لمعلقتي البرمجية .... رجائا بلا تعليق:D
يلي عملتها بالجافا ... بس غيرت الاتجاه للشوربا ...

يعني بجيب الاي بي ادرس الخاص بجهازك وبالاضافة للماك ادرس للكروت الشبكة يلي عندك


بتلاقوها هون
http://www.100hla.com/up/uploads/f3ae425684.zip

صعب المنال
04-06-2008, 11:41 AM
بااااااك


شوية شغلات بخصو textBox و radioButton

بيشرحو حالو لحالو


Radio and Check Box

//we use sender obj to check if we select radio button 1 or radio button 2
private void radioButton1_CheckedChanged(object sender, System.EventArgs e)
{
if(sender == radioButton1)
xx=0;
else if(sender == radioButton2)
xx=1;
}


// we call checked property by the radio button object and check its value if it is true or false. This process is used to fix which radio control is selected
private void radioButton3_Click(object sender, System.EventArgs e)
{
if(radioButton3.Checked)
MessageBox.Show("r3");
else if(radioButton4.Checked)
MessageBox.Show("r4");
}

// call checked by the check box object and show if we checked or not
private void checkBox1_CheckedChanged(object sender, System.EventArgs e)
{
if(checkBox1.Checked)
MessageBox.Show("hhhh");
}




بالنسبة للــtext Box



ListBox & ComboBox

// To assign selected text value from combo or list box to text box control
textBox1.Text=comboBox2.Text;
textBox1.Text=listBox1.Text;

//To add an item to a list or combo box control
listBox1.Items.Add(textBox1.Text);
comboBox1.Items.Add(textBox1.Text);

//To remove an item from a list or combo box control
listBox1.Items.Remove(textBox1.Text);
comboBox1.Items.Remove(textBox1.Text);


//To remove an item at the 3rd location of the list or combo box control
listBox1.Items.RemoveAt(2);
comboBox1.Items.RemoveAt(2);


//To insert an item at the 4th location of the list or combo box
listBox1.Items.Insert(3,"NAMEER");
comboBox1.Items.Insert(3,"NAMEER");



اذا حدا عندو شي جديد API يا ريت يضيفو ...بس يا ريت ملتزمين مع الاستاذ
بتوقع اكتر من هيك API ما بقا نحكي ... الموضوع الجاي اذا ما صار شي
بنحكي console

الله معكم.

صعب المنال
04-06-2008, 01:24 PM
بااك
للامانة ... ومن اجل الحديث ..من فعل خير فليكمله .. نسيت شغلة بالــtimer
وهي زر ايقاف الوقت والزر الاخر لاستمرار الوقت...واعذروني اذا ناسي شغلات تانية
لانو الصراحة انا ما بتابع مع الاستاذ ...

نرجع للموضوع ...

تعليمة ايقاف الوقت تحت حدث الزر STOP

timer1.Stop();


تعليمة استمرار الوقت تحت حدث الزر START

timer1.Start();



الله معكم.

صعب المنال
04-07-2008, 05:54 AM
بااااك

الــ console يلي عنا مو كتير ...
رح نحكي عن الــfinal او الصف الاخير او ما يسما بالسي شارب Sealed

هو صف غير قابل للــextends يعني عملية الاشتقاق يلي هي نقطتين بالسي شارب
sealed calss anyname
{
_
_
_
}
class any name1:anyname//Eroor
{
-
-
-
}

يعني بصريح العبارة هوا الكلاس يلي ما بنقدر نعمل منو اشتقاق ... لشوف فايدتو ما بعرف ...
يعني الكلاس يلي ما بنعمل ممنو اشتقاق هوا وقلتو .. بس انا برأيي انو هوا ما بيفرق عن
الكلاس الاب object بشي
لانو انا دايما بحسو للكلاس النهائي او الsealed انو كلاس ذكي دائما بيزرع نفسو بالبرامج يلي عم تكتبها لحتا يكون مستعد لاي عملية انشاء oject منو... هاي وجهة نضري وعلى تجربة .. ما بعرف بالنسبة الكون شو

sealed class Local
{
public int x=2, y=6;
public void print()
{
Console.WriteLine("X=" + x + "\n" + "y=" + y);
}
}

class Program
{

public void print()
{
Console.WriteLine("java ONLine");
}


static void Main(string[] args)
{
Program p = new Program();
Local L =new Local();
L.x = 4;
L.y = 5;
L.print();
p.print();
}
}


الله معكم

صعب المنال
04-07-2008, 06:53 AM
باااااااااااك


Abstract الفئات المجردة
والمعنى منة الفئات الخالية من الكود أي تحتوي على توقيع فقط أي يبقى بدون تنفيذ أي نستطيع أن نقول
النوع المجرد من البيانات ليس له وجود في الواقع إنما هو في الحقيقة مفهوم أو فكرة للأصناف الأخرى
من نوع مجرد فجميع show من نوع مجرد والدالة B التي تتشابه فمثل هذا الكود نلاحظ ان الكلاس
جعلناها تطبع نسبة A آما تشاء ففي الكلاس show تعيد تعريف الدالة B الكلاسات التي ترث آلاس
جعلناها تطبع نسبة الربح 15 .ً فهنا يتبين فائدة الأصناف المجردة أي تتيح C الربح مثلاً 10 . وفي الكلاس
للعملاء وضع الكود الخاص بهم



abstract class B {
public int i=1;


public abstract void show();
}
class A : B {


public override void show()
{
Console.WriteLine(this.i*.10);
}
}
class C : B {
public override void show(){
Console.WriteLine(this.i*.15);}
}
class Program
{
static void Main(string[] args)
{
Program p = new Program();
A a = new A();
C b = new C();
// a.i = 2;
// b.i = 2;
a.show();
b.show();

}
}



الله معكم .

صعب المنال
04-07-2008, 07:02 AM
• لا يمكن وضع طريقة مجردة بداخل الكلاس غير مجرد آهذا الكود .

class B {int i;
B(int s){i=s;}
abstract void show();
}






• يجب على الكلاس الغير مجرد الذي يرث من الكلاس مجرد تنفيذ جميع الطرق حتى ولو لم
يستخدمها آهذا الكود لن ينفذ إطلاقاً



abstract class B {int i;
B(int s){i=s;}
abstract void show();
abstract void show2();
}
class A : B {
A(int s){super(s);}
void show(){console.writeline(super.i*.10);}
}






•آهذا الكود خاطئ لا يمكن الحصول على فئات مشتقة من الكلاس المجرد باستخدام الكلمة new



abstract class B {int i;
abstract void show();
}
class aldopaee {
public static void main(String args[]) {
B a=new B(100);
}
}






من الممكن التصريح على الكلاس مجرد يحتوي على طرق غير مجردة .



class B {
void show(){}
}
abstract class A : B {
abstract void show();
}
class C extends A {
}
class aldopaee {
public static void main(String args[]) {
C a=new C(100);
}
}




من الممكن إن يكون الكلاس الابن مجرداً حتى ولو آان الكلاس الأب غير مجرد .




class B {int i;
B(int s){i=s;}
void show(){console.writrline(super.i*.15);}
}
abstract class A : B {
A(int s){super(s);}
void show(){console.writrline (super.i*.10);}
}




الله معكم .

يونس
04-13-2008, 06:22 PM
والله يا صعب المنال غطيت وكفيت
وشكرا للك