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

مشاهدة النسخة كاملة : عندك سؤال في الـ #C تفضل هنا



الصفحات : [1] 2 3 4 5 6

Developer
10-03-2006, 07:39 PM
طبعا الموضوع سأستفيد منه أنا وأنتم كمان ، وهو خدمي لطلابنا وطالبتنا

الذين يواجهون صعوبات في تعلم هذه اللغة ، الموضوع ليس مقتصر

علي فقط ، فمن يستطيع المساعدة فليتقدم ، وكلنا سنخدم بعض سوياً

سأخصص موضوع قريبا لقواعد البيانات SQL Server 2005

مشابهة لفكرة هذا الموضوع

والله الموفق ....

المتميز
10-03-2006, 07:50 PM
السلام عليكم ..


بارك الله فيك أخي العزيز وما قصرت على جهودك الذي يشهد لها الكثير ..


سأستهل الأسئلة وأسمح لي بسؤال بسيط ..


في أحد البرامج التي عملتها على السي شارب ..
وبالضبط في WindowsApplication ..

واجهتني مشكلة .. وأتمنى حلها من قبلك ..


هب أنني أرغب في جمع عددين زمنيين .. بغض النظر عن قيمتهما ..

ماذا لو كان لدي عشر كسري مثل هذا الرقم .. ( 4.53 )

وأريد أن أجمعه مع عدد زمني مثل ( 07:45 )



الحقيقة أنني توقفت في هذه المشكلة ولم أستطع الحصول على إجابة ..


كيف يمكنني تحويل الرقم من هيئة عشرية إلى هيئة زمنية ..
بحيث يتيح لي جمع العددين ..









:
:


المشكلة الثانية ..

ماهي دالة ضبط الخرج العشرية ..

كمثال توضيحي لهذه المشكلة ..

عندما أطلب من البرنامج إجراء عملية القسمة ..

سيخرن الناتج في المتغير X ..
وليكن الناتج هو 4.3555555555555

أنشأت متغير جديد هو Y .. كيف يمكنني حفظ الرقم السابق مقربا إلى 100 .. بحيث أن ..

Y = 4.36




هذه المشكلتين توجهني حاليا في أحد تطبيقاتي ..

أشكرك أخي العزيز على مبادرتك ..



تقبل احترامي ،،




أخلص التحايا :)

Berserk
10-03-2006, 08:17 PM
بالنسبة للمشكلة الاولى

نأخذ العدد بعد الفاصلة لنأخذ مثال للعدد (4.50) "ويعتبر هنا اربعة ونصف كعدد"

سيكون العدد بعد الفاصلة هو (50) نضربه في 60 ثم نقسمه على 100 نحصل على الناتج وهو 30 وهو نصف ساعة كمفهوم الزمن
سيصبح الناتج 4:30 يعني الساعة اربعة ونصف


لماذا 60 ؟ لأن الساعة فيها 60دقيقة

لاادري ان كان شرحي واضحا

اما المشكلة الثانية سأبحث عن حلها قريبا

Developer
10-03-2006, 08:41 PM
أشكرك أخي Berserk على التجاوب

بالنسبة للسؤال الثاني ، هناك مكتبة في السي شارب خاصة بالرياضيات واسمها MATH

وللتقريب الأعداد نستخدم Round إليك الحل

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

double A = 0.2365;
double B = Math.Round(A,2);

الآن الخرج سيكون العدد
0.20

وهذه أمثلة على التقريب وبجوارها ناتج العملية


Math.Round(4.4); //Returns 4.0.
Math.Round(4.5); //Returns 4.0.
Math.Round(4.6); //Returns 5.0.

طبعا هناك طريقة أخرى وهي

Double myDouble = 2.368;
string myString = myDouble.ToString("F2");

المتميز
10-03-2006, 08:55 PM
جزاك الله خير أخي Berserk ..

ربما سؤالي لم يكن واضحا وأعتذر عن ذلك ..

ما قصدته بالضبط عن المشكلة الأولى ..

كيف سأجعل البرنامج يقرأ العدد الذي بعد الفاصلة ..


مثال توضيحي ..

لدي متغير X أسندت له القيمة 5.3458 ..

أنشأت متغير جديد Y ..

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

Y = 3458



لا أعلم حقيقة إن كنت سأستخدم المصفوفات لقراءة الرقم ..
ولكني متيقن من وجود دالة للقراءة ..
سيكون لي القدرة بها التحكم في قراءة العدد العشري ..

أجدد الشكر لك أخي العزيز Berserk ..




:
:


أما بالنسبة للمشكلة الثانية .. فجزاك الله كل خير أخي العزيز .. C#_Developer ..

نعم هذا ما أريده .. تقريب الأعداد إلى خانتنين أو ثلاث حسب الحاجة ..

كفيت ووفيت وما قصرت ..



لكن هل أن أسأل ..

أعتقد أني بحاجة إلى إضافة اسم المكتبة في أعلى الكود البرمجي ..
هل تعينني على كتابته .. ؟؟




لكما التحية ..




أخلص التحايا :)

Berserk
11-03-2006, 03:31 AM
مثال توضيحي ..

لدي متغير X أسندت له القيمة 5.3458 ..

أنشأت متغير جديد Y ..

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

Y = 3458

طيب..

الكود اللي فكرت فيه هو هذا ان شاء الله ما يكون معقد ..



double x=5.3458;
double y=(x-(int)x)*10000; // y = (5.3458 - 5)*10000
Console.WriteLine(y); // y = 3458


السطر الاول وضعنا القيمة 5.3458 في x


(int)x

هذا الكود يقوم بتحويل العدد العشري (عدد ذو فاصلة ) الى عدد صحيح اي سيصبح الناتج 5

تسمى هذه العملية بلغة الـ سي شارب بـ Type Casting وهي تحويل النوع مؤقتا داخل البرنامج

طبعا لايقوم بعملية التقريب كما شرحه اخي C#_Developer

وانما يقوم بتجاهل الاعداد بعد الفاصلة ويأخذ فقط العدد الصحيح

حتى ولو فرضنا ان x بـ 5.9999 فان (int) x سيصبح 5 اي تجاهل الارقام التي بعد الفاصلة

نحن الان نريد الاعداد بعد الفاصلة نقوم بطرح العدد الصحيح من العدد العشري

وسنحصل على الناتج 0.3458

حتى نحرك الفاصلة يمينا اربع خانات نضرب بـ 10000

يصبح لدينا الناتج بـ 3458

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

وعذرا على الشرح المطول ...

Developer
11-03-2006, 03:12 PM
إليك الحل النموذجي أخي العزيز المتميز للسؤالين

بالنسبة للسؤال الأول . طريقة الأخ Berserk صحيحة ولكن لمن يكون الرقم معروف لديك ، لكن افرض ما تعرف الرقم حتكون هناك مشكلة . ولتصحيح الخطأ .

هناك خاصية رائعة في السي شارب اسمها Split هذه الخاصية تعمل على تقسيم النص ( يعني لازم نحول أولا الأرقام لحروف )

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

http://www.cpestudents.net/upload/up/Csharhp.gif



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

http://www.cpestudents.net/upload/up/chd.gif

والله الموفق

*المبدع*
11-03-2006, 03:40 PM
ماشاء الله سلمت يمناك


اجبت فاختصرت


الى الامام اخي C#_Developer

المتميز
11-03-2006, 04:39 PM
يا هلا عزيزي .. Berserk ..

حلك منطقي جدا ..

بالتالي عندما نريد مثلا إسناد الرقم 2.35467 إلى المتغير X ..

فإن علينا أولا تقريب العدد .. باستخدام الدالة التي أفادنا بها الأخ C#_Developer ..
وهي دالة الـ Rund ..

إلى قيمة عشرية معلومة
يعني إلى 2 أو إلى 3 أو إلى أي عدد ..

المهم أن تكون معلومة ..

بلا شك ..

سيخرج لنا عدد معلوم عدد الخانات العشرية ..



هنا المشكلة تم حلها بالكامل ..


يعطيك العافية على المشاركة وإن شاء الله الجميع يستفيد ..
وأنا أولكم ..



أجدد الشكر لك عزيزي ..

أخلص التحايا :)

المتميز
11-03-2006, 04:40 PM
هلا بالغالي .. C#_Developer ..

ألف شكر لردك النموذجي ..

فعلا أفصحت عن أشياء جديدة في عالم السي شارب ..


:
:

بالنسبة لحل الأخ Berserk .. حتى لو كان العدد غير معلوم ..
باعتقادي أن النتيجة لن تتغير ..

وسيعطي حل صحيح ..



لكن من الرائع جدا رؤيتي لدالة الـ Split التي تفيدنا في تقسيم النص ..

أستفدت منها كثيرا .. فجزاك الله خيرا ..


أرى أخي الكريم أنك أستخدمت برمجة الـ Console Application
مع أن برنامجي في الـ Windows Application



أجدد الشكر الجزيل لجهودك معي ..


تقبل احترامي ،،


أخلص التحايا :)

Developer
11-03-2006, 05:40 PM
بالنسبة لحل الأخ Berserk .. حتى لو كان العدد غير معلوم ..
باعتقادي أن النتيجة لن تتغير ..

وسيعطي حل صحيح ..






عزيزي المتميز حل الأخ Berserk سليم 100% لمن تكون قيمة العدد بعد

الفاصلة معروفة ، حتى تفهم ما اقصده جرب الأرقام التالية بدل قيمة

x التي وضعها الأخ berserk

5.3458343

5.332325435


ايش لاحظت ؟

لازم هنا تغير قيمة الضرب في 10000 على حسب الأرقام الموجودة بعد الفاصة




أرى أخي الكريم أنك أستخدمت برمجة الـ Console Application
مع أن برنامجي في الـ Windows Application



في العمليات الحسابية مافي فرق بين الكنسول والويندوز ابليكيشن

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

واحنا نحلها بالتحويلات

عموما انا صممت ويندوز فورم كالتالي

http://www.cpestudents.net/upload/up/ad.gif


وهذا الكود الموجود في زر Button الأول


private void button1_Click(object sender, EventArgs e)
{
double NumberWithComma = Double.Parse(textBox1.Text);

NumberWithComma = Math.Round(NumberWithComma,2);

label1.Text =Convert.ToString(NumberWithComma);


}

وهذا الكود الموجود في Button الثاني


{
string number = textBox1.Text;

char[] sperator = { '.' };

string[] seperate = number.Split(sperator);

double xSplit = Convert.ToDouble(seperate[1]);

label2.Text = Convert.ToString(xSplit);
}

المتميز
11-03-2006, 09:18 PM
السلام عليكم ،،

كلامك صحيح ومفهوم عزيزي ..

توصلت بحمد الله تعالى إلى الكود الذي أردته من نقاشي هذا ..

حيث أمكن تقريب العدد إلى عدد معين من الخانات بواسطة دالة الـ Rund ..

ومن ثم فصل الأرقام العشرية عن الرقم الصحيح بواسطة دالة الـ spilt ..


عموما أضفت إضافة جديدة وهي إمكانية التحكم في عدد الخانات التي تريد تقريبها ..

وكمثال تجريبي هذا هو ناتج عملية ترجمة الكود ..


http://www.ta-u.com/taibah/images/57.gif


وهذا هو الكود الخاص بالـ Button الوحيد [ حســاب ] ..


private void button1_Click_1(object sender, System.EventArgs e)
{

string rund = textBox2.Text ;
int rund1 = Convert.ToInt32(rund) ;

double NumberWithComma = Double.Parse(textBox1.Text);

NumberWithComma = Math.Round(NumberWithComma,rund1);

label2.Text =Convert.ToString(NumberWithComma);

string Numberafterrunder = Convert.ToString(NumberWithComma) ;

char[] sperator = { '.' };

string[] seperate = Numberafterrunder.Split(sperator);

double xSplit = Convert.ToDouble(seperate[1]);

label4.Text = Convert.ToString(xSplit);
}



الحقيقة لا يسعني إلا شكرك عزيزي C#_Developer على إفادتك لي في المشكلة ..
والحمدلله أستطعت حلها بفضلك ..


سيكون لي أسئلة لاحقة إن شاء الله لتعم الفائدة ..


أجدد الشكر لك عزيزي ،،




أخلص التحايا :)

Developer
12-03-2006, 01:02 PM
روعة فكرة البرنامج ، ما شاء الله كل هالبرنامج وتقول خبرتك بسيطة في الدوت نت هههه

بالتوفيق عزيزي

المتميز
12-03-2006, 03:45 PM
يا هلا عزيزي .. C#_Developer ..

جزاك الله خير على إطرائك ..


في نظرتي الشخصية .. لا أزال صغيرا جدا في الدوت نت ..
وإن شاء الله تتحسن برمجتي ..


عموما عزيزي ،،

دعني أكمل معك نشر الفائدة للجميع .. ولتسمح لي بهذا السؤال ..

ما هي الدالة التي أستطيع من خلالها قراءة النص ..
بحيث أستخدم فيها المصفوفات ..

وكمثال توضيحي على ذلك .. هب أنني أدخلت أسمي الكامل الرباعي في textBox1.Text ..
ومن ثم أنشأت 4 مدخلات نصوص ( textBox.Text ) ..

كيف أستطيع توظيف دالة القراءة ودالة التكرار for .. بجانب استخدام المصفوفات ..
ليخرج لي اسمي مفصلا في كل TextBox ..

لو كان لدينا الاسم التالي .. محمد عبدالله علي النزهة

أرغب في توظيف الدوال السابقة في جعل الاسم يخرج مفصلا كما يلي ..


=====================

الاسم المدخل : محمد عبدالله علي النزهة

[ معالجة الاسم ]

الاسم الأول : " محمد " .

الاسم الثاني : " عبدالله " .

الاسم الثالث : " علي " .

الاسم الرابع : " النزهة " .

====================



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

أعتقد من وجهة نظري أنني سأستفيد من وجود الفراغ بين الكلمات ..
وتوظيف دالة For في القراءة ..

لكن مشكلتي في قراءة النص .. كيف سأجعل البرنامج يقرأ النص ..


أحببت أن أنهل مما لديك ..

وجزاك الله كل خير مقدما ..



تقبل احترامي ،،




أخلص التحايا :)

النبراااااس
12-03-2006, 05:17 PM
أخوي C# developer


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


أولا أشكرك على المبادرة الممتازة التي راح نستفيد من إن شاء الله .


ثانيا عندي سؤال بسيط إن شاء الله وهو أني سويت برنامج
يدخل المستخدم فيه البيانات المطلوبة وتخرج له النتائج .

بس حبيت اضع button يكون فيه مثلا كلمة جديد
بحيث إذا ضغط عليه المستخدم تنمسح البيانات الاولى ويقوم بإدخال بيانات جديدة.



والسؤال الثاني هل أقدر من خلال windows application
اخلي textBox يتكرر.
مثلا في ادخال المصفوفات عن طريق الفور
أو مثلا يدخل المستخدم أي عدد نقول 5
بعد ذلك يتكرر له textBox خمس مرات .




والف شكر لك أخوي........

Berserk
12-03-2006, 07:54 PM
بالنسبة لتقسيم الجملة

http://www.lahdah.net/uploads/a16a5ed4aa.jpg

هذا الكود لزر الـ Button


string[] Name =textBox1.Text.Split(' ');

textBox2.Text=Name[0];
textBox3.Text=Name[1];
textBox4.Text=Name[2];



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

ثم نضع كل كلمة في textbox خاص به كما هو موضح بالكود

المتميز
12-03-2006, 08:18 PM
السلام عليكم ،،

ليسمح لي أخي العزيز C#_Developer .. بالرد نيابة عنه ..

بالنسبة للنقطة الأولى ..

لكي تقوم بإنشاء زر جديد button يقوم بمسح البيانات من جديد ..
فهذه بسيطة للغاية ..

دعني في البداية أشرح لك المثال على برنامجنا السابق
الذي أنشئناه لتقريب العدد ..

وهذه صورته ..


http://www.ta-u.com/taibah/images/57.gif


سنقوم بإنشاء زر جديد button في أي مكان ..

ثم ننقر عليه نقرتين لنبدأ في كتابة الكود البرمجي ..

الحقول التي تريدها أن تمسح وتبدأ من جديد ..
يجب كتابتها كمخرج وتساوي هذه القمية ( بهذا الشكل : "" ) ..

أعطيك مثال سريع ..
لو كان لدينا مخرج textBox1.Text ويوجد به قيمة تسوي 10 ..

ونريد بمجرد النقر على زر [ مسح الحقول ] ..
تصبح قيمة الـ textBox1.Text فارغة .. !!

فسنيبغي علينا كتابة سطر الأوامر بهذا الشكل ..


textBox1.Text = "" ;


:
:

دعنا نعود للبرنامج السابق ..

كم حقل سنحتاج إلى مسحه .. ( شاهد الصورة أعلاه :) ) ..

بالطبع ستقول .. البيانات هي كالتالي ..

>> العدد المراد تقريبه
>> عدد خانات التقريب

>> تقريب العدد
>> الأرقام الموجودة بعد الفاصلة


لا بد أن ننتبه إلى أن خرج الحقل ( العدد المراد تقريبه ، عدد خانات التقريب )
من نوع TextBox.Text ..

وخرج الحقول ( تقريب العدد ، الارقام الموجودة بعد الفاصلة )
من نوع Label.Text


إذا الآن بسهولة تامة .. سنكتب هذا الكود ..


private void button2_Click(object sender, System.EventArgs e)
{
textBox1.Text = "" ;
textBox2.Text = "" ;

label1.Text = "" ;
label2.Text = "" ;

}

لاحظ الشرح التالي بالفلاش .. كيف يحدث تأثير الزر على تجديد الفورم من جديد ..


WIDTH=382 HEIGHT=445




بالنسبة لتساؤلك الثاني .. الحقيقة السؤال يستحق التجربة ..
سأدع الاخ العزيز C#_Developer إن كان يملك الجواب ..



دمت بخير أخي النبراااس ..


أخلص التحايا :)

المتميز
12-03-2006, 09:01 PM
يعطيك العافية أخي العزيز .. Berserk ..

الحقيقة البرنامج وتم عمله .. وما قصرت ..

لكن الحقيقة أنني اردته بطريقة أخرى .. لتخدمني في عمل برامج أخرى ..
بمعنى أنني فعلا كنت اريد تقسيم الاسم الرباعي مثلا ..

لكن لم يكن مغزاي التقسيم ..

بل دالة القراءة نفسها ..

بمعنى أوضح ..

أريد توظيف دالة الـ for في قراءة نص معين ..
وإعطائي عدد الكلمات التي يحويها ..

بالتأكيد سأستفيد بشكل كبير من الفراغات بين الكلمات ..
لكن الغاية .. هي كيفية التحكم بالقراءة ..
كما في ذكرت .. إيجاد عدد الكلمات ..


هذا ما أرغب معرفته ..
وجزاك الله خير وما قصرت ..



التحية .. :)

النبراااااس
12-03-2006, 09:18 PM
الف شكر أخوي المتميز



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



والله انحرجت من السؤال تافه تافه




على العموم شكرا على المجهود

Developer
12-03-2006, 09:20 PM
أشكركم جميعا على التجاوب هذا الذي أريده الكل يشارك ويتفاعل حتى تعم الفائدة

بالنسبة لسؤالك أخي المتميز لقد جاوبك عليه أخي العزيز Berserk اجابة نموذجيه وهو استخدام split

أما بالنسبة لتساؤلات الأخ نبراس فالسؤال الأول اجاب عليه أخي المتميز اجابة نموذجيه وشرح رائع بالصور

أما بالنسبة للسؤال الثاني ، سأجاوب على حسب مفهومي للشيء الذي تعلمته ..

حتى ننشيء أي كنترول في الفورم هناك خطوتين لابد من انشائها

لنأخذ مثال أننا نريد انشاء TextBox

الخطوة الأولى انشاء أوجكت من نوع textbox وهذا الكود للإنشاء


TextBox newtextBox = new TextBox();

الخطوة الثانية اظافة الأوبجكت الجديد للفورم حتى يظهر لنا في الفورم ونستخدم الكود التالي


this.Controls.Add(newtextBox);

هنا تحدث مشكلة وهي كل textbox تنشئه جديد حيكون مكانه نفس مكان texbox اللي قبله يعني كلهم فوق بعض

ولحل هذه المشكلة نستخدم اللوكيشن لتغير مكان كل Textbox جديد بحيث نطلب من المستخدم اعطائنا

مكان لكل textbox جديد .وهذا كود تعديل اللوكيشن


newtextBox.Location = new Point(Convert.ToInt16(textBox1.Text), Convert.ToInt16(textBox2.Text));



عموما فكرتك أخي النبراس على ما اظن ما تنفع السبب انه جميع textbox المضافة في الفورم بالطريقة السابقة

راح تتعامل معها كأنه كائن واحد فقط يعني ماراح ينفع تكتب كود لكل text box جديد . وخصوصا انه

البرنامج شغال . كيف راح تكتب كود أصلاً ؟ للمعلومية جميع الإجابات السابقة على حسب علمي . ممكن أكون مخطيء . والله الموفق

صورة للبرنامج

http://www.cpestudents.net/upload/up/gggggggggg.gif

وهذا هوه الكود كامل


private void button1_Click(object sender, EventArgs e)
{
TextBox newtextBox = new TextBox();
newtextBox.Text = "textbox1";
newtextBox.Location = new Point(Convert.ToInt16(textBox1.Text), Convert.ToInt16(textBox2.Text));
this.Controls.Add(newtextBox);
}

Developer
12-03-2006, 09:25 PM
أخوي المتميز ياريت توضح أكثر

المتميز
12-03-2006, 09:32 PM
أهلا أخي العزيز ،،

ما أقصده ..

سيكون هناك إدخال للجملة التالية في المتغير ( string ) مثلا .. وهي ..

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

أريد استغلال دالة الـ for ... والفراغات في الجملة أعلاه ..
لكي أستطيع تكوين كود يقوم بعد الكلمات ..

وإسنادها مثلا إلى المتغير numbers ..
والتي بالطبع ستحوي النتيجة : 8 ..

أي 8 كلمات ..





التحية .. :)

النبراااااس
12-03-2006, 10:02 PM
أخوي C# developer


ما قصرت . لكن أنا مقصدي انه يدخل المستخدم العدد .

مثلا في برنامج المعدل :
نقول عند التنفيذ يخرح للمستخدم سؤال أدخل عدد المواد
في textBox .
فيدخل المستخدم عدد مثلا 6 بعد ذلك يتكرر textBox ست مرات
حتى يتمكن من إدخل درجات المواد الست.



وهده صورة توضيحية
http://www.up4world.com/images/uploads/d57f728b95.jpg

*المبدع*
12-03-2006, 10:27 PM
السلام عليكم ورحمة الله وبركاته


اخي النبراس

اجابة سؤالك هي


انت مثلا تطلب من المستخدم يدخل عدد المواد في textBox

وانت مثلا مسوي textBox سته من غير الي يدخل المستخدم فيه



مثلا انا ادخلت 5 في التكست الذي ادخل فيه عدد المواد

وادخلت في جميع التكسات السته في هذه الحاله فقط يحسب خمس تكسات لاني انا محدد خمسه



اذا كان هذا سؤالك


ارسلك الحل الان ان شاء الله

Berserk
12-03-2006, 10:40 PM
اخوي المتميز
هذا هو الكود المطلوب ..ضعه داخل الـ Button


char[] statment=textBox1.Text.ToCharArray();
int count=1;

foreach(char c in statment)
if(c==' ')
count++;

textBox2.Text=count.ToString();
textBox3.Text=textBox1.Text.Length.ToString();


http://www.lahdah.net/uploads/86dd72078c.jpg


دالة ToCharArray
هذه الدالة تقوم بتحويل الـ string الى مصفوفة حروف

جملة foreach
هذه ميزة جديدة في السي شارب تقوم هذه الجملة بالمرور على جميع عناصر المصفوفة ( والتي هي هنا حروف الجملة )

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

طيب .. لماذا وضعنا في البداية العداد بواحد ؟

لاننا اذا وجدنا جملة باربع كلمات مثلا نجد ان الفراغات بين كلمة وأخرى هي 3

يعني ان الفراغات في جملة تكون اقل بواحد من عدد الكلمات لذا اضفنا بالبداية العداد بواحد

دالة Length
تقوم بعد حروف الـ string
في مثالنا هنا تقوم بعد حروف الـtextBox1.Text


ان شاء الله يكون الشرح واضح ومفهوم

*المبدع*
12-03-2006, 10:48 PM
اليك اخي النبراس
شكل توضيحي



http://dfdfrtrt.jeeran.com/111.gif

Developer
12-03-2006, 11:48 PM
ما شاء الله عليك Berserk ، دائما سباق في الخير ، بارك الله فيك

في طريقة أخرى باستخدام for ، لكن اجابة Berserk باستخدام foreach هي الأفضل ، لذيذة جداً foreach
في السي شارب .


أما بالنسبة لأخي النبراس ، فطريقتك ممكن تكون في الكنسول ابليكيشن ، انا شرحت لك فوق مشكلة الويندوز ابليكيشن


جرب حل أخي المبدع ، اعتقد قريب جداً من مشكلتك

المتميز
13-03-2006, 12:52 AM
نعم أخي Berserk ..

جزاك الله كل خير .. نعم هذا ما كنت أريده ..

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

وهذا هو الناتج ..


http://www.ta-u.com/taibah/images/58.gif


وهذا هو الكود لزر الـ Button ..


private void button1_Click_1(object sender, System.EventArgs e)
{
char[] text = textBox1.Text.ToCharArray () ;
int counter = 1 ;
string word ;

foreach ( char S in text )
if ( S == ' ' )
counter++ ;

word = textBox1.Text.Length.ToString() ;
label4.Text = (counter.ToString()) + (" كلمة . " ) ;
label5.Text = (word.ToString())+( " حرف . " );
int word1 = Convert.ToInt32(word) ;
int counter1 = word1 - counter +1 ;
label7.Text = (counter1.ToString()) + ( " حرف . " ) ;

}


يعطيك العافية يا أخوي .. وما قصرت ..
وإن شاء الله الجميع يستفيد ..



أخلص التحايا :)

النبراااااس
13-03-2006, 03:11 AM
على العموم شكراً لكم جميعاً

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


وفعلاً انا أستفدت منكم أشياء جميلة في هذه اللغة

وإن شاء الله راح نتفاعل في مواضيع أخرى لانكم بصراحة مكسب لنا








الــــــــــــــ شـــــــكـــــر ــــــــــــــــــــــــــــــف لكم

النبراااااس
14-03-2006, 09:22 PM
شباب يا ليت تفيدوني في مايلي :


السؤال الأول أنا وضع في برنامجي button لأنهاء البرنامج وربطته بفورم أخر ووضعت فيه أيضا رسالة شكر وفيه button ينهي البرنامج من خلال هذا الكود


Application.Exit();

ولكن إذا أقفل المستخدم من خلال maximizeBox وهو زر الأغلاق X تنقفل الفورم نفسها وليس البرنامج كامل .
ولكن كيف أجعله أذا ضغط على maximizeBox ينقفل البرنامج كاملاً.

السؤال الثاني :
كيف أجعل البرنامج يشتغل من خلال الملف التنفيذي الموجود في مجلد BIN أو مجلد obj في جهاز لا يوجد به لغة C#

Berserk
14-03-2006, 11:02 PM
أحسنت التطبيق أخوي المتميز وان شاء الله الجميع يفيد ويستفيد

......



بالنسبة للسؤال الأول ... لأخوي النبراااااس

ضع هذا الكود في كل Form عندك...


private void Form1_Closed(object sender, System.EventArgs e)
{
Application.Exit();
}

ولكيفية ايجاد هذه الاحداث انظر الصورة :



http://h1.ripway.com/lan3/events.jpg



دالة الـ Form1_Closed تعتبر من الـ Events الاحداث مثلها مثل حدث الـ Click في الـ Buttons

يعني سيتم تنفيذ التعليمات ما بين القوسين عند اغلاق الـ Form

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


MessageBox.Show("You Have Been Close The Form");

وسلامتك ..

Developer
14-03-2006, 11:49 PM
أهلا أخي النبراس
بالنسبة لسؤالك الأول ، فأجابك عليه أخي العزيز Berserk ( بيرسيرك ) المتميز دائما . أما بالنسبة للسؤال الثاني فإجابته كالتالي

هناك طريقتين لتشغيل برامج الفيجوال استديو دوت نت سواء سي شارب أو فيجوال بيسك أو سي بلس بلس على أجهزة غير موجود بها فيجوال استديو دوت نت .

الطريقة الأولى
هو انشاء ملف setup لمشروعك . تجد على الرابط التالي شرح رائع لطريقة انشاء setup لمشروعك .
http://www.arabteam2000-forum.com/index.php?showtopic=75574

الطريقة الثانية

هو توفير برنامج Microsoft .NET Framework في الجهاز الغير موجوده به الفيجوال استديو وله اصدارين الإصدار الأول لنسخة الفجوال استديو 2003 والنسخة الأخرى للفيجوال استديو 2005

ولتحميل نسخة Microsoft .NET Framework Version 1.1 اضغط على الرابط التالي

http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=262D25E3-F589-4842-8157-034D1E7CF3A3

ولتحميل نسخة Microsoft .NET Framework Version 2.0 اضغط على الرابط التالي

http://www.microsoft.com/downloads/details.aspx?FamilyID=0856EACB-4362-4B0D-8EDD-AAB15C5E04F5&displaylang=en

والله الموفق

والله الموفق

*المبدع*
15-03-2006, 12:38 AM
متميزين دائماً اخي

Berserk و C#_developer

في الرد على الاسئله

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


الى الامام

هدبدب
15-03-2006, 05:51 AM
الله يديكم العافية موضوع رائع جداً جداً انا عندي طلب ان شاء الله اجد الحل عندكم عندي تكست بوكس ابغى المستخدم ما يدخل فيه غير عنوان بريد الكتروني لو ادخل فيه قيمة غير عنوان البريد الألكتروني تطلع له رسالة تنبيهيه بانه ادخل قيمة خطأ . انا سمعت انه موجوده هذي الخاصية في السي شارب

النبراااااس
15-03-2006, 12:15 PM
بصراحة مادري كيف أشكركم فعلاً أنا تعلمت
منكم عدة حاجات في C#.

الله يوفقكم ...................... وإلى الأمام.

Berserk
15-03-2006, 06:06 PM
*المبدع*

حياك الله يا أخي ...
وشكرا لكلماتك المشجعة ...

......

هدبدب

بالنسبة للبريد الاكتروني... فكرت في حل وان شاء الله يكون الحل المقبول ..


ليكن لدينا TextBox يوضع فيه البريد الاكتروني و Button للتحقق من صحة كتابة البريد

واليك هذا الكود لـ Button ..


private void button1_Click(object sender, System.EventArgs e)
{

char[] email=textBox1.Text.ToCharArray();
bool at=false;
bool dot=false;
int i;

for (i=0;i<email.Length;i++)
{
if(email[i]=='@')
at=true;

if(email[i]=='.')
dot=true;
}

if(at && dot )
MessageBox.Show("You Entered a RIGHT E-mail");
else
MessageBox.Show("Wrong E-mail");



}

بالمناسبة جملة الـ for هنا نستطيع ان نستبدلها بجملة foreach الجديدة في السي شارب وذلك كالتالي ...


foreach (char c in email)
{
if(c=='@')
at=true;
if(c=='.')
dot=true;
}

وطبعا ستؤدي نفس الغرض تقريبا

لكنني وضعت الـ for هنا للتنوع في طرق الحل حتى يستفيد منه الاخوة

هذا الكود تقريبا(بشكل مقبول) راح يتأكد من صحة البريد الاكتروني .. لكن لن يتأكد من صحتها 100%

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

......


النبراااااس

حاضرين للطيبين ... اخوي النبراس

ويسعدني جدا انك استفدت ..
والحقيقة انا ايضا استفيد عندما أشارككم في حل استفسارت لغة السي شارب
والبركة في أخينا C#_Developer الذي فتح الموضوع وبدأ يساهم في مساعدة الأخوة




وبالتوفيق للجميع

السفير
15-03-2006, 07:35 PM
بصراحة أخوي C# developre انا ما فهمت شرح طريقة setup
ما أدري هل أضيف برنامجي وإلأ أسوي مشروع
جديد

النبراااااس
15-03-2006, 08:17 PM
أنا أخوي C# developer اللي كتبت الموضوع اللي بأسم السفير
لان المنتدي كان مفتوح عندي بأسم واحد من الشباب .
وزي ماقلتلك أنا فعلا ما فهمت الطريقة

Developer
15-03-2006, 11:33 PM
أهلا فيك أخي هدبدب ، سؤال جيد يحرك العقول ، بالأول نشكر أخي بيرسيرك على تفاعله الرائع ، فكرة أخي بيرسيرك على حل مشكلتك جميلة تدل على عقلية فاهمة ما شاء الله ، لكن يوجد خطأ بسيط وهو لو كتب المستخدم هذا البريد ( mmm@nnn. ) راح يقبله البرنامج بالرغم انه خطأ عنوان البريد الإلكتروني . عموما هناك مكتبة في السي شارب اسمها التعبيرات المنتظمة
(RegularExpressions ) هذه المكتبة تتحقق من صحة المدخلات مثل البريد الألكتروني والتاريخ والوقت ورقم الهاتف ... إلخ . وللتعامل مع هذه المكتبة عليك اظافتها أولا في الأعلى كالتالي


using System.Text.RegularExpressions;

لو نظرنا لأي عنوان بريد الكتروني ولنفرض هذا العنوان ( mm@nn.com ) نلاحظ يتكون من اسم مستخدم البريد وبعدين علامة البريد @ وبعدين عنوان المستضيف وبعده علامة النقطة ومن ثم المجال .

اسم المستخدم @ الشركة المستضيفة . المجال

نلاحظ انه اسم المستخدم ممكن يأخذ حروف وأرقام والشركة المستضيفة كذلك لكن المجال لابد أن يكون حروف مثل ( com و net و org و edu ..الخ ) . طبعا التعبيرات المنتظمة لها قواعد واسس و لمن يريد التعرف أكثر عليه مراجعة مكتبة msdn . احنا كل اللي راح نعمله راح ننشيء تعبير منتظم ليتحقق من المدخلات . مثل مادة نظرية الحسابات ههه . لاحظ الصورة التالية

http://www.cpestudents.net/upload/up/csharp02.gif

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


Match ta_u = c_sharp_developer.Match(this.textBox1.Text);

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


if (ta_u.Success)
{
MessageBox.Show("Valid Email Address", "E-Mail Information");

}
else
{
MessageBox.Show("invalid e-mail address...", "E-Mail Information");

}


وهذا كود البرنامج كامل


Regex c_sharp_developer = new Regex(".+@.+\\.[a-z]+");

Match ta_u = c_sharp_developer.Match(this.textBox1.Text);

if (ta_u.Success)
{
MessageBox.Show("Valid Email Address", "E-Mail Information");

}
else
{
MessageBox.Show("invalid e-mail address...", "E-Mail Information");

}

Berserk
15-03-2006, 11:50 PM
ماشاء الله تبارك الله
دائما تتحفنا بتميزك في الاجابة
فعلا أتيت بالحل النموذجي

شرح في قمة الروعة

بارك الله فيك اخوي ولايحرمنا من ردودك الرائعة

هدبدب
16-03-2006, 10:00 PM
ألف ألف ألف مليون شكر ، انحلت المشكلة بجهودكم

عازمكم على العشى قولوا تم

المتميز
16-03-2006, 11:37 PM
الله يعطيك العافية أخوي C#_Developer ..

كفيت ووفيت في حل مشكلة البريد الإليكتروني ..

تذكر أنني متابع جدا لهذا الموضوع ..
فالفائدة منه عظيمة إن شاء الله ..


التحية ..

Developer
17-03-2006, 12:11 AM
أخوي النبراس

بما انه موضوع عمل Setup يسأل عنه أغلب الطلاب ومهم أيضاً ، لقد قررنا وضع شرح بالصور أنا وأخي العزيز Berserk

انتظر الشرح بمشيئة الله في يوم السبت ، ونعتذر على الإطالة بسبب ظروف الأمتحانات . والله الموفق

النبراااااس
17-03-2006, 11:42 AM
الف شكر لكم C# developer و Berserk .

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

Berserk
19-03-2006, 04:30 AM
اخي النبراس

قمت بوضع شرح لتصدير برنامج السي شارب الى ملف تثبيت Setup

تفضل من هنا (http://www.ta-u.com/vb/showthread.php?t=11367)

النبراااااس
21-03-2006, 02:10 AM
ما قصرتم فعلا إبداع خلف إبداع .


وانا شفت الموضوع والحمد لله إستفدت منه خير أستفادة


على العموم الف شكر لكم أخوي Berserk و C# developer
على المجهود الرائع ....

همس الخيال
11-04-2006, 11:21 PM
..السلام عليكم ورحمة الله وبركاته.....
أخي C#_Developer.....
أنا طالبة مبتدئة بلغة #C....
و أريد تصميم برنامج للأطفال وعندي أسئلة فأرجوا منكم المساعدة....
أولاً:كيف أعمل واجهة للبرنامج (لوصممت واجهه بالفوتو شوب كيف أستخدمها)؟
ثانياً:كيف يتم إدراج صوت و صور وفلاشات ومقاطع فيديو وألعاب........؟
ثالثاً:كيف يتم إدراج نصوص متحركة؟
...وشكرررررررررررررراً..

Developer
12-04-2006, 07:38 AM
مرحبا بك

بالنسبة للسؤال الأول ، تكون عن طريقة خاصية الخلفية سواءا للفورم أو الزر أو ...... الخ . سأشرحها بالتفصيل في رد لاحق

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

بالنسبة للصوت والفيديو لو أردتي تشغيها من نفس البرنامج تبعك فلها مشكلة وهي بسبب اختلاف الأمتدادات فالسي شارب يدعم الصوت WAV والفيديو AVI أما بالنسبة لباقي الأمتدادات فيجب عليك تطوير برنامج
لكي يفتحها برنامجك يعني شغله طويله ، لكن هناك حل بسيط جداً
وهي تشغيل الملفات من البرامج المخصصة لها بمعنى لو ضغط المستخدم على زر لشتغيل أنشوده راح تشتغل الأنشودة في برنامج الريل بلير لو كان امتدادها RM ولعمل ذلك إليك الكود التالي


private void button1_Click(object sender, EventArgs e)
{
System.Diagnostics.Process.Start("c:\\ta-u.rm");
}
وغيري في الأمتداد على حسب نوع ملفاتك . واسم الملف حسب الأسم الموجود عندك

أما بالنسبة لتشغيل الفلاش ، فإليك الطريقة طبعا شرحي بنسخة 2005 اعتقد الطريقة نفس 2003 عموما لو واجهتك مشكلة أخبريني بها

الخطوة الأولى
http://www.cpestudents.net/upload/up/csharp01.gif

الخطوة الثانية

http://www.cpestudents.net/upload/up/csharp10.gif

الخطوة الثالثة
http://www.cpestudents.net/upload/up/csharp11.gif

الخطوة الرابعة
http://www.cpestudents.net/upload/up/csharp12.gif


الخطوة الخامسة

http://www.cpestudents.net/upload/up/csharp13.gif

الآن سيشتغل الفلاش بسلام ، أما بالنسبة للصور المتحركة راح تحتاجين لعنصر اسمه pictursBox إليك الشرح

الخطوة الأولى
http://www.cpestudents.net/upload/up/csharp14.gif


الخطوة الثانية

http://www.cpestudents.net/upload/up/csharp15.gif

أما بالنسبة السؤال الثالث ، حولي النصوص المتحركة لصور بامتداد GIF أو ملفات فلاش و اعملي لهم ادراج بالطرق اللي شرحتها فوق هذي اسهل طريقة.

salih555
16-04-2006, 02:40 PM
ياليت من اللي يعرف يعطينا امثلة لشرح التالي :
Indexers
Method Overriding
Operator Overloading
و لكم جزيل الشكر

Developer
17-04-2006, 10:40 PM
مرحبا صالح . ولا يهمك أخي الغالي سأجيبك على كل سؤال برد مستقل لنبدأ أولا بـ(Indexers ) . الأنديكسر هي نفس Properties لكن ما هو الفرق بينهم ؟ الفرق عزيزي انه Properties يتعامل مع بيانات private ويحولها إلى public وايضا تتعامل معها كخاصية . أما Indexers فهو نفس Properties ولكن تتعامل مع الكائن object كمصفوفة . لنأخذ مثال الآن حتى تتضح الصورة لديك . لنفرض انه عندك كلاسين الكلاس الأول اسمه Indexers والثاني لدالة main نبدأ أولا بكلاس Indexers تابع الشرح المصور
http://www.cpestudents.net/upload/up/indexers01.gif


الآن نذهب لدالة main حتى تتضح indexers جيداً .

http://www.cpestudents.net/upload/up/indexers02.gif


هذا الكود كامل


using System;
using System.Collections.Generic;
using System.Text;

namespace Using_Indexers
{
class Indexers
{

private int[] arr = new int[100];
public int this[int index]
{
get
{
return arr[index];

}
set
{
arr[index] = value;

}
}

}
class Program
{
static void Main(string[] args)
{
Indexers test = new Indexers();
test[3] = 256;
test[5] = 1024;
for (int i = 0; i <= 6; i++)
{
System.Console.WriteLine("Element {0}\t = {1}", i, test[i]);
}

}
}


}
أتمنى وضحت لديك الفكرة ، إذا هناك شيء غامض فأخبرني ، انتظر إجابة باقي الأسئلة

Berserk
19-04-2006, 06:26 AM
سأقوم بشرح عن Operator Overloading بعد اذن اخي C# _developer

Operator Overloading
هو اعادة تعريف الـ operator مثل ال + و - و* وغيره للانواع التي ينشئها المستخدم user-defined types

حتى يتضح المفهوم لنفرض لدينا متغيرين من نوع int كما في التالي :


int x;
int y;

وعرفنا متغير آخر z بهذا الشكل


int z= x + y;

سنجد ان ناتج جمع x و y سيكون في z لأن اشارة الـ + معرفة في كلاس الـ int بمعنى ان دالة الجمع معرفة داخل الكلاس int

لكن لو نحن انشأنا نوعا جديدا مثلا


class Fraction
{
}

وقمنا بانشاء متغيرين من نوع Fraction


Fraction a;
Fraction b;

ونحاول ان نعمل عملية الجمع كالتالي


Fraction c = a + b;

نجد ان الكومبايلر اشار لنا بخطأ في هذه العملية

لان اشارة + او عملية الجمع ليست معرفة في كلاس الـ Fraction

وحتى نتفادى هذا الخطأ نقوم بتعريف اشارة + عن طريق الـ Operator Overloading في كلاس Fraction حتى يتم التعرف عليه

وذلك كالتالي


public static Fraction operator +(Fraction x,Fraction y)
{

}
مثلا
لنقوم بانشاء نوع بياني جديد Fraction يتعامل مع الكسور العادية (بسط/ مقام) ونقوم بتعريف عملية الجمع للكسور a/b +c/d بواسطة الـ Operator Overloading

حيث عملية الجمع للكسور تكون بتوحيد المقامات اولا ثم الجمع وهذا ما سنعرَّفه في دالة الـoprator


class Fraction
{
int enu; // بسط
int den; // مقام


public void ReadData() // قراءة قيمة البسط والمقام من المستخدم
{
Console.Write("\nEnter enu :");
enu=Convert.ToInt32(Console.ReadLine());

Console.Write("\nEnter den : ");
den=Convert.ToInt32(Console.ReadLine());

}


public static Fraction operator +(Fraction a ,Fraction b)// هذه دالة الـ oprator
{

Fraction temp =new Fraction();
temp.enu=a.enu*b.den+a.den*b.enu; // قيمة بسط الناتج
temp.den=a.den*b.den; // قيمة مقام الناتج

return temp;
}

public void Display() // دالة عرض الناتج
{
Console.WriteLine("\tResult of Addition = {0}/{1}",enu,den);
}


}



والان بعد ان عرّفنا دالة الـ oprator overloading

يمكننا ان نقول


Fraction c = a + b;

عند اشارة + يقوم المترجم بتنفيذ دالة الـ oprator

لكن اذا حذفت دالة الـoprator فتصبح العملية خاطئة



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



using System;

namespace ConsoleApplication7
{
class Class1
{
static void Main(string[] args)
{
Fraction a= new Fraction();
Fraction b= new Fraction();


a.ReadData();
b.ReadData();

Fraction c=a+b;
c.Display(); // عرض الناتج

}
}


class Fraction
{
int enu; // بسط
int den; // مقام


public void ReadData() // قراءة قيمة البسط والمقام من المستخدم
{
Console.Write("\nEnter enu :");
enu=Convert.ToInt32(Console.ReadLine());

Console.Write("Enter den : ");
den=Convert.ToInt32(Console.ReadLine());

}


public static Fraction operator +(Fraction a,Fraction b)
{

Fraction temp =new Fraction();
temp.enu=a.enu*b.den+a.den*b.enu; // قيمة البسط
temp.den=a.den*b.den; // قيمة المقام

return temp;
}

public void Display() // عرض الناتج
{
Console.WriteLine("\n\nResult of Addition = {0}/{1}\n",enu,den);
}


}

}


لنفرض ان قيمة الكسر a هو 1/2 (نصف)
و قيمة الكسر b هو 1/5 (خُمس)

سيصبح الناتج


http://www.lahdah.net/uploads/4f4c95ddb5.gif

اذا اردت الاستزادة بامكانك زيارة هذا الرابط

فيه شرح Operator overloading و Method overloading

http://www.dev4arabs.com/csharp/ShowRecord.aspx?RecordType=Article&Id=299

وبالتوفيق

*المبدع*
19-04-2006, 11:14 PM
الله يفتح عليك

والله شرح جدا ممتاز

ماشاء الله عليك تعرف كيف توصل المعلومه

ولتفتخر جامعة طيبه ان يوجد فيها امثال هذه الكوادر الجيده



الى الامام


بالتوفيق ان شاء الله

Developer
20-04-2006, 12:15 PM
الله يعطيك الصحة أخوي بيرسيرك ، ماقصرت ، بالنسبة لشرح Method Overriding موجود على الرابط التالي

http://www.ta-u.com/vb/showthread.php?t=12650

وبالتوفيق للجميع

salih555
22-04-2006, 06:32 PM
الف الف شكر على مجهوداتكم

همس الخيال
22-04-2006, 08:15 PM
.....السلام عليكم ورحمة الله .....
أخي C# _developer
أشكرك جداً على المساعدة...أنا أستفدت من المعلومات الأكثر من رائعة
فعلاًالشرح جداًممتاز فجزاك الله ألف خير..
ولكن أنا قدرت أدخل الصوت والصور ولاكن ماعرفت أدخل فلاش ..
مع أني نفذت نفس الخطوات السابقة ....
ولوسمحت أبغى أسأل كيف أستخدم وأفعل IMAGE LIST وكيف أضع أيقونات على شكل صورغير BOTTON ....
وجزاك الله خير مره أخرى على مجهودك>>>>>>

Developer
23-04-2006, 12:31 AM
مرحبا همس الخيال . أخبريني ما المشكلة التي ظهرت معاك أثناء اضافة مكتبة الفلاش . اخبرني الخطوات التي قمت بها وفي أي خطوة توقفتي عندها ؟

ماهي النسخة التي تستخدمينها 2003 أم 2005 ؟


IMAGE LIST ليست ايقونة و إنما عبارة عن مجموعة صورة تجمعيها مع بعض في خاصية تسمى IMAGE LIST علشان تستخدمينها مع أي خصائص أخرى تريدين اظهار الصور فيها بالنسبة لإيقونات تقدري تستخدمي
Pictures Box

أنا في الأنتظار حتى استطيع الإجابة على أسئلتك

lindsay
23-04-2006, 09:15 PM
... السلام عليكم ورحمه الله وبركاته ....

انا عندي سؤال وهو .... كيف ممكن اني انقل صورة من pictureBox
الى pictureBox آخر خلال تنفيذ البرنامج باستخدام الـ mouse
انا سالت وقالوا لي انه ممكن يسير باستخدام الـ mouse events ؟
ولكم جزيل الشكر

همس الخيال
23-04-2006, 10:39 PM
[B]مشكور وماقصرت على المساعدة...
أنا نسختي 2003 ......أستخدمت نفس الطريقة السابقة بس كان ناقص الكود كتبته وتنفذ معاي...
ولوسمحت أبغى أسأل سؤال..
أنا صممت form وأبغى أضيف شريط من الصور المتحركة بأعلى form مثل فلم الكاميرا وبداخلة صور متحركة..
فهل توجد خاصية أستطيع من خلالها فعل ذلك وماهي الأكواد الازمة إذا أمكن ذلك؟؟؟؟؟

Developer
24-04-2006, 03:41 AM
مرحبا ً lindsay

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


نرجع لسؤالك lindsay نعم ممكن عمل ذلك . وذلك عن طريقة خاصية السحب والإفلات والتي تسمى
(drag and drop ) كيف يتم عمل ذلك إليك الخطوات التالية .

الخطوة الأولى ::ً قم بإضافة اثنين pictureBox في الفورم ثم ضع صورة في 1pictureBox واترك 2pictureBox فارغ بدون صورة . كالصورة التالية

http://www.cpestudents.net/upload/up/pictureBox01.gif

الخطوة الثانية :: سنفرض الآن المستخدم لمن يضغط بالفأرة على الصورة الموجودة في 1pictureBox ويكون ضاغط على زر الفأرة ثم يسحب الصورة ويضعها في 2pictureBox . ولعمل ذلك نقوم بالضغط مرتين على الفورم حتى ندخل على حدث Form1_Load ثم نكتب الكود التالي



private void Form1_Load(object sender, EventArgs e)
{

this.pictureBox2.AllowDrop = true;

}


الآن نرجع مرة أخرى للفورم ونختار مثل ما هو موضح في الصورة
http://www.cpestudents.net/upload/up/pictureBox02.gif


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



private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
pictureBox1.DoDragDrop(pictureBox1.Image, DragDropEffects.All);
}
}

شرح الكود : لمن يدخل مؤشر الماوس على pictureBox1 ويقوم المستخدم بالنقر على زر الفأرة الأيمن راح يأخذ نسخة من الصورة الموجودة في pictureBox1 .


الخطوة الثالثة : بنفس الطريقه السابقة تبع الأحداث اختار pictureBox2 واختار الحدث DragEnter وانقر عليه مرتين راح تفتح لك شاشة الكود واكتب فيها الكود التالي .



private void pictureBox2_DragEnter(object sender, DragEventArgs e)
{

if (e.Data.GetDataPresent(DataFormats.Bitmap))
{
e.Effect = DragDropEffects.Copy;
}
else
{
e.Effect = DragDropEffects.None;
}
}


شرح الكود : لمن يدخل مؤشر الماوس على pictureBox2 ويكون موجود بداخله صورة خذ نسخة من الصورة وإذا كان فارغ لا تأخذ منه صورة .

الخطوة الرابعة : بنفس الطريقة السابقة تبع الأحداث أختار pictureBox2 واختار الحدث DragDrop وانقر عليه مرتين . راح تفتح لك شاشة الكود واكتب فيها الكود التالي



if ( (e.Data.GetDataPresent(DataFormats.Bitmap)))

{

this.pictureBox2.Image = (Bitmap)(e.Data.GetData(DataFormats.Bitmap));

}

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

هذا هو ما سألت عنه إذا كان هناك غموض في نقطة معينة ، فسأل . وهذا المثال اللي شرحته .

http://www.cpestudents.net/upload/up/WindowsApplication63.zip

Developer
24-04-2006, 04:00 PM
[B]مشكور وماقصرت على المساعدة...
أنا نسختي 2003 ......أستخدمت نفس الطريقة السابقة بس كان ناقص الكود كتبته وتنفذ معاي...
ولوسمحت أبغى أسأل سؤال..
أنا صممت form وأبغى أضيف شريط من الصور المتحركة بأعلى form مثل فلم الكاميرا وبداخلة صور متحركة..
فهل توجد خاصية أستطيع من خلالها فعل ذلك وماهي الأكواد الازمة إذا أمكن ذلك؟؟؟؟؟

لماذا تصعبين أشياء بسيطة على نفسك ؟

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

الرمش الحزين
25-04-2006, 01:06 AM
مرحبا


ماشالله عليك يا C#_Developer


الله يفتحها عليك :clap:


لو سمحت ممكن سؤالين من بعد ازنك :r


انا باستخدم النسخه 2003 عشان لا اخبلك


وبس بدي اعرف كيف

1-اضيف - اربط - ملف البور بوينت مع الفورم حقتى


2- كيف اغير شكل الماوس غير الاشكال الى محطوطه فى الخصائص مثلا لو ابغا حط صورة متحركة للماوس او اى شكل تانى غير الى عندنا فى البرنامج ايش اسوي؟؟


وكمان سؤال لو سمحت :blush-ani


احنا عملنا فورمه وحطينا عليها الفلاش ونبغا نخلى الفلاش هو الزر الى ينقلنا للفورم الى بعدها

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

جربنا نحط بوتن بس طلع فوق الفلاش وما سار مخفى وجربنا البكتشر بوكس وبرضوا ماسار

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



ومره اسفه على الاطاله والازعاج



والله يعطيك الف الف الف عااااااااااافيه يارب
:bye1:



ثووووووووووووكرن



اختك : رموشه

Developer
25-04-2006, 03:58 AM
مرحبا


ماشالله عليك يا C#_Developer


الله يفتحها عليك :clap:


لو سمحت ممكن سؤالين من بعد ازنك :r


انا باستخدم النسخه 2003 عشان لا اخبلك


وبس بدي اعرف كيف

1-اضيف - اربط - ملف البور بوينت مع الفورم حقتى


2- كيف اغير شكل الماوس غير الاشكال الى محطوطه فى الخصائص مثلا لو ابغا حط صورة متحركة للماوس او اى شكل تانى غير الى عندنا فى البرنامج ايش اسوي؟؟


وكمان سؤال لو سمحت :blush-ani


احنا عملنا فورمه وحطينا عليها الفلاش ونبغا نخلى الفلاش هو الزر الى ينقلنا للفورم الى بعدها

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

جربنا نحط بوتن بس طلع فوق الفلاش وما سار مخفى وجربنا البكتشر بوكس وبرضوا ماسار

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



ومره اسفه على الاطاله والازعاج



والله يعطيك الف الف الف عااااااااااافيه يارب
:bye1:



ثووووووووووووكرن



اختك : رموشه


مرحباً الرمش الحزين . ربنا يبعد عنك الحزن ان شاء الله :)

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



private void button1_Click(object sender, EventArgs e)
{
System.Diagnostics.Process.Start("c:\\ta-u.ppt");
}

غيري في اسم الملف حسب الملف عندك .


بالنسبة للسؤال الثاني . ايوه ممكن إظافة أشكال غير الموجودة في السي شارب . ولها طريقتين . الأولى لمن تريدي تصميم مؤشر على مزاجك والأخرى لمن يكون المؤشر جاهز لديك بس تريدين أن يظهر في برنامجك .

بالنسبة للطريقة الأولى تحتاج لشرح مفصل لو أحتجتي لها سأضطر لشرحها

أما بالنسبة للطريقة الثانية لنفرض نريد يتغير شكل المؤشر لمن يدخل على الفورم . أضيفي الكود التالي في حدث Form1_Load


private void Form1_Load(object sender, EventArgs e)
{
this.Cursor = new Cursor("c:\\pen_im.Cur");
}

غيري في اسم الملف حسب الموجود لديك .

ملاحظة مهمة : السي شارب ما يدعم غير الأمتداد Cur فقط . لو عندك امتداد غيره ما راح يشتغل . بمعنى لوكان المؤشر فيه حركة ماراح يشتغل . يعني لازم يكون ثابت :)


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

أنا صممت فلاش بسيط وصممت كذلك فورمين ويكون الدخول على البرنامج بعد الضغط على جزء معين في الفلاش .

الطريقة :
وضعت في الفورم الأول الفلاش فقط . والفورم الثاني هو البرنامج . وأول ما يشتغل هو فورم الفلاش .

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


private void pictureBox1_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2();
f2.show();
this.Hide();
}

واشتغل البرنامج مثل الحلاوة . بدون ما يوضح انه هناك زر


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

اجمل احساس
26-04-2006, 12:40 AM
السلام عليكم ورحمة الله :clap:
أحب أشكر c # develop على جهده في الإجابة الشافية والكافية على جميع الأسئلة
جعله الله في موازين حسناتك
أنا لدي سؤال واحد فقط وأرجو الرد عليه بسرعة لأني محتاجة له جدا الآن :blush-ani
وهو اني أريد طريقة تسمح لي بأن أحفظ أي شئ ينكتب في ritch text box
بحيث استطيع عرض أي جمل كتبت في السابق في كل مره أفتح البرنامج نفسه
ولك جزيل الشكر :bye1:

Developer
26-04-2006, 01:09 AM
السلام عليكم ورحمة الله :clap:
أحب أشكر c # develop على جهده في الإجابة الشافية والكافية على جميع الأسئلة
جعله الله في موازين حسناتك
أنا لدي سؤال واحد فقط وأرجو الرد عليه بسرعة لأني محتاجة له جدا الآن :blush-ani
وهو اني أريد طريقة تسمح لي بأن أحفظ أي شئ ينكتب في ritch text box
بحيث استطيع عرض أي جمل كتبت في السابق في كل مره أفتح البرنامج نفسه
ولك جزيل الشكر :bye1:

ولا يهمك أختي الغالية

أضيفي في الفورم لديك الخصائص التالية من صندوق الأدوات openFileDialog و saveFileDialog

طبعا openFileDialog فتح الملفات و saveFileDialog لحفظ الملفات

الآن ضعي في الفورم اثنين بوتن ( زر ) واحد للحفظ والثاني لفتح الملفات . واكتبي الكود التالي في زر فتح



private void button2_Click(object sender, EventArgs e)
{
openFileDialog1.Filter = "Rich Text Format (*.rtf)|*.rtf";
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
richTextBox1.LoadFile(openFileDialog1.FileName, RichTextBoxStreamType.RichText);

}
}


طبعا احنا راح نخلي برنامجنا يتعامل مع امتداد الملفات rtf في الحفظ والفتح


الآن اكتبي الكود التالي في زر الحفظ


private void button1_Click(object sender, EventArgs e)
{
saveFileDialog1.Filter = "Rich Text Format (*.rtf)|*.rtf";
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
richTextBox1.SaveFile(saveFileDialog1.FileName, RichTextBoxStreamType.RichText);
}
}

وشغلي البرنامج وجربي الأن زر الحفظ وزر الفتح . واخبريني بالنتيجة
لو في كود غير مفهوم أخبريني لكي اشرحه

اجمل احساس
27-04-2006, 04:34 AM
شكرررررررررررررررررررررررررررررررررراc#developer على ردك السريع والواضح :r
أنا جربت الكود وماشاء الله بسرعة اشتغل معايالكن :blush-ani
انا كان بودي إني أحفظ كل شئ أنا كتبته في كل مرة أفتح البرنامج لأنه بالكود اللي قلته مايعرض (يفتح ) إلا آخر مثلا جملة كتبتها
فماأعرف إذا في كود معين في هذه اللغة للطريقه هذه :a22:


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

Developer
27-04-2006, 04:48 PM
أجمل احساس ...

لم أفهم قصدك جيداً ، ياريت توضحين أكثر . بمعنى هل تريدين لمن يشتغل البرنامج تبعك تلقائيا تجدين آخر اضافة قمتي بكتابتها موجودة على ritch text box أم ماذا ؟ ياريت التوضيح بمثال يكون أفضل


وماذا تقصدين بالجملة هذي


لأنه بالكود اللي قلته مايعرض (يفتح ) إلا آخر مثلا جملة كتبتها
فماأعرف إذا في كود معين في هذه اللغة للطريقه هذه :a22:


يعني تقصدين يحفظ بس الكلمات التي كتبتيها وما يحفظ التنسيق تبعها من ألوان وغيرها ؟ أم ماذا ؟

دنيا الأحلام
28-04-2006, 03:31 PM
اخواني وأخواتي الكرام

أريد تحميل الفيجوال دوت نت على جهازي المحمول فهل قد يؤثر على أداء الجهاز وسرعته .... وهل يمكن حذفها بسهوله مثل الفيجوال استديو 6

ولكم جزييل الشكر مسبقا

Developer
28-04-2006, 05:52 PM
اخواني وأخواتي الكرام

أريد تحميل الفيجوال دوت نت على جهازي المحمول فهل قد يؤثر على أداء الجهاز وسرعته .... وهل يمكن حذفها بسهوله مثل الفيجوال استديو 6

ولكم جزييل الشكر مسبقا

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


أما بخصوص حذفه ، فهو اسهل من نزع الشعره من العجينة ، بسيط جداً مثل ما تحذفين أي برنامج آخر

الرمش الحزين
29-04-2006, 02:35 AM
مرحباً الرمش الحزين . ربنا يبعد عنك الحزن ان شاء الله :)

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



private void button1_Click(object sender, EventArgs e)
{
System.Diagnostics.Process.Start("c:\\ta-u.ppt");
}

غيري في اسم الملف حسب الملف عندك .


بالنسبة للسؤال الثاني . ايوه ممكن إظافة أشكال غير الموجودة في السي شارب . ولها طريقتين . الأولى لمن تريدي تصميم مؤشر على مزاجك والأخرى لمن يكون المؤشر جاهز لديك بس تريدين أن يظهر في برنامجك .

بالنسبة للطريقة الأولى تحتاج لشرح مفصل لو أحتجتي لها سأضطر لشرحها

أما بالنسبة للطريقة الثانية لنفرض نريد يتغير شكل المؤشر لمن يدخل على الفورم . أضيفي الكود التالي في حدث Form1_Load


private void Form1_Load(object sender, EventArgs e)
{
this.Cursor = new Cursor("c:\\pen_im.Cur");
}

غيري في اسم الملف حسب الموجود لديك .

ملاحظة مهمة : السي شارب ما يدعم غير الأمتداد Cur فقط . لو عندك امتداد غيره ما راح يشتغل . بمعنى لوكان المؤشر فيه حركة ماراح يشتغل . يعني لازم يكون ثابت :)


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

أنا صممت فلاش بسيط وصممت كذلك فورمين ويكون الدخول على البرنامج بعد الضغط على جزء معين في الفلاش .

الطريقة :
وضعت في الفورم الأول الفلاش فقط . والفورم الثاني هو البرنامج . وأول ما يشتغل هو فورم الفلاش .

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


private void pictureBox1_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2();
f2.show();
this.Hide();
}

واشتغل البرنامج مثل الحلاوة . بدون ما يوضح انه هناك زر


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








سلامون سليم===>سليم الزناتى :w00t2:

ارق من النسيم
هههههههههههههههههههههههههههه


<<<<<<ترا البنت سهرانه وماف راس اهلها ولا حبه :clap:

هههههههههه



بس حبيت اقلك شووووووووووكرن يا زوق
وتسلم والله ما قصرت
كفيت ووفيك

ماشالله عليك :lleyes:

<رقيتك واستريقتك من عين كل واحد ما يصليش ع النبي>


هههههههه


لا بجد جمل الله حالك

وبيض الله وشك وكل شي وكل شي

ومره شكررررررررررن :laugh:




اختك رموووووووووشه :)

lindsay
29-04-2006, 08:55 AM
تسلم على الرد والله يعطيك العافيه ...

دنيا الأحلام
29-04-2006, 08:43 PM
جزاك الله خيرا اخي سي شارب

وفقك الله وسدد خطاك

أختكم

همس الخيال
30-04-2006, 10:06 AM
.....السلام عليكم ورحمة الله وبركاته.......
أخي c#developer
أريد أن أسأل لو كان عندي 4 فورمات وأريد أن أنتقل من فورمه 1إلى 2 إلى 3 بحيث تختفي كل فورمه عند الإنتقال إلى الفورمة التي تليها وإذا وصلت إلي الفورمة رقم 4 يوجد butten للعودة إلى الفورمة الأولى وbutten للعودة إلى الفورمة الثانية.....
وإذا كان عندي فلاش نوعة applecation كيف يتم إيضافتة ..
وشكراً...

Developer
30-04-2006, 09:32 PM
.....السلام عليكم ورحمة الله وبركاته.......
أخي c#developer
أريد أن أسأل لو كان عندي 4 فورمات وأريد أن أنتقل من فورمه 1إلى 2 إلى 3 بحيث تختفي كل فورمه عند الإنتقال إلى الفورمة التي تليها وإذا وصلت إلي الفورمة رقم 4 يوجد butten للعودة إلى الفورمة الأولى وbutten للعودة إلى الفورمة الثانية.....
وإذا كان عندي فلاش نوعة applecation كيف يتم إيضافتة ..
وشكراً...


مرحبا همس الخيال .

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

الطريقة الأولى . استخدام الإجراء التالي this.Hide();

مثال : نأخذ الكود التالي .



private void button1_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2();
this.Hide();
f2.Show();
}


إجراء this.Hide(); يعمل على إخفاء الفورم فقط بمعنى غير مشاهد ولكنه شغال بس مخفي . الكود السابق طريقة عمله كالتالي . لمن تضغطي على البوتن أول شيء راح يخفي الفورم ثم يشغل الفورم الثاني . هذي الطريقة ما انصح بتطبيقها .

الطريقة الثانية : استخدام الإجراء this.Close();

مثال : نأخذ الكود التالي .



private void button1_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2();
this.Close();
f2.Show();
}


إجراء this.Close(); يعمل على إغلاق الفورم نهائياً . هنا ملاحظة مهمة بالنسبة لهذا الأجراء . لو حبيت تستخدم هذا الإجراء لابد أن تحدد مين هوا الفورم الرئيسي للبرنامج تبعك ، ما الفائدة من ذلك ؟ الفائدة انه هذا الأجراء لو كان موجود في الفورم الرئيسي راح يتقفل البرتامج كليا . ولتحديد الفورم الرئيسي اللي راح يشتغل أول شيء نذهب لدالة المين ونعدل اسم الفورم حسب اللي نبغاه .


static void Main()
{
Application.Run(new Form1());
}

طبعا الإجراء السابق هو المستخدم غالبا .


الطريقة الثالثة . استخدام الإجراء التالي . this.Visible = false;

مثال : نأخذ الكود التالي


private void button1_Click(object sender, EventArgs e)
{
Form1 f1 = new Form1();
this.Visible = false;
f1.Show();
}

إجراء this.Visible = false; يعمل على إخفاء الفورم مؤقتا ً وإذا أردنا الرجوع لنفس الفورم نغير من false إلى true ليعود للظهور مرة أخرى

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


طبعا هنا سؤال يطرح نفسه وهو ، ما الفرق بين إجراء f1.Show(); و إجراء f1.ShowDialog(); ؟


إجراء f1.Show(); يأخذ نسخة جديدة من الفورم عند كل نقرة على زر البوتن ، يعني حتلاحظ أنه ينشأ عندك نسخ عديدة من نفس الفورم . ولحل المشكلة نستخدم الأجراء f1.ShowDialog();

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


static Form3 f3 = new Form3();


طبعا التعريف يكون داخل الكلاس وليس داخل الدوال (method ) .

أتمنى وصول الفائدة .

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

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


private void button1_Click(object sender, EventArgs e)
{
System.Diagnostics.Process.Start("c:\\ta-u.exe");
}

ShY RoSe
30-04-2006, 10:00 PM
ماشاء الله عليكم كلكم والله
السلام عليكم اول
تحياتي لكل الامتواجدين والغير متواجدين
انا اتوقع اني الاقل خبره في السي شارب واتمنى تجاوبوني على سؤالي
بأصمم برنامج بالسي شارب دوت نت وابغا اخلي خلفيه موسيقيه تشتغل من يوم مايفتح البرنامج
بدون ضغط اي بوتون او غيره
وابغا برضو بوتون عشان المستخدم يوقف الخلفيه الصوتيه لو مارغب في وجودها
كيف اعمل دا الكلام في السي شارب
ولكم جزيل الشكر

Developer
01-05-2006, 02:01 AM
ماشاء الله عليكم كلكم والله
السلام عليكم اول
تحياتي لكل الامتواجدين والغير متواجدين
انا اتوقع اني الاقل خبره في السي شارب واتمنى تجاوبوني على سؤالي
بأصمم برنامج بالسي شارب دوت نت وابغا اخلي خلفيه موسيقيه تشتغل من يوم مايفتح البرنامج
بدون ضغط اي بوتون او غيره
وابغا برضو بوتون عشان المستخدم يوقف الخلفيه الصوتيه لو مارغب في وجودها
كيف اعمل دا الكلام في السي شارب
ولكم جزيل الشكر

مرحبا


نصيحة أخوية ، ابتعدي عن إظافة الموسيقى وشوفي لك أي صوت آخر

أنا راح اساعدك على شرط ووعد منك بعدم إضافة الموسيقى ، وأنا

بريء . الواحد مو ناقص ذنوب


عموما شرحت لك بالفلاش كيفية إظافة الصوت تجدين الشرح على الرابط التالي

http://www.cpestudents.net/upload/up/SoundincSharp.zip

لو صادفتك أي مشكلة أخبريني . ولاتنسي الوعد

lindsay
02-05-2006, 08:10 PM
السلام عليكم ورحمه الله بركاته
انا سألت قبل كذا عن نقل الصوره من pictureBox الى pictureBox ومشي معاي الحل الي كتبته بس عندي سؤال ثاني ...
اول شيء انا استخدم اصدار 2003 وعندي مشكله وهي اني ابغا اخلي المستخدم يقدر يحرك الصورة الي نقلها بحيث يقدر يضعها في المكان الذي يريده داخل الpictureBox ؟؟؟؟ وهل ممكن اخلي في الpictureBox الواحد اكثر من صورة لان انا عندي مشروع ان عندي صورة واخلي المستخدم بواسطة الفارة يلصق عليها عدد من الصور ... ولك جزيل الشكر ..

Developer
04-05-2006, 12:54 AM
السلام عليكم ورحمه الله بركاته
انا سألت قبل كذا عن نقل الصوره من pictureBox الى pictureBox ومشي معاي الحل الي كتبته بس عندي سؤال ثاني ...
اول شيء انا استخدم اصدار 2003 وعندي مشكله وهي اني ابغا اخلي المستخدم يقدر يحرك الصورة الي نقلها بحيث يقدر يضعها في المكان الذي يريده داخل الpictureBox ؟؟؟؟ وهل ممكن اخلي في الpictureBox الواحد اكثر من صورة لان انا عندي مشروع ان عندي صورة واخلي المستخدم بواسطة الفارة يلصق عليها عدد من الصور ... ولك جزيل الشكر ..


مرحباً lindsay ، آسف على تأخري بالرد ، لإنشغالي الشديد في الأيام السابقة

بالنسبة لتحريك الصورة داخل pictureBox بواسطة الماوس لا يمكن تحريكها لأنه أصلا مصمم لصورة واحدة . ولكن ممكن تتحرك الصورة عن طريق تحريك اللوكيشن تبع pictureBox .

بالنسبة للبيكتشر بوكس لا يقبل إلا صورة واحدة فقط . إذا أردتي إضافة
أكثر من صورة عليك باستخدام البانل panel بحيث عندما ينقر المستخدم على زر اضافة صورة يضاف أوبجكت جديد من الصورة . صممت لك مثال على 2003 تستطيعبن فيه أضافة اكثر من صورة وكمان تحريك الصورة المضافه إلى المكان اللي تريدينه .تفضلي حمليه من الرابط التالي


http://www.cpestudents.net/upload/up/WindowsApplication6.zip

وفكرة حركة الصورة انه تحدد نقطة بداية للأكس والواي ونقطة نهاية للأكس والواي وعلى حسب إجراء تحريك الماوس راح يضع الصورة في المكان اللي حدده المستخدم داخل panel .

إذا كان هناك كود غير مفهوم ، أخبريني به حتى اشرحه . وأكرر أسفي على التأخر في الرد .

lindsay
04-05-2006, 06:48 PM
مشكور على المساعدة .... جزاك الله خير

هدبدب
05-05-2006, 04:24 PM
أخويا سي شارب عندي سؤال جنني ، كيف استخرج الأرقام الموجودة داخل نص مثال

السلام5عل5ي9كم 5 4منت453ديات طي6بة

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

645345955


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

Berserk
05-05-2006, 11:43 PM
اخوي هدبدب ...

حط مصفوفة من نوع char فيها الارقام من 0 الى 9

وسوي مقارنة لكل character في النص المطلوب لكل رقم من المصفوفة واذا وجد رقم يطبعه


http://www.cpestudents.net/upload/up/numbers.jpg


وهذا الكود تحطه للـ button1_Click



private void button1_Click(object sender, System.EventArgs e)
{
char[] Numbers = {'0','1','2','3','4','5','6','7','8','9'};
char[]buffer = textBox1.Text.ToCharArray();
textBox2.Text="";
for (int i=0;i<buffer.Length;i++)
{
for (int j=0;j<Numbers.Length;j++)
if(buffer[i]==Numbers[j])
textBox2.Text+=Numbers[j].ToString();
}

}


وتمنيت لو وضعت الكود اللي حاولت فيه حتى لو كان خطأ علشان نقدر نساعدك وفي نفس الوقت تتعود في المرات القادمة في حل المشاكل اللي تواجهك


وحياك الله

Developer
06-05-2006, 02:36 PM
أخويا سي شارب عندي سؤال جنني ، كيف استخرج الأرقام الموجودة داخل نص مثال

السلام5عل5ي9كم 5 4منت453ديات طي6بة

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

645345955


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

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

هناك طريقتين لحل مشكلتك الطريقة الأولى باستخدام الخاصيتين


Text.Substring(Start,length)

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


الخاصية الثانية هو استخدام


Char.IsNumber

هذا هو الجزء المسؤول عن المقارنة بحيث يأخذ الأرقام فقط .

نأخذ الكود التالي ::

أول شيء ننشيء دالة ، الهدف منها عمل المقارنة وايجاد الأرقام الموجودة داخل النص


private string ExtractNumbers(string Expression)
{

string result = null;
char Letter;

for (int i = 0; i < Expression.Length; i++)
{
Letter = Convert.ToChar(Expression.Substring(i,1));

if (Char.IsNumber(Letter))
{
result += Letter.ToString();
}
}

return result;
}

هذه الدالة فكرتها كالتالي :: راح تأخذ النص وتقسمه إلى حرف حرف وذلك عن طريق Substring بعدين راح نعمل على كل حرف شرط هل هو رقم Char.IsNumber ، إذا كان رقم راح يأخذ الرقم والعكس .

الآن اكتب الكود الكود التالي في زر البوتن المسؤل عن استخراج الأرقام من النص


private void button1_Click(object sender, EventArgs e)
{
textBox2.Text= ExtractNumbers(textBox1.Text);
}

شرح الكود :: ارسلنا النص الموجود في التيكست بوكس الأول إلى الدالة المسؤلة عن استخراج الأرقام من النص وخلينا النص الموجود في التيكست بوكس الثاني هو ناتج العملية اللي راح نحصل عليها من دالة استخراج الأرقام وهي الأرقام .


الآن نأتي للطريقة الثانية وهي اسهل بكثير من الطريقة الأولى وذلك باستخدام التعبيرات المنتظمة

التعبير المنتظم التالي


" [^\\d] "

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


private string ExtractNumbers(string Expression)
{
return string.Join(null, System.Text.RegularExpressions.Regex.Split(Express ion, "[^\\d]"));
}

في الدالة السابقة استخدمنا خاصيتين معا خاصية التعبير المنتظم Regex ودالة التقسيم Split ، راح تأخذ النص وتقسمه على حسب التعبير المنتظم اللي هوه يأخذ أرقام فقط

طبعا في كود البوتن اكتب نفس الكود السابق تبع البوتن اللي هوا


private void button1_Click(object sender, EventArgs e)
{
textBox2.Text= ExtractNumbers(textBox1.Text);
}

Developer
06-05-2006, 02:42 PM
ملاحظة مهمة


أي عضو يريد أن يسأل سؤال في السي شارب ، عليه أولا أن يذكر نسخة السي شارب التي يستخدمها هل هي 2003 أم 2005 ؟

ثانيا:: يشرح مشكلته بالتفصيل .

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

الدعم عبر الرسائل الخاصة مرفوض ، وراح اتجاهل أي سؤال على الخاص

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

الرمش الحزين
06-05-2006, 07:47 PM
هلا والله
باحلى واجدع استاز عل وش الكووووره الارضيه

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

بس وش بلاك بس تعيدلى نفس الجواااااااااب

_<<<<<<ترا كانت بتتفرج مسلسل بدوي
ههههههههههههههه


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

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

<<<تيييب يا زكييييييييييييييييييه


هههههه


طلع انوا لمن احط الماوس على الفلاش او بكتشر بوكس
ما يرضى يتغير
واى هوا؟؟

يا هوا حمار يا اانا حماره


انا نفسي اغير شكل الماوس


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

<<رحم الله امراء عرف قدر نفسه


المهم يا سيدي معليش على الغلبه

من جد طفشتك

ما ادرى جيه نفسي على الهرج

ههههههههههههه


عشان كدا احسلى اسد حلقى قبل ما تموتنى




يلا بايوا




{{{تـــــــــــــــــــــ النقل ــــــــــــــــــــــم}}}


عشان خاطر الاستاز

Developer
07-05-2006, 12:47 AM
طلع انوا لمن احط الماوس على الفلاش او بكتشر بوكس
ما يرضى يتغير
واى هوا؟؟

يا هوا حمار يا اانا حماره


ههههههههههههههههه

الكود التالي


private void Form1_Load(object sender, EventArgs e)
{
this.Cursor = new Cursor("c:\\pen_im.Cur");
}

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

ولتصحيح الكود السابق


private void Form1_Load(object sender, EventArgs e)
{
this.Cursor = new Cursor("c:\\pen_im.Cur");

this.pictureBox1.Cursor = new Cursor("c:\\pen_im.Cur");
this.button1.Cursor = new Cursor("c:\\pen_im.Cur");
this.richTextBox1.Cursor = new Cursor("c:\\pen_im.Cur");
}

نفس الكود تكررينه مع أي خاصية ظفتيها في الفورم


وهذا الكود الثاني للفورم الثاني

private void Form2_Load(object sender, EventArgs e)
{
this.Cursor = new Cursor("c:\\pen_im.Cur");

this.pictureBox1.Cursor = new Cursor("c:\\pen_im.Cur");
this.button1.Cursor = new Cursor("c:\\pen_im.Cur");
this.richTextBox1.Cursor = new Cursor("c:\\pen_im.Cur");
}

ان شاء الله وضحت الفكرة

الرمش الحزين
09-05-2006, 12:04 AM
يا هوووووووووووووووووووووو



بس كدا


من جد حركة رهيبه



شفت قلتلك انا الحماره








ههههههههههههههههههههههههه



لا سلامتى


<<<<مح قلها سلامتك تقول لنفسها



هههههههههههههههههههههههه




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


وطولت بالك عليا




اوووووووووختك رموشه

اجمل احساس
12-05-2006, 10:26 PM
السلام عليكم جميع أعضاء المنتدى :bye1:
أولا:::::::::::::::::::::::::
أنا أشكرc#develop على تعليقه وأتأسف أسفا شديدا على تأخري في الرد على تعليقك لكن ذلك بسبب إنشغالي في الإمتحانات اللي(( ماتخلص)) :icon1366:
ثانيا:::::::::::::::::::
أنا أتراجع عن سؤالي الأخير لأني ماكتبته بصورة صحيحة :dunno:
ثالثا::::::::::::::::::
أود أن أسأل سؤال إن شاء الله بسيط أنا نسختي 2003 وأريد أنه عندما يشتغل المستخدم البرنامج اللي أنا سويته
وعند عدم أستخدامه ((أي المستخدم)) للماوس تظهر شاشة توقف على نفس الفورما مثل الكمبيوتر تماما
وجزاك الله خيرا :)

Developer
13-05-2006, 10:23 PM
تمنيت تكتبين الفكرة تبعك ، بمعنى كيف فكرتي انه تصنعين شاشة توقف لبرنامجك .

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

فكرة شاشة التوقف كالتالي .

أننا ننشي مؤقت Timer ونعطيه مثلا قيمة دقيقه واحدة ، طبعا بالتنازل بمعنى أوضح انه لمن يشتغل البرنامج يبدأ الوقت في التنازل من دقيقه وحتى صفر .

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


int count = 10;


طبعا التعريف السابق يكون خارج الإجراءات .

الآن ننشيء دالة لحساب الوقت وهي لو أنه الوقت وصل إلى صفر راح يطبق إجراء معين ( تشتغل شاشة التوقف ) كالتالي .



void timerproc(object o1, EventArgs e1)
{
count--;//هذا التناقص بحيث يبدأ العداد من عشرة ويصل إلى صفر

if (count == 0)// هنا لو صل الوقت إلى صفر طبق الإجراء التالي
{
MessageBox.Show("Screen Saver is start");// اكتبي هنا أي اجراء تريدينه يشتغل لو المستخدم ما استخدم الماوس
}

}


الآن باقي علينا نقطه مهمة ، وهي متى المؤقت يبدأ عمله ، طبعا بكل تأكيد يبدأ عمل المؤقت أثناء تشغيل البرنامج لذلك راح نكتب الكود التالي لشتغيل المؤقت في اجراء تحميل الفورم



private void Form1_Load(object sender, EventArgs e)
{

Timer timer01 = new Timer();
timer01.Interval = 1000;
timer01.Tick += new EventHandler(timerproc);
timer01.Enabled = true;

}

أول ما يشتغل البرنامج راح يبدأ عمل المؤقت . إلى هنا كل شيء تمام .

الآن بافي عندنا مشكلة بسيطة ، وهي انه شاشة التوققف تشتغل لو ما استخدم المستخدم الماوس ، لكن لو المستخدم كان يستخدم الماوس فبكل تأكيد ما تشتغل الماوس . كيف نحل المشكلة ؟

الآن اذهبي لأحداث الفورم واختاري الحدث التالي Form1_MouseMove واكتبي الكود التالي


private void Form1_MouseMove(object sender, MouseEventArgs e)
{
count = 10;

}


ايش اللي سويناه هنا ؟
لو الماوس تحرك خلي المؤقت يبدأ من جديد . وبكذا انحلت المشكلة ، بمعنى لو الماوس ما تحركت لمدة عشرة ثواني راح تشتغل شاشة التوقف .


بكذا سوينا شاشة توقف ، لو هناك كود غير مفهوم أخبريني به .

اجمل احساس
16-05-2006, 06:12 PM
مرحباااااااااااااااااااااااااااااااااااااااااااااا
انا مبتدئة جدااااا في تعلم هذة اللغة
قمت بتجربة الكود وماشاء الله على طول تنفذ معايا لكن هناك مشكلة بسيطة ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
وهي انه عندما يشتغل البرنامج يبدا في العد التنازلي للcounter ويتم تشغيل شاشة التوقف عند الصفر حتى وعند تحريك الماوس بمعني لمن احرك الماوس كمان تشتغل الشاشة ,هذا مع تطيبق دالة mausmove التي شرحتهاووضعت داخلها انه counter=10
برنامجي يتكون من عدة فورمات فقمت بوضع كود شاشة التوقف في الشاشة الرئسيةفقط ومانفع
وقمت بوضع الكود في كل الفورمات وكمان مانفع ومادري ماهي المشكلة؟؟؟؟ :dunno:
ارجو حل هذه العقدة!!!

قمرهم كلهم
16-05-2006, 06:55 PM
السلام عليكم ورحمة الله وبركاته
لو سمحتم عندي سؤال وأتمنى تجاوبوني عليه بسرررعة

كيف اقدر أرسم أشكال هندسية داخل الـ form بحيث إني اقدر أغير ألوانها وأبعادها
احنا رسمناها داخل الـ panel لكن نبغاها داخل الـ form

النسخة اللي اشتغل عليها 2003

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

Developer
16-05-2006, 08:15 PM
مرحباااااااااااااااااااااااااااااااااااااااااااااا
انا مبتدئة جدااااا في تعلم هذة اللغة
قمت بتجربة الكود وماشاء الله على طول تنفذ معايا لكن هناك مشكلة بسيطة ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
وهي انه عندما يشتغل البرنامج يبدا في العد التنازلي للcounter ويتم تشغيل شاشة التوقف عند الصفر حتى وعند تحريك الماوس بمعني لمن احرك الماوس كمان تشتغل الشاشة ,هذا مع تطيبق دالة mausmove التي شرحتهاووضعت داخلها انه counter=10
برنامجي يتكون من عدة فورمات فقمت بوضع كود شاشة التوقف في الشاشة الرئسيةفقط ومانفع
وقمت بوضع الكود في كل الفورمات وكمان مانفع ومادري ماهي المشكلة؟؟؟؟ :dunno:
ارجو حل هذه العقدة!!!


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

ولتصحيح المشكلة

أذهبي لأحداث أي أداة موجودة عندك واختاري الحدث mausmove

وضعي فيه الكود التالي counter=10


لنفرض انه عندنا في الفورم زر بوتن وزر تيكست نعمل الآتي

نروح لحدث textBox1_MouseMov ونكتب فيه


private void textBox1_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
{
counter=10;
}


وكمان نروح لحدث button1_MouseMove ونكتب فيه


private void button1_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
{
counter=10;

}


وهكذا مع جميع الأدوات الموجودة في الفورم .


ملاحظة مهمة :: لو الماوس كان خارج الفورم ما راح يشتغل الكود .


هذا مثال للتوضيح

http://www.cpestudents.net/upload/up/WindowsApplication8.zip

Developer
16-05-2006, 08:26 PM
السلام عليكم ورحمة الله وبركاته
لو سمحتم عندي سؤال وأتمنى تجاوبوني عليه بسرررعة

كيف اقدر أرسم أشكال هندسية داخل الـ form بحيث إني اقدر أغير ألوانها وأبعادها
احنا رسمناها داخل الـ panel لكن نبغاها داخل الـ form

النسخة اللي اشتغل عليها 2003

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

طيب ايش المشكلة ؟ panel هوه هوه نفس نفس الفورم ، الأحداث الموجودة في panel حتلاقوها في form

ملاحظة مهمة :: تقدري ترسمي على الفورم في حالة انه فارغ ما فيه أي أداة مثل التيكست بوكس والبوتن وغيرها لأنه لو كان موجود أي أداة على الفورم ما راح يطلع الشكل المرسوم سليم 100%



راح تحتاجون للحدث Form1_Paint الخاص بالرسم على الفورم

جربي الكود التالي في نفس الحدث


private void Form1_Paint(object sender, PaintEventArgs e)
{
Graphics g = e.Graphics;
Pen myPen = new Pen(Color.Black);
g.DrawLine(myPen, 20, 100, 20, 300);
g.DrawLine(myPen, 100, 20, 300, 20);

}

لمن تنفذي البرنامج حتلاقي مرسوم على الفورم خطين مستقيمين واحد بشكل عمودي والآخر بشكل أفقي بلون أسود


ولمن يكون الرسم بالماوس راح تحتاجون للأحداث التالية


Form1_MouseMove
Form1_MouseUp
Form1_MouseDown


يعني نفس اللي كتبتوه في panel راح تكتبوه فيform ، وإذا كانت هناك مشكلة ضعي البرنامج هنا أو ارسليه على الخاص لو كان برنامجكم عبارة عن مشروع :r ، بالتوفيق

lindsay
17-05-2006, 07:51 PM
السلام عليكم ورحمه الله ... انا سألت قبل كذا بس الكود ما فهمته ...
اولا البرنامج عندي اصدار 2003
(فكرة الكود اني اجعل المستخدم بواسطه الفارة ينقل اكثر من صورة من picturBox الى penal ويستطيع بعد وضعها في penal تحريكها داخله)
ياليت اذا تقدر تشرح لي هذا الكود (وللعلم انا ماعندي خلفيه كبيرهC# )
[يعني ياليت تقول في الشرح الفائده من كل جمله , ولماذا استخدمناها بذات؟

قمرهم كلهم
18-05-2006, 12:34 AM
جزاك الله خير على مجهودك

Developer
19-05-2006, 07:00 AM
السلام عليكم ورحمه الله ... انا سألت قبل كذا بس الكود ما فهمته ...
اولا البرنامج عندي اصدار 2003
(فكرة الكود اني اجعل المستخدم بواسطه الفارة ينقل اكثر من صورة من picturBox الى penal ويستطيع بعد وضعها في penal تحريكها داخله)
ياليت اذا تقدر تشرح لي هذا الكود (وللعلم انا ماعندي خلفيه كبيرهC# )
[يعني ياليت تقول في الشرح الفائده من كل جمله , ولماذا استخدمناها بذات؟

الأكواد بسيطة ما تحتاج لواحد خبير بالسي شارب علشان يفهمها ، تحتاج شوية تركيز وشوية فهم لعمل كل دالة بعدين في شيء اسمه مكتبة الدوت نت MSDN اكتبي اي دالة وراح يعطيك بالتفصيل شرح لوظائف الدالة ، نبدأ في الشرح ما سألتي عنه .


private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
pictureBox1.DoDragDrop(pictureBox1.Image, DragDropEffects.All);
}
}

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




private void pictureBox2_DragDrop(object sender, DragEventArgs e)
{
if ( (e.Data.GetDataPresent(DataFormats.Bitmap)))

{



}
}

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



dd.MouseDown+=new System.Windows.Forms.MouseEventHandler(this.pictur eBox1_MouseDown);
dd.MouseMove+=new System.Windows.Forms.MouseEventHandler(this.pictur eBox1_MouseMove);
dd.MouseUp+=new System.Windows.Forms.MouseEventHandler(this.pictur eBox1_MouseUp);
dd.SizeMode = PictureBoxSizeMode.StretchImage;

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

احذفي الكود السابق ونفذي البرنامج علشان توضح الفكرة لديك جيداً



panel1.Controls.Add(dd);

هذا الكود خاص بإضافة الأوبجكت الجديد اللي أنشأناه داخل البانل علشان نقدر نشوفه بمعنى آخر مرئي




if (e.Data.GetDataPresent(DataFormats.Bitmap))
{
e.Effect = DragDropEffects.Copy;
}
else
{
e.Effect = DragDropEffects.None;
}

هذا الكود شرحته في رد سابق بالتفصيل راجعي الردود السابقه


private void pictureBox1_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
{
if(!flag)
return;

if(x>e.X)
{
TempX=x-e.X;
FinalX=((PictureBox)sender).Location.X-TempX;
}

else
{
TempX=e.X-x;
FinalX=((PictureBox)sender).Location.X+TempX;
}

if(y>e.Y)
{
TempY=y-e.Y;
FinalY=((PictureBox)sender).Location.Y-TempY;
}

else
{
TempY=e.Y-y;
FinalY=((PictureBox)sender).Location.Y+TempY;
}

((PictureBox)sender).Location=new Point(FinalX,FinalY);
}

شرح الكود :: احنا ايش نحتاج علشان نحرك الصورة ونضعها في المكان اللي يعجبنا ؟ راح نحتاج لموقع الماوس يعني احداثيات الأكس والواي
قبل عملية تحريك الماوس وبعد تحريك الماوس علشان نحدد موقع الصورة الجديد وعلشان كذا كتبنا الكود التالي


private void pictureBox1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
x=e.X;
y=e.Y;
flag=true;
}

الماوس داون معناها : لمن يكون أحد أزرار الماوس مضغوط والماوس في وضع حركة ، اجعل قيمة الأكس تساوي مكان الأكس بالنسبة للماوس وكذلك نفس الحال للواي ، أما بالنسبة للمتغير flag فمعناه أنه فعلا تنفذ الأجراء .

أما بالنسبة للكود التالي


private void pictureBox1_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e)
{
flag=false;
}

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


عموما الشرح كان سريع ، ممكن تكون فيه أخطاء املائية لكن اتبعي الخطوات التالية علشان تعرفي لكل كود ايش يعمل :

اقرأئي الكود خطوة خطوة وإذا في عندك دالة غير مفهوة اذهبي لمكتبة msdn وحتلاقي شرح لطريقة عملها .

احذي بعض الأكواد وعدلي عليها علشان تفهمين الكود جيداً ايش عمله بالضبط

ShY RoSe
19-05-2006, 07:22 AM
خيو
c# developer
يعطيك العافيه ويارب تلاقي احلى
جزاء لمساعدتك الثمينه
ويجعلك ذخر لينا يارب
<<<اخلصي وراكي مصلحه هع

عندي سؤال بسيط لزيز اتمنى الاقيلو اجابه :wub:

كيف ممكن اغير الصوت الاصلي لاداة
textToSpeachClass

واعذرنا لو اني كتبت الاسم غلط
بس يعني انتا عارف
الاداة ابو فم احمر
<<< في فم كستنائي يعني؟؟؟ ;)

وسوري ازا تعبتك معايا
<<حتتلطش :thumbdown


اختك
شاي
:wub:

lindsay
19-05-2006, 12:48 PM
السلام عليكم ورحمه الله وبركاته
C#_Developer تسلم على شرح الكود
أنا عارفة انه من المفروض إني انتبه انك قبل كذا شرحت الكود واني ما أتعبك معاي بس والله نسيت انك شرحته مع كثر الاختبارات الواحد قرب ينسى اسمه ...
وحكاية انه هناك مكتبه اسمها MSDN والله ما كنت اعرف ان في مكتبه تشرح الدوال وتسلم على المعلومة الجديدة مع انه المفروض هذا أول شيء يعلمونا إياه.......
وأرجوا المعذرة مرة ثانيه

Developer
19-05-2006, 04:56 PM
خيو
c# developer
يعطيك العافيه ويارب تلاقي احلى
جزاء لمساعدتك الثمينه
ويجعلك ذخر لينا يارب
<<<اخلصي وراكي مصلحه هع

عندي سؤال بسيط لزيز اتمنى الاقيلو اجابه :wub:

كيف ممكن اغير الصوت الاصلي لاداة
textToSpeachClass

واعذرنا لو اني كتبت الاسم غلط
بس يعني انتا عارف
الاداة ابو فم احمر
<<< في فم كستنائي يعني؟؟؟ ;)

وسوري ازا تعبتك معايا
<<حتتلطش :thumbdown


اختك
شاي
:wub:

مرحبا شاي ربيع :)



هل تقصدين الأداة الخاصة بتحويل النصوص المكتوبة إلى نصوص مقروأه

اللي هي تبع مايكروسوفت اسمها Microsoft Speech SDK 5.1 ؟

Developer
19-05-2006, 05:11 PM
السلام عليكم ورحمه الله وبركاته
C#_Developer تسلم على شرح الكود
أنا عارفة انه من المفروض إني انتبه انك قبل كذا شرحت الكود واني ما أتعبك معاي بس والله نسيت انك شرحته مع كثر الاختبارات الواحد قرب ينسى اسمه ...
وحكاية انه هناك مكتبه اسمها MSDN والله ما كنت اعرف ان في مكتبه تشرح الدوال وتسلم على المعلومة الجديدة مع انه المفروض هذا أول شيء يعلمونا إياه.......
وأرجوا المعذرة مرة ثانيه

مرحبا بك من جديد ، حصل خير


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

http://msdn.microsoft.com/vcsharp/

الناشئ
25-05-2006, 02:56 PM
السلام عليكم
حبيت اعرف فائدة Interfaces ومتى استخدمها

ShY RoSe
30-05-2006, 05:11 PM
مرحبا


نصيحة أخوية ، ابتعدي عن إظافة الموسيقى وشوفي لك أي صوت آخر

أنا راح اساعدك على شرط ووعد منك بعدم إضافة الموسيقى ، وأنا

بريء . الواحد مو ناقص ذنوب


عموما شرحت لك بالفلاش كيفية إظافة الصوت تجدين الشرح على الرابط التالي

http://www.cpestudents.net/upload/up/SoundincSharp.zip

لو صادفتك أي مشكلة أخبريني . ولاتنسي الوعد

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

اختك
شاي روز

Developer
31-05-2006, 08:29 AM
السلام عليكم
حبيت اعرف فائدة Interfaces ومتى استخدمها


مرحبا بك أخي الناشيء ، آسف أخي على تأخري بالرد ، وذلك لأنشغالي الشديد في الفترة الماضية وكمان زي مانت عارف ظروف الأمتحانات

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

Developer
31-05-2006, 08:33 AM
مشكوووووووووور خيى سي شارب
<<دوبها تشوف الرد
<<<صارلها اسبوعين ناقشت المشروع
ورغم كده اكيد رح استفيد من تعبك
لاتشيل هم
<<<ناويه تعمل برامج كتير في الاجازه
ومرره ربي يخليك عالنصيحه وماقصرت
جعلها الله في موازين حسناتك

اختك
شاي روز

هو ذه المطلوب ، ان شاء الله يكون الموضوع موسوعة لينا نرجع له لمن نستخدم السي شارب . بعدين أنا سألتك فوق ما رديتي على سؤالي ممكن ترجعين للخلف قليلا ؟

ShY RoSe
31-05-2006, 08:55 AM
اوبس
معليش ياعسل ماشفت الرد داكا...
انا اللي اعرفو عنها انو اسمها كده:
textToSpeachClass
وشكلها فم (شفايف) لونها احمر
تكتب في الكود حقها تكست معين تقوم تنطقو

ويعطيك العافيه

Developer
31-05-2006, 09:20 AM
اوبس
معليش ياعسل ماشفت الرد داكا...
انا اللي اعرفو عنها انو اسمها كده:
textToSpeachClass
وشكلها فم (شفايف) لونها احمر
تكتب في الكود حقها تكست معين تقوم تنطقو

ويعطيك العافيه

يا عزيزتي مافي شيء اسمه textToSpeachClass ، من فين جبتيها ؟

لو ممكن تأخذي صورة للأداة علشان اعرفها . لأنه المعروف عن تحويل النصوص المكتوبة إلى نصوص مسموعة هو باستخدام أداة مايكروسوفت
اسمها Microsoft Speech SDK 5.1 . انتي اعطيني صورة أو اعطيني المثال اللي تشتغلي عليه علشان افهم الهرجة :r

DaRk^MoOn
10-06-2006, 06:00 PM
اخي الكريم ... انا عندي شغله معقداني وهي كيف مثلا
اخلي البرنامج يطلع ارقام عشاوئية ومثلا لو انا محدد البرنامج يظهر لي رقم عشوائي
ابغاه يظهرلي رقم ما بين الواحد الى العشرة ....

تحياتي لك

LinuX_WoRm-SA

Developer
10-06-2006, 07:43 PM
بسيطة جداً ياغالي



الأرقام العشوائية لها كلاس خاص بها يسمى Random ، نأخذ مثال الآن حتى تتضح الفكرة



لنفرض انه عندنا ليبل ونبغى كل ما يشتغل البرنامج يظهر رقم عشوائي من 1 إلى عشرة على الليبل



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





Random Number = new Random();


الآن نعرف متغير لنسند له القيم اللي راح نأخذها من الأبوجكت العشوائي




int IntegrNumber = Number.Next(1, 10);



الدالة التالية Number.Next(1, 10); تأخذ الأرقام العشوائية من 1 إلى عشرة فقط





أخيراً علشان نظهر الرقم العشوائي راح اضع القيم في ليبل بالكود التالي




label1.Text = IntegrNumber.ToString();



الآن في كل مرة تشغل وتغلق فيها البرنامج حتلاقي رقم جديد .



طبعا الأويجكت Random فيه خصائص كثيرة اكتشفها بنفسك . ان شاء الله وصلت الفكرة .

هذا الكود كامل


Random Number = new Random();
int IntegrNumber = Number.Next(1, 10);
label1.Text = IntegrNumber.ToString();

DaRk^MoOn
10-06-2006, 09:07 PM
مشكور اخي الكريم ما قصرت
كل شئ واضح بعد شرحك الروعه

انا قلت اكتبها انها ارقام عشوائية عشان كنت ابغى اعرف ايش هو الكلاس

لكن لو كنت ابغاه يطلعي مبمر عشوائي من enum انا مسوية يسير ولا لا ؟

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

عموما انت ما قصرت ويعطيك الف عافيه انا بحاول اني احل المشكلة هذه

ولو صعب على الموضوع طبعا لازم ارجعلك . اذا ما عندك مانع

تحياتي وامتناني
LinuX_WorM-SA

Developer
11-06-2006, 03:36 AM
بسيطة أخوي الغالي . بالنسبة للرندم يتعامل مع أرقام فأنت حاول تستغل هذه

الأرقام في الوصول إلى الأعضاء الموجودين في enum

الفكرة كالتالي

انه نضع أعضاء enum في مصفوفة علشان نتعامل مع الأنديكس تبع المصفوفة


السؤال هنا هو ايش اللي تريد أن تتعامل معاه هل هو قيمة العضو الموجود في enum أم اسم العضو الموجود في enum

أنا عملت مثالين حتى تتضح الفكرة . تفضل الكود التالي وإن شاء الله تتضح الفكرة ، وإذا في أي نقطة غير مفهومة اسئل عنها

المهم هنا هو مجال الرندم ، لابد أن تعطي مجال الرندم على عدد أعضاء enum وفي المثال تبعي وضعت 7 أعضاء في enum ووضعت مجال الرندم من صفر إلى سبعة ، لو اعطيته قيمة أكبر راح يعطيك خطأ لذلك انتبه لهذه النقطة



using System;
using System.Collections.Generic;
using System.Collections;
using System.Text;
namespace Rondom
{
class Program
{
enum Day
{
saturday=88 , sundy=98 , monday=95 , tuesday=54 , wednesday=8 , thursday=12 , friday=10

}
static void Main(string[] args)
{
ArrayList GetNumberForEnum = new ArrayList();
ArrayList GetNamesForEnum = new ArrayList();
Type RandDay = typeof(Day);
Random Rond = new Random();
int y = Rond.Next(0, 7);
foreach (string indexNames in Enum.GetNames(RandDay))
{
GetNamesForEnum.Add(indexNames);
}

foreach (int indexNumber in Enum.GetValues(RandDay))
{
GetNumberForEnum.Add(indexNumber);
}
Console.WriteLine(GetNumberForEnum[y].ToString());
Console.WriteLine(GetNamesForEnum[y].ToString());
}
}
}

DaRk^MoOn
11-06-2006, 04:37 AM
مشكوور ما قصرت اخي الكريم

الفكرة سارت واضحة دحين .. ما جا في بالي اني استخدمها بالشكل هذا

عموما ما قصرت ويعطيك الف عافيه

ومعليش اذا تعبتك معي

والله يزيدك من علمه ما شاء الله عليك


تحياتي

&& LinuX_WoRm-SA &&

النبراااااس
11-06-2006, 06:02 AM
أخوي C# developer
عندي سؤالين
الأول كيف أضيف الساعة والتاريخ في برنامجي .

الثاني كيف أقدر أطبع من textBox أو label
يعني أمر طباعة كما في برنامج الورد word


والف شكر لك

Developer
11-06-2006, 03:19 PM
كيف أضيف الساعة والتاريخ في برنامجي .


عن طريق استخدام كلاس DateTime حاول اكتشاف هذا الكلاس بنفسك لأنه مليان بالخصائص الجملية . فلو وجدت نقطة غير مفهومة في هذا الكلاس أخبرني بها

لاحظ هذا المثال راح يعرض التاريخ والوقت الحالي


this.Text=DateTime.Now.ToString();



كيف أقدر أطبع من textBox أو label
يعني أمر طباعة كما في برنامج الورد word


اعطيني رقم النسخة التي تستخدمها هل هي 2005 أم 2003

حمودي
11-06-2006, 06:44 PM
كيف انزل سي الشارب على الجهاز
تكفووووووون الرد يكون في اسرع وقت وبالتفصيل

والله يوفقك الجميع الى ما يحبه ويرضاه

النبراااااس
12-06-2006, 04:10 AM
النسخة 2003

خير انشاء الله أنا راح أشوف الكلاس وأرد عليك




والف شكر لك

Developer
12-06-2006, 08:15 PM
كيف انزل سي الشارب على الجهاز
تكفووووووون الرد يكون في اسرع وقت وبالتفصيل

والله يوفقك الجميع الى ما يحبه ويرضاه

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

Developer
12-06-2006, 08:18 PM
يصلك الرد بعد قليل ، بسبب خطأ أخوي النبراس

Developer
12-06-2006, 08:21 PM
موضوع الطباعة يمكن أن يصبح معقد قليلا في بعض الحالات , ولكن في طباعة أشياء بسيطة حيكون ما في أسهل منه.

نأخذ مثال حتى تتضح الفكرة . قم بإنشاء مشروع جديد . ومن ثم ضع في الفورم ثلاثة أزرار و تيكست بوكس واحد . ثم ضع فيه PrintD ocument و printDialog و printPreviewDialog من لوحة الأدوات

بعد ما تضع جميع الأدوات السابقة في الفورم ، انقر بالماوس على printDialog ثم اذهب للخصائص وابحث عن الخاصية D ocument انقر عليها واختر منها PrintD ocument كرر نفس الخطوة مع printPreviewDialog كما في الصورة التالية

http://www.cpestudents.net/upload/up/hytt.gif


الآن نأتي لشرح الطباعة .

فكرة عمل الطباعة هو رسم كل حرف بحرف على ورقة الطابعة . تماما زي ما ترسم على ورقة بالقلم . لذلك من الطبيعي راح نحتاج لدالة الرسم . السي شارب مجهزة كلاس خاص برسم النصوص والصور يسمى هذا الكلاس
Graphics احنا راح نعمل التالي
نرسم كل حرف على ورقة الطابعة اللي هو عبارة عن أوبجكت ظفناه في الفورم اسمه PrintD ocument الآن اعتبر هذا الأوبجكت هو ورقة الطابعة .

قم بالنقر على هذا الأوبجكت بالماوس نقرتين مزدوجة حتى ينشيء عندك الحدث التالي


private void printD ocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{

}


الآن قم بكتابة الكود التالية في الحدث السابق


private void printD ocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
Graphics myG = e.Graphics;
myG.DrawString(textBox1.Text, textBox1.Font, Brushes.Black, 0, 0);
}
شرح الكود :

السطر التالي Graphics myG = e.Graphics
أنشأنا هنا ابوجكت خاص بالرسم سميناه ( myG ) يمكننا من خلاله استدعاء الدوال الخاصه برسم النصوص , وفي مثالنا هنا نود طباعة النصوص الموجودة في التيكست بوكس

من خلال الأوبجكت myG قمت باستدعاء DrawString الخاصه برسم النصوص ومررت اليها أولا النص الموجود في الـ TextBox الأول وبعدها مررت الخط الخاص بالـ TextBox الأول ليتم طباعته بنفس الخط الذي يراه المستخدم ( ولكن يمكنك تغييره حسب ماتريد من خلال عمل أوبجكت جديد من Font ) وأيضا جعلت لون النص أسود ( Brushes.Black ) وقمت بتمرير أيضا الاحداثي ( Zero Y و Zero X ) حتى يتم طباعته في أعلى يسار الشاشه.


الآن باقي علينا عملية إظهار الطباعة

احنا عملنا ثلاثة ازرار واحد لتحديد الطابعة والثاني لمعاينة الطباعة والثالث للطباعة مباشرة على الطابعة الإفتراضية

اكتب الكود التالي في الزر الخاص بمعاينة الطباعة


private void button3_Click(object sender, EventArgs e)
{
printPreviewDialog1.ShowDialog();
}

اكتب الكود التالي في الزر الخاص بتحديد الطابعة


private void button1_Click(object sender, EventArgs e)
{
if (printDialog1.ShowDialog() == DialogResult.OK)
{
printD ocument1.Print();
}
}

اكتب الكود التالي في الزر الخاص بالطباعة مباشرة على الطابعة الإفتراضية


private void button2_Click(object sender, EventArgs e)
{
printD ocument1.Print()
}


ان شاء الله وضحت الفكرة






تنبيه هام :

ستجد جميع كلمات الدوكمنت في الرد مسافة بين حرف D وبين بقية الكلمة
ولكون كلمة الدوكمنت ممنوعة في المنتدى لظروف أمنية
فلا تنسى أخي الكريم مسح المساحة الموجودة بين حرف D وبين بقية الكلمة
وإلا فسيعطيك خطأ في البرنامج

النبراااااس
13-06-2006, 03:25 AM
الف شكر لك أخوي C# developer

راح أطبق الاكواد الموجودة وإذا صار إشكال ارد عليك

وعلى العموم تعبناك معنا

مــــــــــــــــــــشـــــــــكــــــور

حمودي
13-06-2006, 06:32 PM
السلام عليكم ورحمة الله وبركاته : اخواني اريد منكم الاجابة على سؤالي.
كيف يمكن انزل السي شارب على جهاز الحاسب؟ وجزاكم الله الف خيرا

Developer
16-06-2006, 04:44 PM
السلام عليكم ورحمة الله وبركاته : اخواني اريد منكم الاجابة على سؤالي.
كيف يمكن انزل السي شارب على جهاز الحاسب؟ وجزاكم الله الف خيرا

ياعزيزي رديت على سؤالك فوق ، ارجع ثلاثة حبات للخلف

DaRk^MoOn
17-06-2006, 01:50 AM
السلام عليكم ورحمة الله وبركاته

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

المهم عندي مشكلة محيراني وهي كيف اخلي البرنامج الي انا مسويه بالسي شارب 2003
يشتغل على اي نظام و هل اقدر اني اشغله على نظام تاني حتى لو مافي فريم ورك 1
انا مالي اي خبرةفي الموضوع هذا فياليت لو عندك الحل تساعدني فيه لانه صراحه مسويلي عقدة


تحياتي وامتناني

Developer
17-06-2006, 01:21 PM
السلام عليكم ورحمة الله وبركاته

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

المهم عندي مشكلة محيراني وهي كيف اخلي البرنامج الي انا مسويه بالسي شارب 2003
يشتغل على اي نظام و هل اقدر اني اشغله على نظام تاني حتى لو مافي فريم ورك 1
انا مالي اي خبرةفي الموضوع هذا فياليت لو عندك الحل تساعدني فيه لانه صراحه مسويلي عقدة


تحياتي وامتناني


مرحبا بأخي الغالي ، حتلاقي رد كتبته قبل فترة على نفس السؤال عبر هذا الرابط . الرد السادس على ما اعتقد

http://www.ta-u.com/vb/showthread.php?t=12265

lindsay
14-10-2006, 05:08 AM
السلام عليكم ورحمه الله وبركاته
عندي سؤال ...... وهو كيف ممكن اعرف متغير في فورم بحيث ممكن استخدمه في فورمات ثانيه اذا احتجته ؟

Developer
14-10-2006, 02:44 PM
السلام عليكم ورحمه الله وبركاته
عندي سؤال ...... وهو كيف ممكن اعرف متغير في فورم بحيث ممكن استخدمه في فورمات ثانيه اذا احتجته ؟



علشان نشوف المتغيرات من أي كلاس ( Class ) لابد من تطبيق ثلاث خطوات وهي :-

الخطوة الأولى :- لابد أن يكون المتغير معرف بأنه متغير عام ( Public ) . كالتالي


public int x = 10;

الخطوة الثانية :- بعد تعريفنا للمتغير بأنه متغير عام ، يعتبر قطعنا نصف المشوار ، نأتي لشرح الخطوة الثانية وهي عبارة عن سؤال وهو في أي كلاس (Class ) تريد مشاهدة المتغير ؟ بمعنى آخر
في أي فورم ( Form ) تريد مشاهدة المتغير لأن الفورم ( Form ) عبارة عن كلاس (Class ) أساسا ،
لنفرض أنه المتغير موجود في الكلاس رقم 1 ونريد مشاهدة هذا المتغير في الكلاس رقم 2 . لاحظ الكود التالي


class Form1
{
public int x = 10;
static void Main(string[] args)
{

}

}
class Form2
{
Form1 f1 = new Form1();

void ShowNumber()
{
f1.x = 20;
}

}

علشان نشوف المتغير x في الكلاس الثاني اللي سميناه في المثال Form2 لابد من تعريف أوبجكت Object من الكلاس رقم واحد اللي سميناه Form1 . تعريف الأوبجكت يكون على الصورة التالية


Form1 f1 = new Form1();

الآن الأوبجكت f1 حيأخذ تقريبا معظم خصائص الفورم 1 ( Form1 ) بمعنى عام نسخة كربونية .

الخطوة الأخيرة :- وهي إذا أردنا استخدام المتغير راح نكتب أولاً أسم الأوبجكت اللي أنشأناه وهو f1 ومن ثم اسم المتغير كالتالي :


f1.x

إذا هناك أي سؤال أو نقطة غير مفهومة ، اكتبها .

عملت مثال كتبيطق على ما شرحته حمل من الرابط التالي :

http://www.cpestudents.net/upload/up/WindowsApplication3.zip

ملاحظة المثال لا يشتغل إلا على الفيجوال استديو 2005 إذا كان لديك الفيجوال استديو 2003 فما راح يشتغل معك المثال . بالتوفيق

lindsay
16-10-2006, 06:01 AM
مشكوووووووور ......الله يعطيك العافيه

lindsay
23-10-2006, 09:03 PM
اول شيء كل عام وانتم بخير بمناسبه عيد الفطر المبارك
ثاني شيء عندي سؤال وارجوا ان لاكون ازعجتكم بكثره اسئلتي
وهو اني جربت البرنامج الي نزلته ومشي معاي وصح شافت الفورم الثانيه المتغير ولاكن مشكلتي اني اريد ان ازيد في كل فورم قيمه المتغير يعني انا اريد ان اضع قيمه ابتدائيه للمتغير بعدين ازيد قيمته في الفورم الاولى بعدين عندما انتقل للفورم الثانيه ازيد قيمته مره ثانيه

انا غيرت في البرنامج بحيث اوضح مشكلتي .....
وأأسف على الاطاله ............... ولكم جزيل الشكر

Developer
26-10-2006, 05:58 PM
اول شيء كل عام وانتم بخير بمناسبه عيد الفطر المبارك
ثاني شيء عندي سؤال وارجوا ان لاكون ازعجتكم بكثره اسئلتي
وهو اني جربت البرنامج الي نزلته ومشي معاي وصح شافت الفورم الثانيه المتغير ولاكن مشكلتي اني اريد ان ازيد في كل فورم قيمه المتغير يعني انا اريد ان اضع قيمه ابتدائيه للمتغير بعدين ازيد قيمته في الفورم الاولى بعدين عندما انتقل للفورم الثانيه ازيد قيمته مره ثانيه

انا غيرت في البرنامج بحيث اوضح مشكلتي .....
وأأسف على الاطاله ............... ولكم جزيل الشكر


الحل هو استخدام static عند تعريف المتغير ، لأن أي متغير يتم تعريفه على اساس انه static حيكون معاك على طول ماهو البرنامج شغال . ويكون تابع للكلاس نفسه بمعنى لاتحتاج أنك تنشيء أوبجكت جديد من الكلاس علشان تشوف المتغير .

الطريقة الصيحية التي يتبعها أغلب المبرمجين في انشاء متغير عام لكل البرنامج . هو انشاء ملف خاص بالدوال والمتغيرات التي تكون مطلوبة في جميع الفورمات واعطائها static

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

http://www.up4world.com/download1.php?id=9LNUUpY9NHM2urZQritV

lindsay
27-10-2006, 12:59 AM
طريقه مرة سهله و واضحه
مشكوووووووووووووووووور

Developer
29-10-2006, 04:22 PM
طريقه مرة سهله و واضحه
مشكوووووووووووووووووور



على الرحب والسعة

TALA
29-10-2006, 07:23 PM
السلام عليكم وكل عام وأنتم بخير..
لدي سؤال وهو أنه في البرنامج عندما أضع أكثر من groupBox فوق بعضها بحيث تظهر وتختفي بالتسلسل أجد أن محتويات الgroupBox تختفي في الrun.
علماً بأن نسختي 2005.
الرجاء سرعة الرد ولك جزيل الشكر..

Developer
30-10-2006, 02:16 AM
السلام عليكم وكل عام وأنتم بخير..
لدي سؤال وهو أنه في البرنامج عندما أضع أكثر من groupBox فوق بعضها بحيث تظهر وتختفي بالتسلسل أجد أن محتويات الgroupBox تختفي في الrun.
علماً بأن نسختي 2005.
الرجاء سرعة الرد ولك جزيل الشكر..

إذا كانت خاصية Visible للـ groupBox تساوي True فمعناته راح يختفي كل شيء داخل groupBox

لأن groupBox فكرته تنظيم controls لمن تكون كثيرة على الفورم


بعدين ليه واضع أكثر من groupBox فوق بعض ، هناك طريقة أفضل بكثير وهي استخدام User Control

TALA
31-10-2006, 02:15 PM
الأخ‎ Developer.. ‎شكراً على سرعة الرد‎. ‎.
البرنامج عبارة عن مسابقة بين فريقين من عشرين سؤال (groupBox) كل groupBox مكون من label و radioButtons وضعتها جميعاً في form واحد وجعلت خاصية الvisible لها تتغير بين true و false حسب ترتيب الأسئلة. البرنامج يعمل بصورة صحيحة ولكن عندما أضع الgroupBoxes فوق بعضها لتظهر في نفس المكان تختفي بعض الأسئلة في الrun. إذن المشكلة في الdesign..
وبالنسبة لل‎ groupBox ‎لم أجد طريقة أفضل لجمع الأسئلة والأجوبة معاً وليس لدي ‏فكرة عن الuser control‏..‏
حاولت أن أرفق نسخة من البرنامج ولكن يبدو أن هناك مشكلة في الإرفاق..

Developer
31-10-2006, 06:27 PM
الأخ‎ Developer.. ‎شكراً على سرعة الرد‎. ‎.
البرنامج عبارة عن مسابقة بين فريقين من عشرين سؤال (groupBox) كل groupBox مكون من label و radioButtons وضعتها جميعاً في form واحد وجعلت خاصية الvisible لها تتغير بين true و false حسب ترتيب الأسئلة. البرنامج يعمل بصورة صحيحة ولكن عندما أضع الgroupBoxes فوق بعضها لتظهر في نفس المكان تختفي بعض الأسئلة في الrun. إذن المشكلة في الdesign..
وبالنسبة لل‎ groupBox ‎لم أجد طريقة أفضل لجمع الأسئلة والأجوبة معاً وليس لدي ‏فكرة عن الuser control‏..‏
حاولت أن أرفق نسخة من البرنامج ولكن يبدو أن هناك مشكلة في الإرفاق..


بما أنك وضعت groupBoxes فوق بعض بكل تأكيد حصل تداخل وسبب لك المشكلة ، ارفع البرنامج على اي موقع حتى أستطيع مشاهدة المشكلة ، عموما تفضل هذا برنامج صممته الترم الماضي كان للمسابقة الثقافية أتمنى أن يفيدك ، استخدمت فيه الuser control‏ مع الصوت ومؤقت وشوية حركات حلوه :r وفي الأخير يعطيك البرنامج النتائج ويحدد من هو الفريق الفائز

http://www.4shared.com/file/5220961/60544e74/windowsapplication17.html

انتظر 20 ثانية بعد فتح الموقع وستجد في أسفل الصفحة زر اسمه download انقر عليه علشان يتحمل على جهازك وعدل على SourceCode

TALA
31-10-2006, 09:27 PM
الأخ Developer..
شكراً على المساعدة وجزاك الله خيراً..
حملت البرنامج وسأستفيد منه إن شاء الله..

Developer
01-11-2006, 06:57 AM
الأخ Developer..
شكراً على المساعدة وجزاك الله خيراً..
حملت البرنامج وسأستفيد منه إن شاء الله..

على الرحب والسعة

شموسة
12-11-2006, 04:13 PM
السلام عليكم ورحمة الله وبركاته ,,
تسلم اخوي على الموضوع الرائع لاننا جميعا بحاجة له ..
حبيت استفسر عن طريقة تحريك الاشكال في السي شارب يعني اذاعندنا دائرة ..بحيث يوجد botton اذا ضغط عليه الــ المستخدم فانا الشكل الا كان فيه يتغير ويلف .. اما 180 درجة او 90 درجة ..يعني الدائرة تلف 90 درجة مثلا ..

وجزاك الله الف خير..

بنت الحرمين
12-11-2006, 08:23 PM
كيف ممكن اربط الاداة tree بقاعدة بيانات
والسؤال الثاني ابغى كود لتكبير وتصغير الصورة

انتظر الرد ويعطيكم العافية على الموضوع

Developer
15-11-2006, 04:08 AM
السلام عليكم ورحمة الله وبركاته ,,
تسلم اخوي على الموضوع الرائع لاننا جميعا بحاجة له ..
حبيت استفسر عن طريقة تحريك الاشكال في السي شارب يعني اذاعندنا دائرة ..بحيث يوجد botton اذا ضغط عليه الــ المستخدم فانا الشكل الا كان فيه يتغير ويلف .. اما 180 درجة او 90 درجة ..يعني الدائرة تلف 90 درجة مثلا ..

وجزاك الله الف خير..

اعتذر لكل اللي سألوا عن تأخري في الرد على استفساراتهم واعتقد الكل يعرف انه الأيام هذي أيام امتحانات . عموما سؤالك غير واضح بالنسبة لي ، هل تقصدين انه عندك button وبداخل هذا الـ button صورة ، تريدين الصورة تتحرك في مسار دائري عندما يضغط المستخدم على نفس button ؟ ارجو التوضيح .

Developer
15-11-2006, 04:09 AM
كيف ممكن اربط الاداة tree بقاعدة بيانات
والسؤال الثاني ابغى كود لتكبير وتصغير الصورة

انتظر الرد ويعطيكم العافية على الموضوع


قبل ما أجيب على السؤال الأول ، راح اسألك هل تعرفين تربطين السي شارب بقاعدة بيانات ؟ إذا كانت إجابتك بنعم . فأعتقد مافي هناك أي مشكلة انك تربطين بيانات القاعدة مع tree View كل ماعليك هو استخدام كلاس DataTable و كلاس DataRow وايضا استخدام DataSet لأنه البيانات راح تأخذيها منها .حيكون الكود على الصورة التالية

حنفترض انك تعرفي تربطين القاعدة بالسي شارب .


DataSet DSet = new DataSet();

mycomd.Fill(DSet, "TableName");

DataTable myTable = new DataTable();

myTable = DSet.Tables["TableName"];

foreach (DataRow DRow in myTable.Rows)
{
treeView1.Nodes.Add(datar["TableName"]);
}

باعتبار انك حتضيفي Rows كـ Node في Tree View .


أما بالنسبة للسؤال الثاني ، ياريت توضحين كمان أكثر ، هل تقصدين انه تتكبر الصورة على Form فقط مثل وظيفة المكبر ، ام تقصدين تكبير مقاس الصورة وحفظ الصورة المكبرة على ملف ؟

شموسة
15-11-2006, 04:52 PM
اعتذر لكل اللي سألوا عن تأخري في الرد على استفساراتهم واعتقد الكل يعرف انه الأيام هذي أيام امتحانات
<< الله يوفقك ان شاء الله وتسلم لانك بترد على الاسائلة..


عموما سؤالك غير واضح بالنسبة لي ، هل تقصدين انه عندك button وبداخل هذا الـ button صورة ، تريدين الصورة تتحرك في مسار دائري عندما يضغط المستخدم على نفس button ؟ ارجو التوضيح

انا اقصد اذا ضغطت على الــbutton تتحرك الصورة ..
يعني ابغى اعرف الكود الا يخلي الاشكال تتحرك في السي شارب..
فإذا كانت مثلا دائرة او اي شكل ابغى اعرف الكود الا يخليها تتحرك مثلا تدور..

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

بنت الحرمين
15-11-2006, 08:51 PM
جزاك الله خير اخ ديفلوبر بس انا اعرف اربط القاعدة بالسي شارب
لكن كيف اخليها لما اضغط على الnode في الtree يطلع لي الصورة بالجهه الثانية؟؟؟
والكود الي انت حطيتة فين احطه بالضبط هل في كود الاداة tree او بالفورم والا فين؟؟؟
وجزاك الله الف خير
انتظر ردك

Developer
16-11-2006, 06:03 AM
انا اقصد اذا ضغطت على الــbutton تتحرك الصورة ..
يعني ابغى اعرف الكود الا يخلي الاشكال تتحرك في السي شارب..
فإذا كانت مثلا دائرة او اي شكل ابغى اعرف الكود الا يخليها تتحرك مثلا تدور..


يتم تحريك المجسمات والأشكال إما عن طريق مكتبة Open Gl أو مكتبة Directx ولو درستي مادة الرسم بالحاسب راح تسهل عليك القيام بالمهمة . هناك بعض المبرمجين يستخدمون timer كحل مؤقت إذا كان المطلوب بسيط القيام به . لكن انصحك بعمل الحركة على شكل صورة متحركة وعندما يضغط المستخدم على button معين تبدأ في الحركة هذه الصورة كحل مؤقت وسريع . وبالتوفيق

Developer
16-11-2006, 07:13 AM
جزاك الله خير اخ ديفلوبر بس انا اعرف اربط القاعدة بالسي شارب
والكود الي انت حطيتة فين احطه بالضبط هل في كود الاداة tree او بالفورم والا فين؟؟؟
وجزاك الله الف خير
انتظر ردك

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

http://www.4shared.com/file/5982839/984478dd/DataBaseAndTreeViewByDeveloper.html





كيف اخليها لما اضغط على الnode في الtree يطلع لي الصورة بالجهه الثانية؟؟؟



ماني عارف ايش تقصدي بالصورة وفين هوه أصلا مكان الصورة عموما لو أردتي انه مثلا لمن اضغط على node يعمل البرنامج حدث معين فأنا وضعت في المثال السابق حدث لمن تضغط على node معين يعرض لك النص الموجود فيه على textbox ، انتي عدلي زي ما انتي عايزة . بالتوفيق

بنت الحرمين
16-11-2006, 12:31 PM
يعطيك الف عافية والله يكون بعونك على أسئلتي
http://www.codeproject.com/cs/miscctrl/dbTree.asp
هذا الرابط لقينا فيه نفس الفكرة الي نبغاها وهو انه لو حملت المشروع حتلاقي انه
حاطط tree وال tree مقسمة الى الناشر---->المؤالف----->الكتب
لو لاحظت في جزئية الكتب لما تضغط على الكتب الي مألفها الكاتب حتلاقي صورة للكتاب هذا الي احنا نبغى نوصله
انه لما اضغط على الnode تطلع لي صورة بالجهه الثانية



المشروع الي في الموقع كان حاطط الصور في جدول مع بيانات الكتاب وخانة الصورة في قاعده البيانات كانت عباره عن نص وفيها مســـــار الصور وجمع الصور كلها في مجلد واحد ووضع القاعدة+مجلد الصور في مشروع السي شارب
بحيث انه يتم استدعاء الصورة من قاعدة البيانات عن طريق الtree
الكود الي كان تحت المشروع للتحميل ماله علاقة بفكرة المشروع فاحنا نبغى هاذي الفكرة فقط
لو قدرت تساعدنا او احد من الي درسوا سي شارب يقدر نكون شاكرين لكــــم
بالنسبة للرابط الي وضعتة في ردك مايشتغل معاي لانه انا 2003 فمارضي يشتغل نهائيا

شموسة
16-11-2006, 03:55 PM
تسلم اخوي على الرد ..
انا سويت نفس الطريقة الا قولتها .. بس الاستاذه طلبت اننا نسوي الحركة بواسطة السي شارب ,,

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

Developer
16-11-2006, 05:31 PM
يعطيك الف عافية والله يكون بعونك على أسئلتي
http://www.codeproject.com/cs/miscctrl/dbTree.asp
هذا الرابط لقينا فيه نفس الفكرة الي نبغاها وهو انه لو حملت المشروع حتلاقي انه
حاطط tree وال tree مقسمة الى الناشر---->المؤالف----->الكتب
لو لاحظت في جزئية الكتب لما تضغط على الكتب الي مألفها الكاتب حتلاقي صورة للكتاب هذا الي احنا نبغى نوصله
انه لما اضغط على الnode تطلع لي صورة بالجهه الثانية



المشروع الي في الموقع كان حاطط الصور في جدول مع بيانات الكتاب وخانة الصورة في قاعده البيانات كانت عباره عن نص وفيها مســـــار الصور وجمع الصور كلها في مجلد واحد ووضع القاعدة+مجلد الصور في مشروع السي شارب
بحيث انه يتم استدعاء الصورة من قاعدة البيانات عن طريق الtree
الكود الي كان تحت المشروع للتحميل ماله علاقة بفكرة المشروع فاحنا نبغى هاذي الفكرة فقط
لو قدرت تساعدنا او احد من الي درسوا سي شارب يقدر نكون شاكرين لكــــم
بالنسبة للرابط الي وضعتة في ردك مايشتغل معاي لانه انا 2003 فمارضي يشتغل نهائيا

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

بنت الحرمين
16-11-2006, 05:39 PM
جزاك الله الف خير طيب مشروعنا على 2003 هل الاكواد تختلف يعني لو بس تقولنا الكود واحنا نحطه
احنا نبغى نربط التري بقاعدة بيانات
والسؤال الثاني:
هل من الممكن اضافة زر مخفي

Developer
16-11-2006, 05:40 PM
تسلم اخوي على الرد ..
انا سويت نفس الطريقة الا قولتها .. بس الاستاذه طلبت اننا نسوي الحركة بواسطة السي شارب ,,

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

يا أختي مكتبة Open Gl ومكتبة Direct x تستطيعن استخدامها مع أي لغة برمجة يعني تقدري تستخدميها مع السي شارب ومع اي لغة انت حابه تصممي فيها برنامجك ، عموما انت عملي مثال بسيط في السي شارب واشرحي لي كيف بالضبط تبغين يكون الكود وارسلي الملف ليا هنا وأنا راح اشوف ممكن الاقي حل بسيط يسهل عليك المهمة .

Developer
16-11-2006, 05:45 PM
جزاك الله الف خير طيب مشروعنا على 2003 هل الاكواد تختلف يعني لو بس تقولنا الكود واحنا نحطه
احنا نبغى نربط التري بقاعدة بيانات
والسؤال الثاني:
هل من الممكن اضافة زر مخفي

اليوم عندي وقت فاضي بمشيئة الله راح اصمم لك برنامج بسيط يوضح لك الفكرة شبيه جداً بالبرنامج اللي وضعتيه فوق ، انتظري ردي . أما بالنسبة للزر المخفي ايوه ممكن تضيفيه وتخلي خاصية Visible بـ false مقل التالي




button1.Visible = false;

بنت الحرمين
16-11-2006, 05:49 PM
جزاك الله الف خيييييييييييييييييير ويجعله في ميزان حسناتك لكن بالنسبة لكود اخفاء الزر اذا تم اخفائة مايتفعل الكود
وونتظر ردك

Developer
16-11-2006, 07:27 PM
جزاك الله الف خيييييييييييييييييير ويجعله في ميزان حسناتك لكن بالنسبة لكود اخفاء الزر اذا تم اخفائة مايتفعل الكود
وونتظر ردك
هذا مثال عملته قبل دقائق ربط الصور وقاعدة البيانات مع tree اتمنى يفيدك انت عاد طوري في الكود زي ما انت عايزة حسب شغلك

http://www.4shared.com/file/6005224/493988da/WindowsApplication10.html

أما بالنسبة للزر زي ما قولتك إذا كنت تريدينه يختفي هذا الكود يخفيه


button1.Visible = false;

وإذا تبغي تظهريه مره أخرى هذا الكود لإظهاره


button1.Visible = true;

بنت الحرمين
16-11-2006, 08:55 PM
جزاك الله الف خير وجعله الله في ميزان حسناتك
الله يوفقك دنيا وأخرة

Developer
18-11-2006, 05:37 AM
جزاك الله الف خير وجعله الله في ميزان حسناتك
الله يوفقك دنيا وأخرة

هوه هذا المطلوب :good:

بنت الحرمين
18-11-2006, 03:40 PM
انا سمعت انه في ستايل خاص بالسي شارب يتم تحملية علشان تغير في الفورم وشكلو والشريط
فماادري هل صحيح وفين ممكن الاقيه؟

Developer
19-11-2006, 03:38 AM
انا سمعت انه في ستايل خاص بالسي شارب يتم تحملية علشان تغير في الفورم وشكلو والشريط
فماادري هل صحيح وفين ممكن الاقيه؟

أول مره اسمع بالهشيء ولا اعتقد له وجود فالموجود هو بعض الكنترول مصممها بعض المبرمجين لكن استايل كامل للسي شارب أول مره اسمع بيها . نسخة 2005 فيها الديزاين للفورم والكنترول أفضل بكثير من 2003 وبأشكال متعددة

نسرونيتا
23-11-2006, 08:45 PM
السلام عليكم ورحمة الله وبركاته ...
اشكرك اخي ديفلوبر على مجهودك الرائع وجزاك الله خير الجزاء ..
ما أطول عليك ... أنا باشتغل بمشروع تخرج ولأول مرة أشتغل على السي شارب ... اجتزنا بعض الشياء وحققنا نجاحا ولله الحمد وبالأخص أن المشروع لا يحتوي على حسابات معقدة ..
لكن وقفت عند شئ ...أنا مني عارفة كيف أبدأ فيه ...
ابغ اسوي برمحة لخوارزمية
the Minimum Spanning Tree (MST)
وعشان تكمل الصورة اليك الخوارزم ...

Algorithm:
Assume :
V is the vertices .
P is the all path in the main graph .
T is the set of edges in MST if graph .
Version 1:
1- start .
2-Read V and P.
3-if ( number of V > 2)
Goto step 4.
Else
the graph is not implementation in this technique
goto step 7
4- Initial state :
(empty set) A - T=
B- sort the edges in G in Ascending order with respect to cost(weight).
5-While MST is not spanning:
A- let e be the next edge in the sorted list of edge.
B-If (e makes a cycle with edge in T)
Then skip it .
Else Add it to T .(T=TUe).
Return T.
6- print T.
7- stop.
أول ثلاث خطوات اضافة من عندي والباقي أساسي ...
للتوضيح : هي طريقة اختيار اقصر طريق وباقل مسافة ...
يعني الوزن محسوب ...بشرط انه ما يرجع لنفس الطريق مرة أخرى ...
انا فكرت فيه وقلت لازم يكون عندي array من بعدين ..
بس مني عارفة كيف استخدمها في السي شارب ...
واليك المثال التالي عشان تكمل الصورة أكثر ...


وفيه طريقة ثانية للخوارزم ...

Version 2:
Algorithm :
1- start .
2- Read V and P.
3- Initial state:
A- sort the edges in G in Ascending order with respect to cost.
B-Let Vs={{V1},{V2}....{Vn}}.
Where n=number of vertices .
Vs (sets of vertices).
4-Reapate until Vs Becomes one set holding all Vi:
Where i=1 To number of vertices .
A-Let (Vj,Vk) be the next edge in the sorted list of edges .
V. Where Vj,Vk
Yi (Yi any subset of set Vs ) B- If {Vj,Vk}
Then skip this edge .(because it makes acycle )
Else Yi=Yi U { Vj,Vk }.
Return Yi.
5-print Yi.
6-stop.

For Example:
From the back example:
The solving by Version 2.
Initial state sorting.
(V1,V7)=1. (V4,V7)=17
(V3,V4)=3 (V1,V2)=20
(V2,V7)=4 (V1,V6)=23
(V3,V7)=9 (V5,V7)=25
(V2,V3)=15 (V5,V6)=28
(V4,V7)=16 (V6,V7)=36

AFTER THE SORT:
Vs={{V1},{V2},{V3},{V4},{V5},{V6},{V7}}.
Vs={{V1,V7},{V2},{V3},{V4},{V5},{V6}} V1,V7=1
Vs={{V1,V7},{V2},{V3, V4},{V5},{V6}}
V3, V4=3
Vs={{V1, V2, V7 },{V3, V4},{V5},{V6}}
V1, V2, V7=5
Vs={{V1, V2, V3, V4, V7 },{V5},{V6}}
V1, V2, V3, V4, V7=17
Vs={{V1, V2, V3, V4 ,V5, V7 },{V6}}
V1, V2, V3, V4 ,V5, V7=34
Vs={V1, V2, V3, V4 ,V5,V6, V7 }
V1, V2, V3, V4 ,V5,V6, V7=57.
من جد أنا ابغ امسك لو بداية الخيط ...ولك جزيل الشكر ...
حاولت أنزل الصور للمثال بس مافي ولا موقع تحميل راضي يفتح اذا ما وضحتلك الصورة تبع الخوارزم ...احطلك المثال .
معليش يا أخي سامحني اذا طولت عليك ...
دمت بخير ...

Developer
24-11-2006, 03:41 AM
السلام عليكم ورحمة الله وبركاته ...
اشكرك اخي ديفلوبر على مجهودك الرائع وجزاك الله خير الجزاء ..
ما أطول عليك ... أنا باشتغل بمشروع تخرج ولأول مرة أشتغل على السي شارب ... اجتزنا بعض الشياء وحققنا نجاحا ولله الحمد وبالأخص أن المشروع لا يحتوي على حسابات معقدة ..
لكن وقفت عند شئ ...أنا مني عارفة كيف أبدأ فيه ...

ابغ اسوي برمحة لخوارزمية
the Minimum Spanning Tree (MST)


مرحبا نسرونيتا ، ماشاء الله مشروع تخرج معناته عندك وقت ، المهم أنا بأقولك على حاجة أي خوارزمية رياضية مشهورة زي خوارزمية Minimum Spanning Tree لا تتعبي حالك و تسألي عن حل لها لأنه موجود لها أمثلة وشروحات بالمئات في الأنترنت ، عموما راح اعطيك رابط يشرح Trees و Graphs في السي شارب وكمان يشرح معظم الخوارزميات منها Minimum Spanning Tree طبعا الموقع من مايكروسوفت ولا احلى منه تفضلي

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dv_vstechart/html/datastructures_guide5.asp


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

http://www.google.com/codesearch?hl=en&q=+lang:c%23+Minimum%5C+Spanning%5C+Tree%5C++show: 3Gqa3jOR-v4:PPZcNvB1mPA:iR0B9DQS7mc&sa=N&cd=1&ct=rc&cs_p=http://www.itu.dk/research/c5/Release1.0/C5.src.zip&cs_f=UserGuideExamples/Graph.cs#a0

http://www.google.com/codesearch?hl=en&q=+lang:c%23+Minimum%5C+Spanning%5C+Tree%5C++show: NKfr5ufBCw4:_DP1Yc8vJE8:AZL4EvOvnz8&sa=N&cd=2&ct=rc&cs_p=svn://svn.bioinfo.ensmp.fr/mathnet/MathNet/Yttrium/trunk&cs_f=NetronGraphLib/Utils/Analysis/Algortihms/Algorithms.cs#a0


ولو عايزه مواقع أكثر اذهبي للموقع هذا http://www.google.com/codesearch واكتبي الخورازمية اللي تريدينها و حدد بأي لغة وحتلاقي ما يرضيك ان شاء الله

حاولي بالبداية تفهمي ايش هوه مبدأ عمل الخوارزم وبعدين من السهولة تحويله لكود

نسرونيتا
24-11-2006, 09:07 AM
يعطيك العافية أخي ...
أنا بحثت عن الخوارزمية في مواقع كثير واطلعت عليها وكانت هذي افضل الخوارزميات ...
وسوف ابحث في الروابط التي تم وضعها ولك جزيل الشكر ...

نسرونيتا
24-11-2006, 09:25 AM
بيني وبينك هية من الدكتور وبحثت عن خوارزمية مقاربة لها ..
لقيت انها اكثر خوارزمية اقدر افهمها ...
لو كان مطلوب برمجتها بالسي بلس حيختلف الوضع ...
بس لني ما اعرف الا اشياء بسيطة في السي شارب ...
واشكرك اخي للمرة الثانية على ردك والروابط رائعة بالذات رابط شركة ما يكروسوفت ...
دمت بخير ...

هدبدب
25-11-2006, 02:39 AM
اممم أنا عندي سؤال وهو كيف أخلي أول حرف من كل كلمة حرف كبتيل مثل

i am live in al-madinah

I Am Live In Al-Madinah

Developer
25-11-2006, 02:55 PM
اممم أنا عندي سؤال وهو كيف أخلي أول حرف من كل كلمة حرف كبتيل مثل

i am live in al-madinah

I Am Live In Al-Madinah

استخدم كلاس string ودالة ToUpper

mooooooon
27-11-2006, 10:36 PM
>please help me
>I work in my project and I need to shortest path in C# i don't know more in C#
please if you can send code in C# to me

Developer
27-11-2006, 11:10 PM
>please help me
>I work in my project and I need to shortest path in C# i don't know more in C#
please if you can send code in C# to me



I don't understand exactly what you want ? can you explain clearly please.

Berserk
27-11-2006, 11:51 PM
انا سمعت انه في ستايل خاص بالسي شارب يتم تحملية علشان تغير في الفورم وشكلو والشريط
فماادري هل صحيح وفين ممكن الاقيه؟

شوفي الموقع هذا .. ان شاء الله يفي بالغرض

www.skincrafter.com

mooooooon
28-11-2006, 06:02 PM
I want code in C# to Shortest Path algorithm

@بعد الشتات@
28-11-2006, 07:48 PM
السلام عليكم

اخواني واخواتي

شفت الموضوع وشدني

وحبيت اشارك بشئ بسيط

وهو

يوجد لدي مذكرة ++c

بامكان من يحتاجها إشعاري

وسوف اضعها في احدى المكتبات بالمدينة

وهذا ماحبيت افيدكم به لتستفيدون

دعواتكم

Developer
30-11-2006, 02:22 AM
I want code in C# to Shortest Path algorithm

Click this link :)

http://www.google.com/codesearch

Developer
30-11-2006, 02:24 AM
السلام عليكم

اخواني واخواتي

شفت الموضوع وشدني

وحبيت اشارك بشئ بسيط

وهو

يوجد لدي مذكرة ++c

بامكان من يحتاجها إشعاري

وسوف اضعها في احدى المكتبات بالمدينة

وهذا ماحبيت افيدكم به لتستفيدون

دعواتكم

أشكرك على مبادرتك الجميلة ، لكن ياعزيزي أتمنى وضع ردك بموضوع مستقل لأن هذا الموضوع مخصص للغة السي شارب وشكراً

نسرونيتا
01-12-2006, 03:26 AM
السلام عليكم ورحمة الله ...
ابغ اسأل كم سؤال ان شاء الله ما اكون عبء عليك ...
كيف اعرف مصفوفة من بعدين بحيث تكون رقم (انتجر)
وكيف استخدمها في ادخال البيانات ( الارقام )
بحيث اني ابغ المستخدم يدخل الأرقام وبعدين يتم حسابها ...
مع العلم ان الحساب سوف يتم عن طريق مصفوفتين ...
انا وجدت طريقة البعد الواحد للمصفوفة بس لفة مرة طويلة عشان يدخل الأرقام ويكون بين كل رقم ورقم كوما ... اذا تبغ اكتب الطريقة للون دايمنشن كتبتها ...
السؤال الثاني :
ابغ اسوي منيو يكون فيها Save as بحيث ااني ابغ احفظ كل قيم التكست بوكس اللي حطها المستخدم والناتج ...اذا ما ينفع طيب بس التكست بوكس تبع الناتج ...
وكمان طريقة برينت للفورم مش للديلوج ...
وفي شي ثاني ابغ المستخدم أذا ضغط على الإكس تبعت الشاشة اللي فوق أسال المستخدم هل تريد الحفظ أنا جربتها بس ما نفعت معايا لأني لمن اضغط ويدخلني لداخل الكوديكون كاتب الدالة From_Load والمفروض يدخلي على From_Closing كيف ادخل على الفروم كلوزينج ...
معليش طولت عليك ... يعطيك العافية ..
ولك جزيل الشكر ...

mooooooon
01-12-2006, 10:26 AM
I search in this link but I didn't find any code in C# to Shortest Path

Developer
01-12-2006, 01:53 PM
كيف اعرف مصفوفة من بعدين بحيث تكون رقم (انتجر)
وكيف استخدمها في ادخال البيانات ( الارقام )
بحيث اني ابغ المستخدم يدخل الأرقام وبعدين يتم حسابها ...
مع العلم ان الحساب سوف يتم عن طريق مصفوفتين ...
انا وجدت طريقة البعد الواحد للمصفوفة بس لفة مرة طويلة عشان يدخل الأرقام ويكون بين كل رقم ورقم كوما

المصفوفات من نوع Multidimensional Arrays تعتبر من الأساسيات وهي بنفس الفكرة في معظم لغات البرمجة فما في داعي نشرحها من جديد لذلك تفضلي هذا الشرح وجدته عندي بالجهاز عن Multidimensional Arrays شرح جميل أتمنى أن يكون يساعدك ، الملف عبارة عن صورة كبيرة ، كبريها حتى تستطيعي قرأت ما فيها :)

http://www.4shared.com/file/6742242/835224a8/Array.html

وإذا استصعب عليك شيء أخبرينا به .




السؤال الثاني :
ابغ اسوي منيو يكون فيها Save as بحيث ااني ابغ احفظ كل قيم التكست بوكس اللي حطها المستخدم والناتج ...اذا ما ينفع طيب بس التكست بوكس تبع الناتج ...


عندك أكثر من طريقة لحفظ النتائج أو قيم التيكست بوكس ممكن تحفظيها على ملفات تيكست أو ملفات XML أو ملفات INI زي ماتحبي اختاري .


وكمان طريقة برينت للفورم مش للديلوج ...


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

http://www.codeproject.com/csharp/ControlPrint.asp

http://www.codeproject.com/csharp/printform.asp


وفي شي ثاني ابغ المستخدم أذا ضغط على الإكس تبعت الشاشة اللي فوق أسال المستخدم هل تريد الحفظ أنا جربتها بس ما نفعت معايا لأني لمن اضغط ويدخلني لداخل الكوديكون كاتب الدالة From_Load والمفروض يدخلي على From_Closing كيف ادخل على الفروم كلوزينج

لاحظي الصورة التالية

http://www.stooop.com/2006/11/546af63082.gif


انقري نقرتين بالفأرة على الحدث وراح يدخلك على دالة الحدث

بالتوفيق

Developer
01-12-2006, 02:02 PM
I search in this link but I didn't find any code in C# to Shortest Path

Really !! Ok , visit this links

http://www.codeproject.com/cs/algorithms/mazesolver.asp

https://secure.codeproject.com/cs/algorithms/

http://www.google.com/codesearch?as_q=Shortest+Path&btnG=Search+Code&hl=en&as_lang=c%23&as_license_restrict=i&as_license=&as_package=&as_filename=&as_case=

نسرونيتا
01-12-2006, 08:08 PM
الف شكر أخي وما قصرت ...
وابغ يحفظ التكست بوكس في ملفات التكست (المفكرة)
وجزاك الله خير الجزاء ...

نسرونيتا
01-12-2006, 08:18 PM
معليش ممكن توضحلي طريقة الطباعة انا دخلت على اللينكات
بس مني فاهمة الأكواد ...
اذا مافي غلبة ممكن تشرحلي ...

Developer
01-12-2006, 11:33 PM
الف شكر أخي وما قصرت ...
وابغ يحفظ التكست بوكس في ملفات التكست (المفكرة)
وجزاك الله خير الجزاء ...

نفرض أنه عندك 4 تيكست بوكس وعندك زر واحد . وتريدين أنه المستخدم لمن يضغط على الزر ينحفظ كل اللي موجود في التيكست بوكس

الآن انقري نقرتين بالماوس على الزر علشان تدخلي على شاشة الكود .

أول شيء اضيفي هذه المكتبة فوق


using System.IO;

وبعدين اكتبي الكود التالي

private void button1_Click(object sender, EventArgs e)
{
StreamWriter sr = new StreamWriter("c:\\SaveSomeData.txt");

sr.WriteLine(textBox1.Text);
sr.WriteLine(textBox2.Text);
sr.WriteLine(textBox3.Text);
sr.WriteLine(textBox4.Text);

sr.Close();
}

طبقي البرنامج . حتلاقي انه حفظ البيانات في محرك الأقراص السي وملف اسمه SaveSomeData . إذا في شيء غير مفهوم في الكود أخبريني . اعتقد انه واضح وسهل .

Developer
01-12-2006, 11:41 PM
معليش ممكن توضحلي طريقة الطباعة انا دخلت على اللينكات
بس مني فاهمة الأكواد ...
اذا مافي غلبة ممكن تشرحلي ...

استخدمي هذا اللنك

http://www.codeproject.com/csharp/printform.asp

الفكرة ومافيها زي ماقولتلك فوق ، انه في السي شارب مافي شيء اسمه اطبع الفورم بكل مافيه يعني دالة جاهزة ، اللي فيه هو دوال مساعدة تساعد في طباعة الفورم ، وكل اللي يحصل في الرابط اللي فوق انه استخدم الدالة DrawToBitmap . لأن الكود مصمم بالسي شارب القديمة 2003 واحنا ذحين في الإصدار 2005 وصار مريح كثير لأنه كل كنترول له دالة رسم DrawToBitmap

لاحظي الكود التالي لرسم الفورم


Rectangle rectangle1 = new Rectangle(this.Location.X, this.Location.Y, this.Width, this.Height);

Bitmap f = new Bitmap(800,600);



this.DrawToBitmap(f,rectangle1);

pictureBox1.Image = f;

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

http://www.ta-u.com./vb/showthread.php?t=11046&page=8

واستبدلي myG.DrawString بالدالة الخاصة برسم صورة ومرري لها الصورة اللي فوق واللي سميتها انا ( f )

ان شاء الله وضحت الفكرة

هدبدب
03-12-2006, 04:27 AM
ياليت أخوي developer تعطيني ايميلك اللي في الهوتميل ابغاك على الماسينجر لأني حاولت ارسلك على الخاص بس لازم تكون مشاركاتي 100 علشان ارسل وانا لسع ماوصلت 100 مشاركة

نسرونيتا
04-12-2006, 11:49 AM
الف شكر لك أخي ...
عندي استفسار بالنسبة للحفظ أنا عندي 4 تكست بوكس ابغاه يحفظها وأبغاه يحفظ كل تكست بوكس بـ label
تبعها يعني انا كاتبة ادخل مثلا التكلفة ومسوية تكست بوكس للادخال ابغاه يحفظلي الجملة (ادخل التكلفة ) ويحفظلي القيمة اللي دخلها المستخدم في المفكرة ...
انا جربت اسويها بنفس الطريقة بس ما زبطت
واذا ممكن أخلي المستخدم يحدد مكان الحفظ ...
عندي سؤال1- بالنسبة للـ Undo , Redo
اذا كان عندي اكثر من تكست بوكس والمستخدم كتب في التكست بوكس الأولى كيف اخلي المستخدم اذا ضغط على اندو يرجعلي للخلف يعني ( ابغ لمن يضغط على اندو يرجعلي بس باخر شي هوا كتبه ) ونفس الشي ريدو ..
2- عندي اكثر من تكست بوكس كيف احدد التكست بوكس اللي ابغ اسويله نسخ او قص او لصق
انا سويتها على تكست بوكس واحد ... واذا سويتها على عدد من التكست بوكس يحتاج مني اعرف المستخدم فين واقف (على اي تكست بوكس ) واعتقد انه لا بد من وجود حدث للماوس بس مني عارفة اي حدث استخدم ..
3-اريد رسم دوائر وخطوط فيه مكتبة للرسم في موقع msdn هل هذي تكفي ولا لابد من وضع مكتبة الاوبن جي إل ....
وجاك الله خير الجزاء
وشاكرة لك اخي ( تعبتك معايا )

Developer
04-12-2006, 07:32 PM
الف شكر لك أخي ...
عندي استفسار بالنسبة للحفظ أنا عندي 4 تكست بوكس ابغاه يحفظها وأبغاه يحفظ كل تكست بوكس بـ label
تبعها يعني انا كاتبة ادخل مثلا التكلفة ومسوية تكست بوكس للادخال ابغاه يحفظلي الجملة (ادخل التكلفة ) ويحفظلي القيمة اللي دخلها المستخدم في المفكرة ...
انا جربت اسويها بنفس الطريقة بس ما زبطت


عادي استخدمي علامة + ( الزائد ) بين كل نص ونص تبغي تكتبيه . مثل التالي


sr.WriteLine(label1.Text + " : " + textBox1.Text);



واذا ممكن أخلي المستخدم يحدد مكان الحفظ ...


ايوه ممكن تخلي المستخدم يحدد مكان الحفظ وذلك عن طريق كلاس SaveFileDialog ، حيكون تعديل الكود تبعك كالتالي


private void button1_Click(object sender, EventArgs e)
{
SaveFileDialog SaveD = new SaveFileDialog();

if (SaveD.ShowDialog() == DialogResult.OK)
{

StreamWriter sr = new StreamWriter(SaveD.FileName);

sr.WriteLine(label1.Text + " : " + textBox1.Text);
sr.WriteLine(label2.Text + " : " + textBox2.Text);
sr.WriteLine(label3.Text + " : " + textBox3.Text);
sr.WriteLine(label4.Text + " : " + textBox4.Text);

sr.Close();
}
}


اذا كان عندي اكثر من تكست بوكس والمستخدم كتب في التكست بوكس الأولى كيف اخلي المستخدم اذا ضغط على اندو يرجعلي للخلف يعني ( ابغ لمن يضغط على اندو يرجعلي بس باخر شي هوا كتبه ) ونفس الشي ريدو ..


بالنسبة للتيكست بوكس فإن Undo , Redo مدمج معا وكودها هو


textBox1.Undo();



2- عندي اكثر من تكست بوكس كيف احدد التكست بوكس اللي ابغ اسويله نسخ او قص او لصق
انا سويتها على تكست بوكس واحد ... واذا سويتها على عدد من التكست بوكس يحتاج مني اعرف المستخدم فين واقف (على اي تكست بوكس ) واعتقد انه لا بد من وجود حدث للماوس بس مني عارفة اي حدث استخدم ..


التيكست بوكس لا يحتاج إلى كتابة كود عمليات ( النسخ والقص واللصق ) لأنه مدمجه معه . ولتجربتها اضغطي على لوحة المفاتيح على ctl + c و ctrl + x . راح تشتغل معك بكل سهولة أو ممكن تضغطي على التيكست بوكس أثناء البرنامج شغال بزر الفأرة الأيمن راح تطلع لك قائمة موجود بها معظم العمليات .



3-اريد رسم دوائر وخطوط فيه مكتبة للرسم في موقع msdn هل هذي تكفي ولا لابد من وضع مكتبة الاوبن جي إل ....


الأوبن جي إل مافي داعي من استخدامها إذا كنتي بترسمي حاجات بسيطة لأنه مايكروسوفت مسهلة الرسم جداً في السي شارب استخدمي MSDN ، نحتاج للـ Open GL إذا كانت هناك حركة مثل تدوير رسمة بدرجة 180 درجة بشكل متتالي أو تصميم الألعاب وغيرها


ياريت قبل ما تسألي تبخثي عن اجابتك في مكتبة MSDN لأنه أسئلتك جداً مبتدئة وموجودة في مكتبة MSDN فما في داعي نشرحها .

شموسة
05-12-2006, 04:11 AM
السلام عليكم ورحمة الله وبركاته,,
شكرا اخوي على الرد ,, سوري انشغلت بالاختبارات واتاخرت بشكرك ,,
جزاك الله خير,, بالنبسة للمثال الاستاذه حلته ,,
ولكن لا نستغني عن مساعدتك في الايام الجاية ,,

نسرونيتا
06-12-2006, 08:13 AM
اشكرك على مجهودك وجزاك الله خير
ولكن ما أقصده في الأندو والريدو والنسخ والقص واللصق يختلف تماما عما قلته
فكان ما اقصده هو اني اريد وضع هذه الخصائص في المنيو للشاشة بحيث يستخدمها المستخدم
ويوجد عندي في الشاشاة أكثر من شئ يكتب فيه المستخدم فالسؤال كان
كيف أحدد اين يقف المستخدم بحيث اذا ضغط على احد الخصائص الموجودة في المنيو يعملها على المكان اللي هوا واقف فيه
هذا ما كنت أقصده ...

Developer
06-12-2006, 04:54 PM
اشكرك على مجهودك وجزاك الله خير
ولكن ما أقصده في الأندو والريدو والنسخ والقص واللصق يختلف تماما عما قلته
فكان ما اقصده هو اني اريد وضع هذه الخصائص في المنيو للشاشة بحيث يستخدمها المستخدم
ويوجد عندي في الشاشاة أكثر من شئ يكتب فيه المستخدم فالسؤال كان
كيف أحدد اين يقف المستخدم بحيث اذا ضغط على احد الخصائص الموجودة في المنيو يعملها على المكان اللي هوا واقف فيه
هذا ما كنت أقصده ...

تعرفي انه المستخدم فين واقف عن طريق حدث MouseCaptureChanged أو حدث TextChanged وغيرها من الأحداث

هذا مثال عملته يوضح الطريقتين .

http://www.4shared.com/file/6998160/f00bdcfa/_2__WindowsApplication10.html

انتظري عشرين ثانية بعد نقرك على الرابط ورح يظهر عندك زر أسفل الصفحة اسمه Download انقري عليه

المثال ما يشتغل إلا على الفيجوال نسخة 2005 فقط

Press
09-12-2006, 01:48 AM
ابداع خلف ابداع أشكر الجميع

طيف الامل
09-12-2006, 07:57 PM
موضوع الطباعة يمكن أن يصبح معقد قليلا في بعض الحالات , ولكن في طباعة أشياء بسيطة حيكون ما في أسهل منه.

نأخذ مثال حتى تتضح الفكرة . قم بإنشاء مشروع جديد . ومن ثم ضع في الفورم ثلاثة أزرار و تيكست بوكس واحد . ثم ضع فيه PrintD ocument و printDialog و printPreviewDialog من لوحة الأدوات

بعد ما تضع جميع الأدوات السابقة في الفورم ، انقر بالماوس على printDialog ثم اذهب للخصائص وابحث عن الخاصية D ocument انقر عليها واختر منها PrintD ocument كرر نفس الخطوة مع printPreviewDialog كما في الصورة التالية

http://www.cpestudents.net/upload/up/hytt.gif


الآن نأتي لشرح الطباعة .

فكرة عمل الطباعة هو رسم كل حرف بحرف على ورقة الطابعة . تماما زي ما ترسم على ورقة بالقلم . لذلك من الطبيعي راح نحتاج لدالة الرسم . السي شارب مجهزة كلاس خاص برسم النصوص والصور يسمى هذا الكلاس
Graphics احنا راح نعمل التالي
نرسم كل حرف على ورقة الطابعة اللي هو عبارة عن أوبجكت ظفناه في الفورم اسمه PrintD ocument الآن اعتبر هذا الأوبجكت هو ورقة الطابعة .

قم بالنقر على هذا الأوبجكت بالماوس نقرتين مزدوجة حتى ينشيء عندك الحدث التالي


private void printD ocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{

}


الآن قم بكتابة الكود التالية في الحدث السابق


private void printD ocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
Graphics myG = e.Graphics;
myG.DrawString(textBox1.Text, textBox1.Font, Brushes.Black, 0, 0);
}
شرح الكود :

السطر التالي Graphics myG = e.Graphics
أنشأنا هنا ابوجكت خاص بالرسم سميناه ( myG ) يمكننا من خلاله استدعاء الدوال الخاصه برسم النصوص , وفي مثالنا هنا نود طباعة النصوص الموجودة في التيكست بوكس

من خلال الأوبجكت myG قمت باستدعاء DrawString الخاصه برسم النصوص ومررت اليها أولا النص الموجود في الـ TextBox الأول وبعدها مررت الخط الخاص بالـ TextBox الأول ليتم طباعته بنفس الخط الذي يراه المستخدم ( ولكن يمكنك تغييره حسب ماتريد من خلال عمل أوبجكت جديد من Font ) وأيضا جعلت لون النص أسود ( Brushes.Black ) وقمت بتمرير أيضا الاحداثي ( Zero Y و Zero X ) حتى يتم طباعته في أعلى يسار الشاشه.


الآن باقي علينا عملية إظهار الطباعة

احنا عملنا ثلاثة ازرار واحد لتحديد الطابعة والثاني لمعاينة الطباعة والثالث للطباعة مباشرة على الطابعة الإفتراضية

اكتب الكود التالي في الزر الخاص بمعاينة الطباعة


private void button3_Click(object sender, EventArgs e)
{
printPreviewDialog1.ShowDialog();
}

اكتب الكود التالي في الزر الخاص بتحديد الطابعة


private void button1_Click(object sender, EventArgs e)
{
if (printDialog1.ShowDialog() == DialogResult.OK)
{
printD ocument1.Print();
}
}

اكتب الكود التالي في الزر الخاص بالطباعة مباشرة على الطابعة الإفتراضية


private void button2_Click(object sender, EventArgs e)
{
printD ocument1.Print()
}


ان شاء الله وضحت الفكرة






تنبيه هام :

ستجد جميع كلمات الدوكمنت في الرد مسافة بين حرف D وبين بقية الكلمة
ولكون كلمة الدوكمنت ممنوعة في المنتدى لظروف أمنية
فلا تنسى أخي الكريم مسح المساحة الموجودة بين حرف D وبين بقية الكلمة
وإلا فسيعطيك خطأ في البرنامج


جزاك الله خيرا على الشرح الواضح :1ongue:

شموسة
12-12-2006, 06:14 AM
السلام عليكم ورحمة الله وبركاته,,

هل يمكن جعل الفورمة شفافة ؟

Developer
12-12-2006, 10:28 PM
السلام عليكم ورحمة الله وبركاته,,

هل يمكن جعل الفورمة شفافة ؟

ايوه ممكن انقري على form وبعدين روحي للخصائص Properties وتلاقي من ضمن الخصائص تبع Form خاصية الشفافية اسمها Opacity وتلاقي النسبة 100% خففي من النسبة على حسب الشفافية اللي تريديها وبالتوفيق

شموسة
13-12-2006, 12:28 AM
شكرا اخوي جزاك الله خير ,,

بنوت
27-12-2006, 08:52 PM
السلام عليكم ورحمة الله وبركاته
لوسمحت أخوي
مشروعنا يتكون من 4 form في الفورم الأخيرة توجد عندنا 10 radio button و10 textbox
بحيث كل radio butto متصلة بtext box وكل textbox متصلة بحقل في قاعدة بيانات
كل ماأريده هو كود
كيفية عمل الكود
المستخدم إذا نقر على radio buttom يظهر له txetbox وبداخله البيانات الموجودة في الحقل الخاص بهذا textbox في قاعدة البيانات
ملاحظة أخي الكريم
1- الإصدار عندي 2003
2- تظهر عندي 10adio button لكن textbox لاتظهر جميعهافقط إذا ضغطت على radio button الأول
يظهر عندي textbox لأول وهكذا
3-هذه radiobutton الكود داخلها عبارة عن
textbox1.visibal=true;
textbox2.visibal=false
textbox3.visibal=false
textbox4.visibal=false
textbox5.visibal=false
textbox6.visibal=false
textbox7.visibal=false
textbox8.visibal=false
textbox9.visibal=false
textbox10.visibal=false


مع كتابة هذا الكود في جميع radio button
وبعض التغيير البسيط فيه
4-الكود المكتوب في text box
لايوجد أي كود مكتوب فقط ربط عن طريق الخصائص بقاعدة البيانات

Developer
28-12-2006, 02:58 AM
السلام عليكم ورحمة الله وبركاته
لوسمحت أخوي
مشروعنا يتكون من 4 form في الفورم الأخيرة توجد عندنا 10 radio button و10 textbox
بحيث كل radio butto متصلة بtext box وكل textbox متصلة بحقل في قاعدة بيانات
كل ماأريده هو كود
كيفية عمل الكود
المستخدم إذا نقر على radio buttom يظهر له txetbox وبداخله البيانات الموجودة في الحقل الخاص بهذا textbox في قاعدة البيانات
ملاحظة أخي الكريم
1- الإصدار عندي 2003
2- تظهر عندي 10adio button لكن textbox لاتظهر جميعهافقط إذا ضغطت على radio button الأول
يظهر عندي textbox لأول وهكذا
3-هذه radiobutton الكود داخلها عبارة عن
textbox1.visibal=true;
textbox2.visibal=false
textbox3.visibal=false
textbox4.visibal=false
textbox5.visibal=false
textbox6.visibal=false
textbox7.visibal=false
textbox8.visibal=false
textbox9.visibal=false
textbox10.visibal=false


مع كتابة هذا الكود في جميع radio button
وبعض التغيير البسيط فيه
4-الكود المكتوب في text box
لايوجد أي كود مكتوب فقط ربط عن طريق الخصائص بقاعدة البيانات

انتي تقصدي كل ما يضغط على radio button يظهر textbox ويداخله النص الموجود في قاعدة البيانات ؟

إذا كان كذا فأنتي تحتاجي ايضاً اضافة الكود الخاص بالإتصال بقاعدة البيانات عن طريق تقنية ADO.NET . لأنه انتي كذا بس اظهرتي التيكست بوكس .

بنوت
28-12-2006, 05:55 PM
بالضبط
معليش أخوي مافهمت
ماهي تقنية Ado.net
وإذا في كود بسيط يكون أحسن لاتعتقد أخوي أننا ندور السهل لكن الوقت ضيق ومشروعنا باللغة الإنجليزية والعربية
مشكور أخوي والله يعطيك العافية

Developer
03-01-2007, 12:35 AM
بالضبط
معليش أخوي مافهمت
ماهي تقنية Ado.net
وإذا في كود بسيط يكون أحسن لاتعتقد أخوي أننا ندور السهل لكن الوقت ضيق ومشروعنا باللغة الإنجليزية والعربية
مشكور أخوي والله يعطيك العافية

شرحت ADO.NET على اربعة أجزاء ، ان شاء الله تستفيدي منها

سكن الليل
03-01-2007, 01:41 AM
السلام عليكم ورحمة الله وبركاته
أناعندي إستفسار بسيط وياليت تجاوبوني عنه
كيف أربط قواعد البيانات بالفورمات في السي شارب إصدار 2005
ومشكورين مقدماً

Developer
03-01-2007, 01:49 AM
السلام عليكم ورحمة الله وبركاته
أناعندي إستفسار بسيط وياليت تجاوبوني عنه
كيف أربط قواعد البيانات بالفورمات في السي شارب إصدار 2005
ومشكورين مقدماً

عن طريق ADO.NET أنا شرحتها . موجودة على المنتدى

pretty
07-01-2007, 05:29 PM
السلام عليكم ورحمة الله

عندى 3 استفسارات

1- لو دخلت تاريخ ميلاد شخص ما

اريد حساب عمر هذا الشخص

هل هناك دالة جاهزة لعمل ذلك ؟؟

2- عندى 3 فورمات

يتم الانتقال مابينهم هكذا من 1 الى 2 ثم من 2 الى 3

من 1 الى 2 لانخفى الفورم 2 ---------------> تم

من 2 الى 3 يتم اخفاء 1و2

كيف اخفى فورم 1 فى هذه الحالة؟؟

3- للانتقال من

Tab To Another Tab

وذلك باستخدام

Button

اي عن طريق كود؟؟


باستخدم اصدار 2003

ولكم جزيل الشكر.................

Developer
08-01-2007, 02:12 AM
1- لو دخلت تاريخ ميلاد شخص ما

اريد حساب عمر هذا الشخص

هل هناك دالة جاهزة لعمل ذلك ؟؟


ما مرت عليه دالة جاهزة لكن ممكن تستفيدي من كلاس DateTime .




2- عندى 3 فورمات

يتم الانتقال مابينهم هكذا من 1 الى 2 ثم من 2 الى 3

من 1 الى 2 لانخفى الفورم 2 ---------------> تم

من 2 الى 3 يتم اخفاء 1و2

كيف اخفى فورم 1 فى هذه الحالة؟؟


الفورم الأول يعتبر هوه الأساسي ولو تم إغلاقه راح يتقفل البرنامج لذلك إذا أردت إخفائه استخدم الدالة التالية


this.Hide();




3- للانتقال من

Tab To Another Tab

وذلك باستخدام

Button

اي عن طريق كود؟؟


باستخدم اصدار 2003



عن طريق


tabControl1.SelectedIndex = 2;

غير الرقم 2 على حسب tab الذي تريده . علما بأنه ترقيم الـ tabs يبدأ من اليسار لليمين وأول واحد من اليسار رقمه 0

pretty
08-01-2007, 08:15 PM
:r

Thanx A Lot Developer


كانت كذا بسيطة كدة

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



:fruits_cherry:

Developer
09-01-2007, 06:17 AM
:r

Thanx A Lot Developer


كانت كذا بسيطة كدة

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



:fruits_cherry:


كل شيء بسيط وتافه في علم البرمجة بس فين الشخص اللي يحب يتعلمها ويصبر

سكن الليل
13-01-2007, 12:26 AM
السلام عليكم ورحمه الله وبركاته
شكرا اخوي على الرد ابغى اسال كم سؤال ثقيلين دم شوي
ابغى اسال عن عن الاداه (((كمبوبوكس )))وكيف لما أضغط على
القائمه تنقلني على القائمه الي تندرج تحتها
مثلا انا عندي كموبوكس وحاطه فيه مثلاا منتديات جامعه طيبه ومنتدى جامعه القصيم
ومنتدى جامعه الملك سعود ابغى لما اضغط على منتدى جامعه طيبه يطلعلي في ((كمبوبوكس)) اخر الاقسام اللي فيه
وزي كذا ?...وبعد ابغى اسال سؤال ثاني كيف اعمل search على كل المعلومات اللي عندي
وهل اعمل على حقل واحد وتطلعلي كل المعلومات ام
اني اكتب كل حقول الجدول اللي عندي?
وبعد اسال عن لما ادخل على النظام تبعي
واضغط مثلا على زر اضافه بيانات لما اضيفها يقول خطا في بناء المشكله
فياليت توضحولي **********
وجزاك الله خير((ياليت يكون الرد سريع))
وشكرا ((سكن الليل))

طيف الامل
13-01-2007, 09:31 PM
السلام عليكم

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

وشكرا جزيلا

salih555
15-01-2007, 05:17 PM
اول شي يعطيك الله الف عافيه
انا عندي سؤالين
الاول
كيف اني لما اسوي بحث(يعني اسوي select) في قاعدة بيانات يطلعلي الناتج في datagrid زي اللي في الصورة
طبعا في نسخة 2003 في احد الاخوان شرحها في المنتدى
لكن لم استطع عمل ذلك في 2005
http://www.9q9q.org/index.php?image=JY8vVuae9KljlI

السؤال الثاني
لما يكون عندي combobox كيف اعرف انه المستخدم اختار احد الاختيارات
يعني لما المستخدم يضغط على button يروح يشوف المستخدم
اذا اختار احد خيارات combobox يكمل البرنامج
اذا ما اختار تطلعله رساله تقوله اختار احد الخيارات

ولك جزيل الشكر

لمى 2007
19-01-2007, 06:05 PM
السلام عليكم أخي العزيز اتمنى ان تساعدني في التالي عندي مشروع عن السجل الاكاديمي لطلاب واحتاج ان اضع الخطه الدراسيه كلها في Form واحده , واريد ذلك باستخدام الاداه CrystalReportViewer ولكن ليس عندي دروس عنها, و عندي كود لكن اعتقد انه ينقصه شيء:

this.oleDbDataAdapter1.Fill(data11);
R report= new R();

report.Setdatasource(data11);
وداخل الاداه اكتب:

this.crystalReportViewer1.ReportSource= report;:werth:
[/PHP]

لمى 2007
19-01-2007, 06:11 PM
السلام عليكم أخي العزيز اتمنى ان تساعدني في التالي عندي مشروع عن السجل الاكاديمي لطلاب واحتاج ان اضع الخطه الدراسيه كلها في Form واحده , واريد ذلك باستخدام الاداه CrystalReportViewer ولكن ليس عندي دروس عنها, و عندي كود لكن اعتقد انه ينقصه شيء:

this.oleDbDataAdapter1.Fill(data11);
R report= new R();

report.Setdatasource(data11);
وداخل الاداه اكتب:

this.crystalReportViewer1.ReportSource= report;:werth:
[/PHP]

شموسة
20-01-2007, 04:52 AM
السلام عليكم ورحمة الله وبركاته..

أخوي ممكن تساعدني بكود اسم المستخدم وكلمة المرور
بحيث اذا ادخل المستخدم الكلمة صح ينتقل الى فورم اخرى بها معلوماته
مثل نظام الأأODES
المشروع عن الخدمات الاكاديمية اللطالب الجامعي
وكيف ممكن انزل لطالب جدول دراسي على حسب متطلبات المواد
يعني لطالب المتاخرين ؟؟
واذا عندي اتنين comboBox وعند اختيار في الاولة اسم الكلية وفي الثانية اسم المستوى
ينعرض فقط المواد الا في هاد المستوى دون غيرها
اسفه اخوي عارفه انه اسائلتي كتيرة ولكن حاولت ان ابحث ولم اجد
ان شاء الله ربي يجعله في ميزان حساناتك ..

sultan22u22
15-02-2007, 01:25 PM
السلام عليكم
بصراحة أشكر جميع من شارك بهذا الموضوع و أخص منهم الدفلوبر
عندي إستفسار بسيط
انا محمل الفيجول 2005 معه سكيول سيرفر مدمجه لكن لم أستطع ان اشغل السكيول سيرفر و عندما احاول اجد يقول أدخل السيرفر نيم لكن لم أستطع أرجو توضيح المشكله
او شرح طريقة تشغيل السيكول سيرفر من IDE كيف التعا مل معها

salih555
15-02-2007, 06:58 PM
ياليت يا اخ Developer ترد على الموضوع

Developer
25-02-2007, 10:22 PM
آسف عن الإنقطاع بالرد على اسئلتكم وذلك بسبب أشغالي ، عموما أي واحد منكم يريد الإجابة على أي سؤال فليتفضل من جديد يكتب سؤاله

salih555
25-02-2007, 10:48 PM
اول شي يعطيك الله الف عافيه
انا عندي سؤالين
الاول
كيف اني لما اسوي بحث(يعني اسوي select) في قاعدة بيانات يطلعلي الناتج في datagrid زي اللي في الصورة
طبعا في نسخة 2003 في احد الاخوان شرحها في المنتدى
لكن لم استطع عمل ذلك في 2005
http://www.9q9q.org/index.php?image=JY8vVuae9KljlI

السؤال الثاني
لما يكون عندي combobox كيف اعرف انه المستخدم اختار احد الاختيارات
يعني لما المستخدم يضغط على button يروح يشوف المستخدم
اذا اختار احد خيارات combobox يكمل البرنامج
اذا ما اختار تطلعله رساله تقوله اختار احد الخيارات

ولك جزيل الشكر
هذا هو سؤالي

Developer
25-02-2007, 11:05 PM
اول شي يعطيك الله الف عافيه
انا عندي سؤالين
الاول
كيف اني لما اسوي بحث(يعني اسوي select) في قاعدة بيانات يطلعلي الناتج في datagrid زي اللي في الصورة
طبعا في نسخة 2003 في احد الاخوان شرحها في المنتدى
لكن لم استطع عمل ذلك في 2005
http://www.9q9q.org/index.php?image=JY8vVuae9KljlI


شرحت الطريقة على الرابط التالي

http://www.ta-u.com/vb/showthread.php?t=20794



السؤال الثاني
لما يكون عندي combobox كيف اعرف انه المستخدم اختار احد الاختيارات
يعني لما المستخدم يضغط على button يروح يشوف المستخدم
اذا اختار احد خيارات combobox يكمل البرنامج
اذا ما اختار تطلعله رساله تقوله اختار احد الخيارات


عندك أكثر من طريقة وهذي على سبيل المثال


if (comboBox1.SelectedItem == null)
{
MessageBox.Show("", "");
}



if (comboBox1.SelectedIndex < 0)
{
MessageBox.Show("", "");
}

salih555
26-02-2007, 10:00 PM
يعطيك الف عافية
رغم ان الاجابة جاءت متأخرة شوي

أحد يفهمني
04-03-2007, 09:40 PM
السلام عليكم
يا شباب الله يسعدكم أبغى مجلد الــframework عشان أشغل الــsetup لمشروع عاملته في visual stdio2003 بدون ما أحمل البرنامج

Developer
05-03-2007, 12:30 AM
السلام عليكم
يا شباب الله يسعدكم أبغى مجلد الــframework عشان أشغل الــsetup لمشروع عاملته في visual stdio2003 بدون ما أحمل البرنامج

http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=262D25E3-F589-4842-8157-034D1E7CF3A3

النبراااااس
09-03-2007, 06:19 PM
اخوي Developer
إذا ما عليك أمر عندي سؤالين
السؤال الأول :
عندي في الفورم الاولى ListBox وButton
بحيث إذا ضغطت على الــ Button تظهر فورم ثانيه
بداخلها TextBox و Button
والمطلوب هو إني أدخل رقم أو نص في TextBox
واضغط على الــButton وتنطبع القيمة في الــ ListBox في الفورم الأولى
وأنا أضفت هذا الكود في داخل الــ Button في الفورم الثانية .

Restaurant.Program.F.listBox4.Items.Add(textBox1.T ext);
this.Visible = false;

Restaurant: اسم الــ project
F: الفورم الاولى

والمشكلة هي أنه ما تظهر القيمة الا إذا أظهرت الفورم الأولى من جديد
وإذا اظهرتها من جديد تنحذف الأشياء الموجودة عليها
مثل النصوص المضافة (بعد التنفيذ) إلى
ListBox
يعني كيف أظهر القيم من دون أن أظهر الفورم مرة أخرى
أو تنحذف الأشياء الموجودة


السؤال الثاني:
كيف أستبدل نص بنص في ListBox
مثلاً الــ Items الموجودة في ListBox
A
B
C
وأنا أريد أن استبدل B بالحرف N
بحيث تصبح
A
N
C
يعني الاستبدال في نفس المكان.
وأنا قدرت أحذف وأضيف العنصر الجديد
بس أنه ينضاف في أخر الــ ListBox

وما عليش على الإطالة

ولك تحياتي ..........

salih555
10-03-2007, 09:42 PM
اخوي Developer
عندي سؤال مستعجل ابي اجابة عليه
و هي في console application كيف ادخل في شاشة التنفيذ قيمة لمتغير ثم في نفس السطر ادخل قيمة
لمتغير اخر
يعني ادخل القيمة و اضغط Enter و ينتقل المؤشر الى وسط السطر
شكرا مقدما

Developer
11-03-2007, 01:41 AM
اخوي Developer
إذا ما عليك أمر عندي سؤالين
السؤال الأول :
عندي في الفورم الاولى ListBox وButton
بحيث إذا ضغطت على الــ Button تظهر فورم ثانيه
بداخلها TextBox و Button
والمطلوب هو إني أدخل رقم أو نص في TextBox
واضغط على الــButton وتنطبع القيمة في الــ ListBox في الفورم الأولى
وأنا أضفت هذا الكود في داخل الــ Button في الفورم الثانية .

Restaurant.Program.F.listBox4.Items.Add(textBox1.T ext);
this.Visible = false;

Restaurant: اسم الــ project
F: الفورم الاولى

والمشكلة هي أنه ما تظهر القيمة الا إذا أظهرت الفورم الأولى من جديد
وإذا اظهرتها من جديد تنحذف الأشياء الموجودة عليها
مثل النصوص المضافة (بعد التنفيذ) إلى
ListBox
يعني كيف أظهر القيم من دون أن أظهر الفورم مرة أخرى
أو تنحذف الأشياء الموجودة


السؤال الثاني:
كيف أستبدل نص بنص في ListBox
مثلاً الــ Items الموجودة في ListBox
A
B
C
وأنا أريد أن استبدل B بالحرف N
بحيث تصبح
A
N
C
يعني الاستبدال في نفس المكان.
وأنا قدرت أحذف وأضيف العنصر الجديد
بس أنه ينضاف في أخر الــ ListBox

وما عليش على الإطالة

ولك تحياتي ..........


مرحبا فيك أخي النبراس ...

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


أما بالنسبة للسؤال الثاني ، تسمى الطريقة بـ Replace . راح تحتاج لشيء واحد وهو رقم index للعنصر اللي تريد تغيير قيمته . عندك عدة طرق بحيث تقدر توصل لرقم index

هناك دالة موجودة في listBox بحيث تعطيها القيمة اللي تريد البحث عنها والدلة تروح تعمل بحث في كل عناصر الـ listBox وتجيب لك رقم index وتكون على الصورة التالية


int Result = listBox1.FindString("A");

listBox1.Items[Result] = textBox1.Text;

ان شاء الله يكون الكود واضح .




اخوي Developer
عندي سؤال مستعجل ابي اجابة عليه
و هي في console application كيف ادخل في شاشة التنفيذ قيمة لمتغير ثم في نفس السطر ادخل قيمة
لمتغير اخر
يعني ادخل القيمة و اضغط Enter و ينتقل المؤشر الى وسط السطر
شكرا مقدما


مرحبا بيك عزيزنا صالح ...

تستطيع عمل ذلك عن طريق الدالة Console.SetCursorPosition الدالة هذي تحرك مكان المؤشر تأخذ قيمتين . القيمة الأولى مكان الحرف من اليسار والقيمة الثانية مكان السطر . جرب المثال التالي


string x, y;


Console.Write("Enter First : ");
x = Console.ReadLine();


Console.SetCursorPosition(20,0);

Console.Write("Enter Second : ");
y = Console.ReadLine();

Console.SetCursorPosition(20, 10);
Console.WriteLine("Output is {0}, and {1}", x, y);

تمنياتي لكما بالتوفيق

salih555
12-03-2007, 07:23 PM
مشكور يا Developer
لكن انا اريد المؤشر يتحرك على العمود يعني بدون ما اذكر
الصف لان عند التنفيذ لا ادري ما هو رقم الصف
مثلا في C++ دالة setw تعمل نفس ما ابحث عنه

النبراااااس
13-03-2007, 02:25 AM
الف شكر لك
أخوي Developer
الحمد لله السؤال الأول توصلت لحله

والسؤال الثاني
بجرب الطريق اللي قلت عليها
وإذا صار إشكال أرد عليك

على العموم
مشــــــــــــــــــــــــــــــــكـــــــــــــــ ــــــــــــــــور

Developer
13-03-2007, 02:59 AM
مشكور يا Developer
لكن انا اريد المؤشر يتحرك على العمود يعني بدون ما اذكر
الصف لان عند التنفيذ لا ادري ما هو رقم الصف
مثلا في C++ دالة setw تعمل نفس ما ابحث عنه

فهمت اللي تقصده بالضبط

عرف متغير string خليه يأخذ ما يدخله المستخدم ، ثم حول المتغير الى مصفوفه من نوع char مثلاً



string Words = Console.ReadLine();

char[] word = Words.ToCharArray();

بالتوفيق

النبراااااس
14-03-2007, 10:49 PM
أخوي Developer
معليش طفشتك.
لكن الله يعينك تحملنا .

عندي كم سؤال إذا ما عليك أمر.
السؤال الأول :
كيف أجعل TextBox لا يقبل الإ حروف
أو لا يقبل إلا أرقام .

السؤال الثاني:
كيف امسح الحرف الأخير من السلسلة الموجودة في TextBox
مثلاُ لو عندي نص داخل textBox
welcome
وضغطت على Button
تصبح
welcom

السؤال الثالث :
كيف أنزل سطر(سطر جديد) في TextBox
يعني عندي Button لو ضغطت عليه
ينزل سطر جديد في TextBox
تشبه عمل (Enter) في Word
وأنا جرت هذا الكود بس ما نفع

textBox1.Text +='\n';


لك تحياتي ..............

زي بعضه
15-03-2007, 02:40 AM
السلام عيكم ...

عندي هالكووود وماني فاهمه ....

اش المقصود بهذي الاصفااااار ...
byte[] Key = {0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09,0x10,0x11, 0x12, 0x13, 0x14, 0x15, 0x16};

.... وشكرراً

Developer
15-03-2007, 04:52 PM
السؤال الأول :
كيف أجعل TextBox لا يقبل الإ حروف
أو لا يقبل إلا أرقام .




مرحبا بك أخي النبراس ...

تستطيع التحكم بما يدخله المستخدم عن طريق اختبار ما يدخله المستخدم من لوحة المفاتيح ، هل المستخدم يدخل أرقام ، أم حروف ، أم رموز ... الخ ؟ . ولعمل ذلك . قم بتحديد textBox ثم اتجه لصندوق الخصائص properties ثم اذهب إلى الأحداث Event وابحث عن الحدث KeyPress انقر عليه نقرتين واكتب الكود التالي إذا أردت بأن يسمح للمستخدم بإدخال أرقام فقط


if (!char.IsNumber(e.KeyChar))
e.Handled = true;
else
e.Handled = false;

أو اكتب الكود التالي إذا أردت السماح بإدخال حروف فقط .


if (!char.IsLetter(e.KeyChar))
e.Handled = true;
else
e.Handled = false;





السؤال الثاني:
كيف امسح الحرف الأخير من السلسلة الموجودة في TextBox
مثلاُ لو عندي نص داخل textBox
welcome
وضغطت على Button
تصبح
welcom



تستطيع مسح أي حرف من أي Text بمعرفة رقم index للحرف الذي تريد مسحه ، هناك أكثر من طريقة للقيام بذلك على سبيل المثال .


textBox1.Text = textBox1.Text.Remove(textBox1.Text.Length - 1, 1);




السؤال الثالث :
كيف أنزل سطر(سطر جديد) في TextBox
يعني عندي Button لو ضغطت عليه
ينزل سطر جديد في TextBox
تشبه عمل (Enter) في Word
وأنا جرت هذا الكود بس ما نفع

textBox1.Text +='\n';




تستطيع النزول لسطر جديد في TextBox عن طريق الخاصية MultiLine تأكد بأن قيمتها بــ true . الآن لو ضغطت على مفتاح Enter سينزل سطر جديد . أما بالنسبة للكود الذي كتبته أنت فتصحيحه هو ...


textBox1.Text += Environment.NewLine;



بالتوفيق .

Developer
15-03-2007, 04:55 PM
اش المقصود بهذي الاصفااااار ...
byte[] Key = {0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09,0x10,0x11, 0x12, 0x13, 0x14, 0x15, 0x16};




مرحبا بك صاحب الأسم المستعار ( زي بعضه )...

الرمز ( 0X ) يعني بأن الأرقام تمثل في صورة ستة عشر . النظام الست عشر hexadecimal

بالتوفيق

النبراااااس
16-03-2007, 12:02 AM
مشـــــــــــــــــــكـــــــــــــــــــور
Developer
الله لا يحرمنا منك

التخصص : People Help
وفعلاُ تخصصك في محله

لك تحياتي......

FALCON
16-03-2007, 02:01 AM
الأخ Developer أحييك على هذا الموضوع والله يعطيك العافية

بالنسبة لسؤالي في الكنسول أبلكيشن :وهو برنامج يقوم بقراءة نص من ملف (مثلاً input.txt) ثم يقوم بكتابتها داخل ملف آخر ( مثلا output.txt ) مع ترقيم الأسطر عند كتابتها إلى الملف الثاني






وعندي سؤال ثاني بعد إذنك : أنا حاب أتعلم لغة #C وأتعمق فيها حتى الثمالة . . أنا حالياً لدي معلومات بسيطة عن اللغة مثل المصفوفات الوراثه الكلاسات . . .إلخ

والمثل يقول إسأل مجرب ولا تسأل طبيب . . . أريد منك نصيحة وتوجيهات ومصادر ( كتاب معين , موقع معين أو حتى معهد معين أو شخص معين في المدينة ) تنصحني بها

تحياتي لك . .

Developer
16-03-2007, 04:38 PM
مرحبا بك ...





بالنسبة لسؤالي في الكنسول أبلكيشن :وهو برنامج يقوم بقراءة نص من ملف (مثلاً input.txt) ثم يقوم بكتابتها داخل ملف آخر ( مثلا output.txt ) مع ترقيم الأسطر عند كتابتها إلى الملف الثاني





طيب أين المشكلة التي لديك حتى أجيبك عليها ؟

كل ما تحتاج إليه هو كيفية التعامل مع الملفات في السي شارب . والفكرة بسيطة جداً

كل ما عليك هو قراءت النص من الملف الأول وفي نفس الوقت تعمل عداد على الأسطر اللي يقرأها من الملف الأول وتضع الترقيم والنص في الملف الثاني . ابحث في مكتبة MSDN عن الكلاسين التاليين واللذان سيساعداك في حل برنامجك :-

- StreamWriter
- StreamReader

وإذا واجهتك مشكلة أخبرني ....





وعندي سؤال ثاني بعد إذنك : أنا حاب أتعلم لغة #C وأتعمق فيها حتى الثمالة . . أنا حالياً لدي معلومات بسيطة عن اللغة مثل المصفوفات الوراثه الكلاسات . . .إلخ

والمثل يقول إسأل مجرب ولا تسأل طبيب . . . أريد منك نصيحة وتوجيهات ومصادر ( كتاب معين , موقع معين أو حتى معهد معين أو شخص معين في المدينة ) تنصحني بها

تحياتي لك . .



ايش معنى ( الثمالة ) :r . بصراحة أول مره اسمع فيها .

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

وإذا احتجت لأي شيء ماراح أبخل عليك به إذا كنت أعرف له .وبالتوفيق .

FALCON
16-03-2007, 05:06 PM
مرحبا أخوي . .

أنا قصدي بالسؤال هي كيفية كتابة الكود الذي يقوم بقراءة الملف والكود الذي يقوم بكتابته إلى الملف







ايش معنى ( الثمالة ) :r . بصراحة أول مره اسمع فيها .




يقول العرب : فلان شرب حتى ثمل ، أي أنه أسرف أو أفرط في الشراب حتى سكر

وهي كلمة يقصد بها حب الشيء والتعلق به



تحياتي لك

Developer
16-03-2007, 06:11 PM
أنا قصدي بالسؤال هي كيفية كتابة الكود الذي يقوم بقراءة الملف والكود الذي يقوم بكتابته إلى الملف


تفضل ...



StreamWriter SW = new StreamWriter(@"c:\FileOne.txt", false, Encoding.Default);

StreamReader sr = new StreamReader(@"c:\FileTwo.txt", Encoding.Default);


int count = 0;
for (string Line = sr.ReadLine(); Line != null; Line = sr.ReadLine())
{

while (Line == "")
Line = sr.ReadLine();
if (Line == null)
break;

count++;

SW.WriteLine("Line {0} {1}", count.ToString(), Line);

}
SW.Close();
sr.Close();

FALCON
18-03-2007, 03:38 AM
جزاك الله خير


تحياتي لك

المدهش
20-03-2007, 04:54 AM
أخي الغالي Developer عندي سؤال أتمنى اجد له اجابه

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

وشكراا

Press
23-03-2007, 03:36 PM
كيف اربط برنامج الأوتلوك مع السي شارب يعني زي ما نشوفه في البرامج لمن تضغط على ايميل مطور البرنامج يفتح لك الأوتلوك .. ومجهز الرسالة بالعنوان وايميل الشخص

Developer
24-03-2007, 03:53 PM
أخي الغالي Developer عندي سؤال أتمنى اجد له اجابه

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

وشكراا


مرحبا بك ( المدهش ) ...

بالأول اقرأ المواضيع التي تتعلق بـ ADO.Net الموجودة في هذا المنتدى بعد ذلك ستسخدم using System.Data.OracleClient;

إذا لم تجدها اذهب إلى References وابحث عن System.Data.OracleClient ثم أظفها . راح تستخدم الكلاسات التالية

OracleCommand
OracleConnection
OracleDataAdapter

نفس مفهوم الأكسس مع اختلافات بسيطة . بالتوفيق

Developer
24-03-2007, 03:59 PM
كيف اربط برنامج الأوتلوك مع السي شارب يعني زي ما نشوفه في البرامج لمن تضغط على ايميل مطور البرنامج يفتح لك الأوتلوك .. ومجهز الرسالة بالعنوان وايميل الشخص


مرحبا بك ( Press ) ...

اظيفي المكتبة التالية using System.Diagnostics . ثم اكتب الكود التالي


using (Process process = new Process())
{

process.StartInfo.FileName = "mailto:yourmail@yourservic.com&subject=yourSubject";

process.Start();

}

بالتوفيق

الاء ابوشقير
29-03-2007, 03:23 PM
السلام عليكم
يا اخوان بدي مساعدتكم
مطلوب مني مشروع c#
الرجاء الرد
بدي فكرة مشروع

أبوسعود2006
03-04-2007, 09:17 PM
كيف اسوي برنامج يحسب عدد الكلمات والمسافات و السترينج ويسوي بحث عن كلمة انا احددها تكون موجودة ولا لأ

المدهش
18-04-2007, 02:31 AM
Developer أشكرك على كل شيء قدمته لي


ماراح أقول مسكين اللي مايعرف واحد مثلك بل مسكين اللي مايعرفك لإنه لا مثيل لك


على العموم مشكوووووووووووور وماقصرت وبيض الله وجهك


أخوك / انت عارف مين ؟؟؟

FALCON
20-04-2007, 12:32 AM
السلام عليكم

أخوي ممكن تعطيني الفنكشن التي تقوم بقراءة الملف النصي كلمه كلمة . . . .

دايم الحمد
29-04-2007, 02:44 AM
السلام عليكم ورحمه الله
اتذكر ان فيه موضوع يتحدث عن برنامج مشغل للملفات الصوتيه
ولكني بحثت ولم اجده
فياليت الرابط او حتى الطريقه
" برنامج مطور من السي شارب يفتح لك الملفات اللي تختارها ملفات صوتيه
او ان لم يفهم احد مالمطلوب بالتحديد فبرجاء اي موضوع عن ادراج ملفات الصوت والفيديو في برنامج سي شارب
" والله ولي التوفيق

النبراااااس
29-04-2007, 10:18 AM
تفضل أخوي دايم الحمد .
هذا مثال بسيط يفتح ملفات Wav
إنشاء الله يكون هو المطلوب .
وإذا صعب عليك شي تفضل اسأل .

ولك تحياتي .

دايم الحمد
29-04-2007, 04:09 PM
شكرا لك حبيبي النبراس
بس يااخي كان فيه
برنامج او مكتبه او شي معين له علاقه بالفريم وورك تقدر تضبط فيه كل الملفات
واللي اتذكر ان اللي كتبه devloper

النبراااااس
29-04-2007, 05:29 PM
أخوي دايم الحمد
اللى أنا أعرفه في الصوتيات هو
مكتبة
using System.Media;
لكن كيف أحدد الصيغ .
مادري كيف .
Develper
راح يفيد أكثر مني

ولك تحياتي .

دايم الحمد
29-04-2007, 08:54 PM
عندي لكم حركه من جد جد جد رهيبه

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

لكني لا زلت اتمنى مرور المطور او غيره

Press
29-04-2007, 09:29 PM
على فكرة developer له فترة ما نشوفه بالمنتدى نتمنى انه يكون بخير .

SYRIAN SUN
14-05-2007, 05:50 PM
أنا عندي 10forms كل وحدة فيها أربع أسئلة وزر يودي للفورم التالية ابغى احطtimer عليها كلها مدته 10 دقائق بعدها يفتح فورم للنتيجة ويغلق كل الفورم حقت الأسئلة وكيف اعرف متغير عام لكل الفورم عشان اجمع فيه عدد الاجابات انا شفت كود 2005 بس انا بشتغل 2003
وكيف ممكن اربط برنامج في #C مع website مبرمج باستخدام visual web developerb2005 بلغة asp.net ارجو الرد سريعا وشكرا

Developer
15-05-2007, 05:47 AM
أنا عندي 10forms كل وحدة فيها أربع أسئلة وزر يودي للفورم التالية ابغى احطtimer عليها كلها مدته 10 دقائق بعدها يفتح فورم للنتيجة ويغلق كل الفورم حقت الأسئلة وكيف اعرف متغير عام لكل الفورم عشان اجمع فيه عدد الاجابات انا شفت كود 2005 بس انا بشتغل 2003
وكيف ممكن اربط برنامج في #C مع website مبرمج باستخدام visual web developerb2005 بلغة asp.net ارجو الرد سريعا وشكرا


بالنسبة للجزئية سؤالك الأولى ماني فاهم ايش مشكلتك بالضبط . عموما هنا على هذا الرابط تجد طريقة التعامل مع المؤقت timer .

http://msdn2.microsoft.com/en-us/library/system.timers.timer.aspx

بالنسبة للمتغير العام فعرفه على اساه انه static

كالتالي

public static int Result = 0;

بعدين تستطيع مشاهدته من اخلال استدعاء اسم الكلاس اللي عرفته فيه . والكود اللي انته شوفته على 2005 راح يشتغل معاك على 2003 مافي فرق

أما بالنسبة لربط موقع مع برنامج كل ماعليك هو استخدام Web services

شموسة
15-05-2007, 02:47 PM
السلام عليكم ورحمة الله وبركاته..

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

وشكرا

SYRIAN SUN
15-05-2007, 04:57 PM
أنا قصدي انه عاملة اختبار ذكاء مدته 10 دقائق فقط واسئلة الاختبار حاطتها في 10 Forms
في كل form
4 أسئلة لأنه للأطفال وابغى النتيجة في فورم لوحدها
وبالنسبة للموقع أنا اللي صممته وأبغى أربط فيه اختبار الذكاء اللي عاملته ب #C ممكن تشرح بالضبط

Developer
15-05-2007, 06:21 PM
السلام عليكم ورحمة الله وبركاته..

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

وشكرا

بالنسبة للسؤال لو بحثتي في النت حتلاقي آلاف المواقع تشرح الكريستال ريبورت على سبيل المثال

http://www.arabteam2000-forum.com/index.php?showtopic=80923&hl=الكريستال+ريبوت

http://www.arabteam2000-forum.com/index.php?showtopic=81319&hl=الكريستال+ريبوت

http://www.arabteam2000-forum.com/index.php?showforum=169

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

الأفكار كثيرة . عليك اختيار المناسب لك

Developer
15-05-2007, 06:31 PM
أنا قصدي انه عاملة اختبار ذكاء مدته 10 دقائق فقط واسئلة الاختبار حاطتها في 10 Forms
في كل form
4 أسئلة لأنه للأطفال وابغى النتيجة في فورم لوحدها
وبالنسبة للموقع أنا اللي صممته وأبغى أربط فيه اختبار الذكاء اللي عاملته ب #C ممكن تشرح بالضبط

طيب ايش المشكلة بالضبط أهوه انتي حليتها بنفسك المشكلة خلي عندك عشرة Forms للأسئلة وواحد لعرض النتائج بكذا تكون كلها إحدى عشر Forms . وبحيث يكون عندك متغير عام يحسب النتيجة من كل فورم . أما لو حابه تتعلمي كيف تتعاملي مع الوقت في السي شارب فأنا وضعت رابط في ردي السابق عليك

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

www.codeproject.com

و

http://www.arabteam2000-forum.com/

ساحر الميلان
16-05-2007, 02:47 AM
اخي العزيز

أنا بحاجه إلى برنامج يقوم بقرآءة string عن طريق الكيبورد ثم يبحث عنه في في ملف مخزن سابقاً فإذا كان موجود ضمن الملف يظهر لي رسالة أن الـ string موجود ضمن الملف

كل ما أحتاجه هي طريقة البحث فقط عن الـ string داخل الملف ومن غير Function

لا أريد البرنامج كاملاً

تحياتي

Developer
16-05-2007, 03:22 AM
اخي العزيز

أنا بحاجه إلى برنامج يقوم بقرآءة string عن طريق الكيبورد ثم يبحث عنه في في ملف مخزن سابقاً فإذا كان موجود ضمن الملف يظهر لي رسالة أن الـ string موجود ضمن الملف

كل ما أحتاجه هي طريقة البحث فقط عن الـ string داخل الملف ومن غير Function

لا أريد البرنامج كاملاً

تحياتي

عرف متغيرين string واحد ضع فيه النص المدخل من الكيبورد والآخر ضعه فيه النص الموجود في الملف ( بمعنى اقرأ النص الموجود في الملف ثم ضعه في متغير string )

الآن عندك دالتين للبحث داخل النص وهي


if (x.Contains("Name"))
MessageBox.Show("Found");


أو


if (x.IndexOf("Name"))
MessageBox.Show("Found");

قمرالليالي
20-05-2007, 09:35 PM
السلام عليكم
شكرا لك أخي developer على هذا الموضوع الرائع
وجزاك الله خيرا (بعدد من استفاد من هذا الموضوع)
فأنا من أكثر المستفيدين منه
ولكن هل تسمح لي بسؤال
لدي3 forms
وجميعهم مربوطين بفورم واحده
من خلال زر التالي
لكن سؤالي هوعندما أكون في هذه الفورم و أريد الرجوع
إلى أحد الفورم بزر السابق كيف أستطيع الرجوع للفورم
اللي جيت منها
يعني كيف استطيع استخدام زر السابق وأربطه بـ3 forms
بحيث أستطيع الرجوع للفورم معينه وهي الفورم اللي دخلت منها
أتمنى تكون فهمت قصدي
و ما يكون السؤال غير واضح

ShY RoSe
21-05-2007, 04:26 AM
خيو developer
جعل الله كل تعبك وجهدك في مساعدتنا جبالا في موازين حسناتك
ربي يسعدك كفيت ووفيت وماقصرت

انا كنت بأتابع مواضيعك وردودك في دا الموضوع بالذات من زمان واستفدت منها بشكل مره كبير

بس في حاجتين ياريت الاقي جوابها ..
1- نحنا ربطنا داتا بيز خاصة بمؤسسه بالسي شارب
ونبغا نعمل في البرنامج button يعملي عملية search
يعني مثلن عندي جدول الموظفين من ضمن الجداول وكل موظف له كود خاص
ابغا بوتون لمن اضغط عليه يطلب من اليوزر انو يدخل الكود الخاص بالموظف المطلوب البحث عن بياناته وبعدين يبحث عنه ولو لقاه يطلعلي شاشه فيها البيانات ولو مالقاه يطلع مسج بأنو مو موجود...

كيف مكن اعمل عملية البحث دي ؟؟؟:lleyes:

2- عندي عميل جديد وابغا أعبي بياناته في الفورمه
لو دخلت حاجه غلط (مثلن دخلت رقم في الحقل حق الاسم)
أبغاه يطلعلي مسج بانو في خطأ حصل وياريت كمان معاها صوت بيب بسيط
او ممكن بعد مايعبي كل البيانات ويضغط على حفظ يقوم يخلي كل الحقول اللي فيها خطأ (تومض) تولع وتطفي بلون احمر مثلن
زي كدا -----> :icon26:

هل ممكن اعمل الشي دا في السي شارب؟ وكيف؟
الاصدار اللي عندي هوا 2003

وجزاك الله خير مقدما :cupidarrow: