الاثنين، 10 يونيو 2019

خدمة اعملي شرح




السلام عليكم




للاستفسار والاشتراك في خدمة (اعملي شرح) اترك ايميلك في تعليق وسيتم التواصل معك




ما هي خدمة اعملي شرح ؟




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



بتتعب من شرح برنامجك للعملاء والاسئلة المتكررة وكل شوية سؤال في نفس الاشياء ؟ 



عاوز تعمل شرح مميز لبرنامجك يغنيك من تعب الشرح وتوصيل كيفية تشغيل البرنامج وشرح مميزاته ؟ 




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




اشترك الان في خدمة (اعملي شرح) وساقوم ان شاء الله بعمل سلسلة شروحات فيديو لكل نقطة في البرنامج وعمل ملف مساعدة لتركيبه على برنامجك 




للاستفسار والاشتراك في خدمة (اعملي شرح) اترك ايميلك في تعليق وسيتم التواصل معك

السبت، 9 مارس 2019

انشاء تقرير متعدد الاعمدة Report Viewer

السلام عليكم 
كنت في السابق عملت درس في Crystal Report لكيفية عمل اعمدة للتقرير
رابط الدرس

https://www.youtube.com/watch?v=39Gx4OVfFww&index=15&list=PLdI8JH1ubsUBFPiJOJN5lNRZLRG6ElmTd&t=3s

وجائني سؤال عن كيفية عمل ذلك مع Report Viewer

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

اضغط على الصورة للتكبير




الثلاثاء، 5 مارس 2019

كيف يحدد المبرمج (المبتدئ) سعر برنامجه

السلام عليكم

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

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

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

وهذا لن يأتي الا بالخبرة وبعد فترة من العمل ومن الاحتكاك مع العملاء

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

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

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

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

ولاجابة السؤال توجد طريقة سهلة جدا ومجربة :

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

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

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

الخميس، 21 فبراير 2019

الفرق بين int.Parse() و int.TryParse() بلغة C#

من اسئلة الانترفيو للمتقدين لشغل وظيفة مبرمج C# 

ما هو الفرق بين int.Parse() و int.TryParse()

الاجابة :

كلا التعبيرين يستخدمان في تحويل النصوص الى ارقام (طبعا لو ان النص بالكامل مكون من ارقام) ،
ولكن لان بعض خصائص ادوات البرنامج تعطي نصوص حتى لو ان كل النص ارقام مثل خاصية Text في اداة TextBox ،
وبما ان لغة C# لا تفوم بالتحويل التلقائي بين انواع البيانات كلغة VB.net ، فكان من الواجب تحويل القيمة المرسلة من الخاصية الى رقم ليتم استخدامه كرقم.

اذا ما الفرق بين التعبيرين:
الفرق ان التعبير الاول int.Parse() يقوم بالتحويل مباشرة بدون التأكد ان النص المرسل بالكامل ارقام ، وفي حالة ارسال نص مكون من ارقام واحرف او علامات فيعطي البرنامج خطا تشغيل.

اما التعبير الثاني int.TryParse() يتم التحقق من ان النص المرسل بالكامل ارقام ، ويمكنك ارسال رسالة للمستخدم في حالة وجود نص ليس رقم بالكامل.

امثلة 
النص 123 في حالة تحويله
اولا: بالتعبير الاول int.Parse() يتم التحويل كالتالي:
int.Parse("123")
فسيتم ارسال النص بدون مشاكل لان كل النص عبارة عن ارقام
اما لو اردنا عمل تحويل للنص 123abc فلو كتبنا التالي:
int.Parse("123abc ")
فسيعطينا البرنامج خطأ لعدم التمكن من تحويل النص بالكامل الى ارقام

اذن كيف نستخدم التعبير الثاني int.TryParse() للتحقق من النص
نعرف متغير نصي ومتغير رقمي اولا :
string str = "123abc"
int MyVal = 0;

ثم نقوم بعمل متغير bool ونكتب الجملة التالية بحيث لو النص بالكامل ارقام يعطي true اما لو لم يكن ارقام بالكامل يعطي false:

bool MyTest = int.TryParse(str, out MyVal );

لاحظ ان كلمة out ثابتة ولو ان النص بالكامل ارقام سيتم اعطاء القيمة الرقمة في المتغير MyVal  ويمكنك استخدامه في باقي الكود كالتالي:
if(MyTest == true){
        int MyResult = MyVal *2;
}
ويمكن ارسال رسالة للمستخدم في حالة وجود حروف او نصوص غير رقمية في النص في جملة else
if(MyTest == true){
        int MyResult = MyVal *2;
}else{
        MessageBox.Show("النص المدخل غير صالح");
}