اذهب إلى المحتوى

طارق جهاد

الأعضاء
  • المساهمات

    188
  • تاريخ الانضمام

  • تاريخ آخر زيارة

  • عدد الأيام التي تصدر بها

    17

كل منشورات العضو طارق جهاد

  1. وعليكم السلام ورحمة الله، يوجد ملف اسمه Program.cs فيه دالة Main، ستلاحظ افتراضيا ان التشغيل يبدا من Form1، قم بتغييره لأي فورم أخر. بالتوفيق،،،
  2. مرحباً اخي. القراءة من RSS تشبة القراءة من ملف XML وتشبه القراءة من Web API. انصحك بالمتابعة مع هذه السلسلة الجميلة. Connecting Android Apps to RESTful Web Services بالتوفيق،،،
  3. الافضل تثبت حزمة Microsoft ASP.NET and Web Tools أو عمل تحديث لها من: Tools > Extensions and Updates بالتوفيق،،،
  4. بكل بساطة اخي الكريم انت تريد عمل خصم (9%) أو (9 بالمئة) أو (0.09) بالتالي عملية ضرب بسيطة: 10800 * 0.09 = 972 (الخصم) 10800 - 972 = 9828 (الراتب بعد الخصم)
  5. توجد متطلبات الاندرويد ستوديو على الموقع الرسمي له. https://developer.android.com/studio/index.html#Requirements المتطلب الأساسي طبعا هو منصة جافا، والتي يمكن تحميلها مجاناً.
  6. وعليكم السلام ورحمة الله، اخي الكريم ما يحدث معك طبيعي جداً، الملفات التي تقوم برفعها حاليا من نفس جهازك، يتم رفعها إلى مجلد Files، ويمكن استخدامها ضمن الموقع بدون مشاكل، بمعنى لا يوجد داعي لان تكون مضافة لملفات المشروع (الملفات موجودة بشكل سليم، لكن هذه وجهة نظر Visual Studio لها، باعتبارها لا تنتمي لملفات المشروع، واقصد بملفات المشروع، اي اذا قمت برفع الموقع إلى احد الخوادم، فلن يتم رفع هذه الملفات معها (واتوقع هذا ما تريده باعتبار هذه الملفات ملفات تجريبية على جهازك)). لا تقلق الملفات ستعمل بشكل سليم تماماً. وهذا هو السلوك الافتراضي.
  7. Structure هو طريقة لتمثيل البيانات (هيكلة البيانات) مشابه لمفهوم الكلاس Class، الفرق بينهم بألية عمل الذاكرة، بمعنى: ال Structure يعتبر Value Type ال Class يعتبر Reference Type
  8. لا تحتاج لقاعدة بيانات. انا اعطيك حل بسيط، يمكنك تطوير المثال واستخدام الحركات الاعرابية في انتاج اسماء اكثر مقاربة للحقيقة: static void Main(string[] args) { Dictionary<string, string> mappingTable = new Dictionary<string, string>(); mappingTable.Add("ا", "a"); mappingTable.Add("أ", "a"); mappingTable.Add("إ", "e"); mappingTable.Add("آ", "a"); mappingTable.Add("ع", "a"); mappingTable.Add("ب", "b"); mappingTable.Add("د", "d"); mappingTable.Add("ل", "l"); mappingTable.Add("ه", "h"); mappingTable.Add("ح", "h"); string name = Console.ReadLine(); string englishName = ""; foreach (char c in name) { englishName += mappingTable[c.ToString()]; } Console.Write(name + " => " + englishName); }
  9. وعليكم السلام ورحمة الله. اخي الكريم بإمكانك عمل Mapping Table، اي كل قابل كل حرف انجليزي بالحرف أو الاحرف العربية. ثم تقوم بالمرور على احرف الكلمة الانجليزية وتستبدل كل حرف انجليزي بمقابله العربي. مثال: افرض ان Mapping Table بالشكل التالي: a ا b ب c س d د ... h ح m م ... طبعا يمكن تخزين هذه الجدول ضمن Dictionary<String, String> بالتوفيق،،،
  10. مرحبا يمكن فتح هذا الملف باستخدام الفيجوال ستوديو https://msdn.microsoft.com/en-us/library/ms239722.aspx
  11. اغلب السيرفرات تعطيك اعدادات النشر عن طريق visual studio، مثلا ضمن GoDaddy يوجد خيار لتنزيل هذه الاعدادات بشكل ملف XML من ضمن فيجوال ستوديو من قائمة Build نختار Publish، ثم نقوم بفتح ملف الاعدادات السابق، بالاضافة لكلمة المرور الخاصة بالحساب على السيرفر. وبعدها يقوم فيجوال ستوديو بباقي المهمة. شاهد المثال التالي، او قم بالبحث عن how to publish asp net website from visual studio https://www.youtube.com/watch?v=HGmA0zaE30M
  12. وعليكم السلام اخي الكريم. ما نوع التقنية التي تعمل عليها؟ اذا كنت تستخدم Visual Studio بإمكانك رفع التطبيق عن طريقه، وفي كل مرة تقوم بعمل تعديلات جديدة قم برفعها ايضا عن طريق Visual Studio وهو بدورة سيقوم بتحديث الصفحات المطلوبة واضافة الجديدة ايضاً. اذا لم تكن تستخدم Visual Studio يمكن رفع التطبيق باستخدام FTP هناك برامج اسمه FileZilla جيد وسهل الاستخدام يمكن من الاتصال ب FTP ورفع الملفات عن طريقه، وعند التحديث يمكن اعادة رفع الملفات الجديدة، الامر هنا اشبه بنسخ الملفات من مجلد الى مجلد اخر. بالنسبة لقاعدة البيانات، يمكنك الاتصال ب SQL Server الموجود على السيرفر البعيد عن طريق SQL Server Management Studio المثبت على جهازك ومن ثم التعامل مع قاعدة البيانات البعيدة كما لو كانت على جهازك. كما يمكنك ايضا استخدام Entity Framework Code First والتي ستقوم تلقائيا بتوليد قاعدة البيانات على السيرفر، وتعديلها في حالة التعديل، كما يمكنها اضافة بيانات افتراضية في قاعدة البيانات (تكون هذه البيانات معرفة مسبقا ضمن ميثود Seed الخاصة ب Code First Migration). بالتوفيق،،،
  13. تحياتي. اخي الكريم يجب فصل بعض المفاهيم اولاً. مثل لنفصل بين HTML, CSS,JavaScript وبين PHP أو Java أو #C. اذا كنت جديدا في البرمجة انصحك بالبدء ب HTML, CSS, JavaScript ليس لعمل مواقع ويب، لكن اليك الاتي: 1. اصبحت هذه التكنولوجيا محور اهتمام جميع المطورين 2. يمكنك عمل تطبيقات ويب، تطبيقات سطح مكتب وحتى تطيبقات جوال باستخدام هذه التقنيات (بالاضافة لبعض التقنيات الداعمة لها). واليك بعض الامثلة عن مجموعة التقنيات المتوفرة. PhoneGap تمكنك من انشاء تطبيقات جوال تعمل على جميع الاجهزة باستخدام HTML5، وايضا ELECTRON تمكنك من انشاء تطبيقات سطح مكتب تعمل على جميع انظمة التشغيل، وانظر ايضا الى AngularJS, NodeJS، ستجد الاهتمام المتزايد بها، ولا ننسى اهميتها ف IoT. 3. بفهم هذه التقنيات، يصبح فهم لغات البرمجة الاخرى اكثر سهولة ويسر، مثل جافا، سي شارب، سي بلس بلس وغيرها، نصحيتي الثانية وبعد تمكنك من التقنيات السابقة الانتقال لما يسمى Server side اي اللغات عالية المستوى، هنا لديك الخيار بين Java, ASP.NET, PHP, Ruby, Python وغيرها، وعلى المستوى الشخصي استطيع ان ارشح لك تقنيات مايكروسوفت ضمن اطار عمل .NET ولغة البرمجة #C. بالتوفيق،،،
  14. وعليكم السلام. جميع العمليات الحسابية هي بالأصل شكل من اشكال عملية الجمع وهي العملية الوحيدة التي يفهمها الحاسوب. يمكن فهم عملية القسمة بنفس المفهوم، مثلا لو فرضنا لدينا العددين 10 و 2 لاجراء عملية القسمة نقوم بطرح (جمع باشارة سالبة) العدد 2 من العدد عشرة فنحصل على 8، نقوم بتكرار نفس العملية حتى الوصول للصفر، وعدد مرات التكرار يكون هو ناتج القسمة (بالمثال سنقوم بعملية الطرح 5 مرات) #include <iostream> using namespace std; void main() { int x; int y; cout << "Enter first number:"; cin >> x; cout << "Enter second number:"; cin >> y; int result = 0; while (x >= y) { x -= y; result++; } cout << "Result: " << result << endl; } بالتوفيق،،،
  15. وعليكم السلام ورحمة الله. المثال بسيط اذا قمنا بتقسم العمل الى اجزاء: 1. تحديد مسار الملف الأول ومسار الملف الثاني. 2. قراءة محتويات كل ملف وتخزين محتوياته ضمن متغير من نوع string 3. تحديد الرموز المراد ازالتها من النص (الفواصل والنقاط وغيرها)، الافضل ان نقوم بتعريف هذه الرموز ضمن مصفوفة خاصة بالرموز، ثم استدعاء دالة Replace وازالة هذه الرموز. 4. فصل محتويات كل ملف إلى اسطر (جعل كل كلمة بسطر جديد)، وتخزين الاسطر الجديدة ضمن مصفوفة جديدة او ضمن List of String 5. المرور على عناصر هذه المصفوفة او list of string والبحث ضمنها، وعند ايجاد النص المطلوب نقوم بتخزين مؤشر المصفوفة Index. فيما يلي صورة مرفقة للبرنامج، مع Source Code ملاحظة: البرنامج يعتمد على اساسيات لغة سي شارب، لذلك لا يعتبر مثالي بالعمل، بمعنى هناك طرق اخرى اكثر كفاءة في العمل، لكن للتبسيط استخدمنا الطرق الابسط. ملاحظة: لتشغيل البرنامج ننسخ الملفان (FextFile1.text, TextFile2.txt) الى مجلد TextFinder ضمن القرص C، كما هو موضح بالصورة، ويمكن طبعا تغيير المسار لاحقا. بالتوفيق،،، TextFinder.rar
  16. وعليكم السلام. اخي الكريم اذا استخدمت Google Map API، فعليك فقط تخزين بيانات خط الطول وخط العرض Latitude - Longitude وستجد اوبجكت من نوع LatLng يحوى على هاذين القيمتين. قم بتخزين كل قيمة بالجدول بنوع float او double
  17. وعليكم السلام. ببساطة اخي الكريم import من اسمها تعني استيراد، استيراد مكتبة؟ ومكتبة تعنى مجموعة اكواد واوامر موجهة لأمر معين (مثل IO القراءة والكتابه على الملفات) وبسبب ان هناك الكثير والكثير من المكتبات فمن غير المعقول تضمينها جميعا ضمن نفس البرنامج، (لانه سيتم تحميلها على الذاكرة عن تشغيل البرنامج) لذلك يترك لك الخيار في استيرادها حسب حاجة برنامجك. public cass ... ضمن لغة الجافا والتي هي Object Oriented Language كل شيء هو كلاس، على عكس لغة ++C والتي ليست 100% OOP. اذا كنت جديدا على مفهوم الكلاس و OOP، بعليك بتطبيق الامثلة والدراسة بالتأني، لانها لا تفهم بالشرح النظري. ولكن باختصار هي تمكنك من انشاء برمجيات ضخمة Enterprise اذا كان التصميم والاستخدام متوافقان من مفاهيم OOP. static void main... هي نقطة انطلاق البرنامج، اي عند التشغيل فان نظام التشغيل يحتاج لنقطة بداية يبدأ منها تنفيذ الكود، وهذا العُرف هو احد مفاهيم OOP، لذلك تجد كلمة static والتي تعنى امكانية طلب هذه الدالة دون الحاجة لعمل object من الكلاس الذي يحويها، وبمعنى اخر حتى لا تتكر نفس الميثود مع كل object، فهي مشتركة لجميع objects من نفس الكلاس. (ايضا راجع مفاهيم OOP وحاول تطبيق المفاهيم). try - catch من المنطق البرمجي تعنى (حاول تجريب كود او عمليه معينة) بحيث ان هذه العملية غير موثوق بها 100% بالنجاح فربما تفشل وتؤدي لحدوث خطأ. مثلا: العمليات الحسابية (الجمع، الطرح، القسمة، الضرب) ننظر لها كعمليات صحيحة لا تحدث اخطاء بل تعطي نتائج، ولكن هناك بعض الحالات ممكن حدوث اخطاء، مثل القسمة على صفر. لذلك انت تكتب العملية الحسابية ضمن اقواس try، وضمن catch تعالج الخطأ، مثلا اذا كانت القسمة على صفر، ممكن اظهار رسالة للمستخدم لتنبيهه فعدم جواز القسمة على صفر. هذا الامر بدل ان يؤدي لتوقف برنامجك عن العمل، بالعكس يعطيه منطقية اكبر. طبعا يمكن كتابة اكثر من catch بعد جملة try على اعتبار حدوث اكثر من نوع من الاخطاء، في مثالك نلاحظ ان catch تحوى على IOException بالتالي فجملة catch هذه تعالج فقط الاخطاء التابع ل IO (قراءة وكتابة الملفات والبيانات) ولكن لو كان هناك خطأ اخر متوقع مثل القسمة على صفر يمكن اضافة جملة catch بعدها تحوى على ArithmaticExcption. وهكذا. BufferReader, StreamReader, MemoryReader وغيرها جمعيها من انواع Stream، بعبارة مختصرة فتح قناه بين المصدر (صاحب البيانات) وبين المستهلك (مستهلك البيانات). والهدف هو عدم جلب البيانات دفعة واحدة ولكن جلبها بشكل متدفق (تدفق النهر)، واقرب مثال هو يوتيوب، عندما تقوم بتشغيل فيديو فانه لا يتم تحميل الفيديو دفعة واحدة ولكن يقوم بارسال كمية معينة من البيانات كافية لتشغيل الفيديو لمدة معينة وخلال هذه المدة، يقوم بجلب المزيد والمزيد من البيانات حتى انتهاء الفيديو، لذلك انت تنتظر قليلا في بداية الفيديو. طبعا هذا الشرح العام نوعا ما هو مناسب لك اكثر من الشرح المفصل للكود، لان الكود لا يفيدك في شيء، بمجرد ان تتعلم المفاهيم تصبح قادرا على فهم وكتابة جميع الاكواد. بالتوفيق،،،
  18. Android Studio بدون تردد، https://developer.android.com/studio/index.html
  19. تسمى هذه الطريقة ب Web Service وتقنياً اكثر تسمى API والمعيار المتبع حالياً والافضل هو RESTful API بإمكانك البدء مع هذه التقنية الجميلة مع ASP.NET Web API https://www.asp.net/web-api
  20. وعليكم السلام ورحمة الله اخي الكريم الطريقة الافضل ضمن .NET هي استخدام GUID وهو عبارة عن 32 bit، لا يتكرر اطلاقاً حتى على مستوى التطبيقات الاخرى. string id = Guid.NewGuid().ToString(); اذا كنت ترغب بطول اقل، استخدم HashCode الخاص بالتاريخ والوقت، حيث ان التاريخ مع الوقت لا يتكرر على مستوى الجزء من الثانية string id = DateTime.Now.GetHashCode().ToString() بالتوفيق،،،
  21. وعليكم السلام ورحمة الله. هناك فكرة جميلة، وهي ان نعمل تطبيق يحاكي عمل نظام الملفات في نظام التشغيل، مثلاً. ضمن قاعدة البيانات، نعرف جدول لتمثيل المجلدات (المجلد ممكن ان يكون ابن لمجلد اخر)، وجدول اخر لتمثيل الملف (محتوى الملف وبيانات اخرى مثل تاريخ الانشاء تاريخ التعديل،،،) وكل ملف تابع لمجلد معين. ضمن لغة الفيجوال بيسك، يمكن استخدام احدى الخيارين: 1. عمل تطبيق Console بحيث نكتب الاوامر بنفس الطريقة التي نكتبها ضمن cmd، مثل تعليمة mkdir NewFolder1 تقوم بحفظ سطر جديد في جدول المجلد في قاعدة البيانات Edit TextFile1 تقوم بحفظ سطر جديد في جدول الملف في قاعدة البيانات وهكذا يمكن عمل مجموعة متنوعة من التعليمات، ويمكن تصفح هذه المجلدات (جدول المجلدات) بنفس تعليمات cmd 2. الطريقة الثانية عمل تطبيق واجهات رسومي، بحيث يمكن انشاء المجلدات والملفات عن طريق القوائم والأزرار. بالتوفيق،،،
  22. استخدم خاصية float ضمن div واذا اردت عرض 3 div ضمن السطر الواحد، اعطي عرض موحد ضمن ستايل div width: 30%;
  23. أخي الكريم، إذا لم يكن لديك اي خلفية برمجية، انصحك بالبدء بتعلم HTML كونها لغة بناء صفحات الانترنت، ولغة جميلة وممتعة، وستفتح لك مجموعة ابواب على اللغات الأخرى. وهي لغة منصوح بها للمبتدئين. http://www.w3schools.com/ حاول التعلم من موقع w3school لديهم الكثير من الامثله مع امكانية تجريبها بنفسك والتعديل عليها. بعد تجريب مجموعة امثله، ستجد نفسك تسألك سؤال، كيف يمكن تحسين شكل هذه الصفحات (وهنا ستنتقل للغة css) وبعدها ستسأل سؤال اخر: كيف يمكن التفاعل مع العناصر الموجودة على الصفحة (وهنا ستنتقل لجافا سكربت). اتوقع هنا ستكون رحلتك ممتعة وستكون جاهزاً بعدها للانتقال للغات البرمجية عالية المستوى مثل جافا او سي شارب لكتابة Server Side Apps، ملاحظة (اللغات HTML و CSS) يطلق عليها لغات اصطلاحاً، فهي ليست لغات برمجة، ولكن يمكن اطلاق لغة عليه ضمن سياق معين وهو تطوير صفحات الويب. بالتوفيق،،،
×
×
  • أضف...