• الإعلانات

    • فيصل الحربي

      تسجيل عضوية جديدة في المنتدى   01/31/2016

      السلام عليكم ورحمة الله وبركاته  عزيزي العضو الجديد :  حاليا رسالة الإيميل لتأكيد صحة إيميلكم تذهب للبريد العشوائي ( جاري حل المشكلة )  فإذا لم تجد رسالة التحقق من إيميلكم في صندوق الوارد لديكم إتجه للبريد العشوائي ( JUNK)  وقم بتفعيل إشتراككم من هناك   

Fuad-Prince

اعضاء جدد
  • عدد المشاركات

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

  • تاريخ اخر زياره

السمعه بالموقع

15 عادي

عن Fuad-Prince

  • الرتبة
    عضو جديد
  • تاريخ الميلاد 07/17/1989

طرق الإتصال

معلومات الملف الشخصي

  • الجنس ذكر
  • الدولة : Syria
  • اهتمامات C#, Games, ActionScript
  1. حسناً يبدو أنني كنت مخطئاً مرة أخرى   أمل أن تقبل اعتذاري أخ الفيل الطائر
  2. لا شيء مستحيل بالبرمجة   بصراحة لا أعرف كيف هو الوضع بالجافا ولكن بلغات .Net يمكن انشاء كائن اتصال لقاعدة البيانات الأولى وكائن اتصال آخر لقاعدة البيانات الثانية, ومن خلال التعليمات البرمجية يمكن التحكم بمعلومات أي قاعدة واستخدامها بالقاعدة الأخرى     ملاحظة: (لا أقصد الإساءة) ولكن أعتقد أن LeftJoin تستخدم لربط الجداول ضمن نفس قاعدة البيانات (أي ضمن قاعدة بيانات واحدة)
  3. استخدام خرائط Google

    أخي ahmedsaoud31 شكراً جزيلاً على مداخلتك المفيدة. ولاستخدامها أنت لست بحاجة أبداً للعلامة نهائياً.   لقد كنت مخطئاً باستخدامها في مثالي فلم يكن لها أي داع, ويمكن حذفها دون أن تؤثر على أداء الصفحة, حيث  أنني عندما عملت على مشروعي كان الهدف أخذ احداثيات نقطة محددة بواسطة العلامة, والاحداثيات التي يتم أخذها هي احدائيات العلامة. و كما قلت من قبل, كنت مبتدأ في مجال خرائط Google   وبالتالي فإن الصفحة ممكن أن تكون بأحد الطريقتين, اما أخذ الاحدائيات بواسطة العلامة (لتحديد نقطة محددة) أو أخذ الاحداثيات بواسطة الخريطة فقط وذلك يفيد بتحديد مساحة بأخذ احداثيات نقطة الوسط لها.   بالمرفقات يوجد المثالين: Google Map Sampels.rar
  4. الخاصية Rows لا تقبل سوى أرقام وهي تعبر عن رقم السطر وأنت مررت لها نص ("scode") وهذا هو الخطأ يجب تمرير رقم السطر, وهنا قد تحتاج إلى أداة DataGridView أما الخاصية Item فهي تعبر عن العمود ويمكن أن تكون قيمة نصية تعبر عن اسم العمود أو قيمة رقمية تمثل رقم العمود   بالمناسبة الخاصية Text لجميع أدوات TextBos قيمتها دائماً نصية وليست رقمية.
  5. لايمكنك أبداً تحويل ADO.net إلى DLL فالـ ADO.net : ActiveX Data Objects عبارة عن تقنية للتعامل مع قواعد البيانات أما DLL : Dynamic-link library فهي عبارة عن ملفات تحوي ضمنها برمجيات معرفة مسبقاً ليمكن استخدامها في عدة برامج وبالتالي فإن التعبير (تحويل ADO.net إلى DLL) خاطئ برأيي   ولكن ما يمكنك فعله هو أن تنشأ مكتبة برمجة (DLL) وضمنها تستخدم تقنية (ADO.net) بواسطة أي لغة برمجة تدعم هذه التقنية مثل (C#, visualbasic, C++) وضمن هذه المكتبة تستورد أدوات ADO.net وتكتب الصفوف والدوال التي ستحتاجها (من بينها دالة تقوم بإرجاع البيانات كـ DataSet), وبعدها تستورد هذه المكتبة بمشروع الويب الذي تعمل عليه وتقوم باستدعاء الدوال المطلوبة.   قد تفيدك هذه المشاركة في التعرف على ما هي ملفات DLL سؤال هام جدا عن التعامل application extension dll   وهذه المشاركة قد تفيدك بالتعليمات البرمجية التي قد تحتاجها بمكتبتك DLL قواعد البيانات وعمليات Select,Insert,Update,Delete بسهولة في C#
  6. تصميم واجهة النموذج

    إن كنت تبحث عن التميز فأنصحك بمكتبة Modern UI for WPF فواجهاتها رائعة وإن لم تعجبك يمكنك إستخدام مكتبة MahApps.Metro وهي أيضاً مكتبة ذات واجهات رائعة, أما إن كنت ترغب بتصميم الواجهة بنفسك فلا مجال لديك سوى التعمق بدراسة XAML و WPF   بالمناسبة كلا المكتبتين مجانتين ومفتوحتي المصدر
  7. بسم الله الرحمن الرحيم   إنشغلت بالفترة الأخيرة بمشروع تطبيق انترنت, الأمر الذي شغلني هو أنه كان يتطلب التعامل مع خرائط Google لتحديد الأماكن وتخزين إحداثياتها, ولكوني لم أتعامل معها من قبل فقد بحثت بالكثير من المواقع العربية ولم أجد ما أحتاجه, وموقع developers.google لا يعمل في بلدي, ولكن والحمد لله وبعد عناء البخث توصلت إلى النتيجة المطلوبة وأنهيت المشروع.   ولكي لا يعاني أحد غير مثل ما عانيت سأضع هنا خلاصة ما تعلمته عن خرائط Google, التطبيق سيكون بواسطة Javascript   الخطوة الأولى إنشاء صفحة HTML فارغة كما يلي: <!DOCTYPE html><html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1256"> <title>مثال خرائط Google</title> <meta name="description" content=""> <meta name="author" content=""> </head> <body> </body> </html>وفي قسم Head قبل وسم النهاية سنضع السطر الذي يقوم بجلب مكتبة خرائط Google: <script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?key=AIzaSyD9uiyFbXfbSOsY6umTUtl4_rvl_LkQKxE&sensor=false&libraries=places"></script>والآن سنحدد المكان الذي ستظهر به الخريطة في قسم Body كوسم DIV ولنعطه ID مميز ويمكن تحديد أبعاده بواسطة CSS كما يلي: <div id="map_canvas" style="width: 500px; height: 300px"></div>هكذا يكون تصميم الصفحة جاهزاً والآن ننتقل إلى البرمجة, أولاً سنعرف ثلاث متغيرات تعبر عن: الخريطة, مستوى التقريب, الإحداثيات: var map; var zoom=5; var lat = 34.99697127696379; //default latitude var lng = 36.885860443114325; //default longitude var homeLatlng = new google.maps.LatLng(lat, lng); //set default coordinates للحصول على الإحداثيات عرفنا رقمين الأول هو خط العرض والثاني هو خط الطول, وتم تحويلهما إلى كائن الإحداثيات homeLatlng بواسطة دوال خرائط Google.   ثم سنعرف كائن يجمع الإحداثيات ومستوى التقريب ونوع الخريطة (وهذا الكائن مطلوب لإنشاء الخريطة): var myOptions = { center: new google.maps.LatLng(lat, lng), //set map center zoom: zoom, //set zoom level to 17 mapTypeId: google.maps.MapTypeId.ROADMAP //set map type to road map };تم تحديد الخريطة كخريطة عادية ثنائية الأبعاد بواسطة MapTypeId .   بعدها ننشئ الخريطة باستخدام المعلومات التي حددناها وتحديد مكان ظهور الخريطة في الصفحة: map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); //initialize the mapوهكذا ستظهر الخريطة على الصفحة.       قد تحتاج لعلامة لتحديد مكان معين وأخذ إحداثياته بواسطة هذه الخريطة, لابأس الأمر بسيط, قم بتعريف كائن للعلامة وليكن homeMarker وتحديد مكانه الإفتراضي بالإحداثيات التي حددناها فوق (أو يمكنك تحديد أحداثيات أخرى) وتحديد الخريطة التي سيطبق عليها وتحديد إمكانية تحريكه إما true أو false كما يلي: var homeMarker = new google.maps.Marker({ //set marker position: homeLatlng, //set marker position equal to the default coordinates map: map, //set map to be used by the marker draggable: true //make the marker draggable });وهكذا ستظهر علامة حمراء في الخريطة, ولكن في وضعها الحالي لا فائدة منها إطلاقاً لأننا لم نأخذ الإحدائيات بعد. فلننشأ مربع نص لتخزين الإحداثيات ومربع نص آخر لتخزين رابط الخريطة ورابط لتخزين رابط صورة الخريطة وذلك في قسم Body وإعطاء كل خانة ID مميز: <input name="coords" id="coords" value=" " size="100" eadonly> <br> <input name="map_url" id="map_url" value=" " size="100" readonly> <br> <a id="map_img" target="_blank" href="">Get Image</a> ولنعد إلى البرمجة ونضيف مستمع حدث للخريطة عند تحريكها ونجعلها تتطبق دالة تقوم بأخذ الإحداثيات الجديدة ومستوى التقريب الجديد ومن ثم وضعها في الخانات السابقة كما يلي: google.maps.event.addListener(map, 'center_changed', function(){ lat = homeMarker.getPosition().lat(); //set lat to current latitude where the marker is plotted lng = homeMarker.getPosition().lng(); //set lng current latitude where the marker is plotted zoom = map.getZoom(); document.getElementById('map_img').href="http://maps.google.com/maps/api/staticmap?center=" + lat + ',' + lng + "&zoom=" + zoom + "&size=600x400&maptype=roadmap&sensor=false&markers=color:red|label:none|" + lat+ ',' + lng; document.getElementById('coords').value=lat+","+lng; document.getElementById('map_url').value="http://maps.google.com/?q="+lat+","+lng+"&z="+zoom; });ماذا إذا قام المستخدم بتحريك العلامة ولم يحرك الخريطة, طبعاً لن تتغير الإحداثيات ولحل هذه المشكلة نضيف مستمع حدث للعلامة ونجعلها تتطبق نفس الدالة السابقة:   google.maps.event.addListener(homeMarker, 'position_changed', function(){ lat = homeMarker.getPosition().lat(); //set lat current latitude where the marker is plotted lng = homeMarker.getPosition().lng(); //set lat current longitude where the marker is plotted zoom = map.getZoom(); document.getElementById('map_img').href="http://maps.google.com/maps/api/staticmap?center=" + lat + ',' + lng + "&zoom=" + zoom + "&size=600x400&maptype=roadmap&sensor=false&markers=color:red|label:none|" + lat + ',' + lng; document.getElementById('coords').value=lat+","+lng; document.getElementById('map_url').value="http://maps.google.com/?q="+lat+","+lng+"&z="+zoom; });  وبهذا نحصل على الإحداثيات ومستوى التقريب ويمكن إرسالها إلى أي صفحة تطبيق ويب لإستخدامها.   بالمرفقات المثال الذي عملنا عليه: google map sample.rar  
  8. inserting sort

    لقد اطلعت على البرنامج, ويبدو البرنامج صحيحاً إلا أنه يوجد خطأ بسيط:   أعتقد أنك كنت تختارين Yes وهذا يعني أن visualStudio سيشغل أحدث نسخة كانت تعمل من البرنامج, ولن يقوم بترجمة التغييرات الجديد.   الخطأ هو أنه قبل تعليمة End Class يجب أن تكون تعليمة End Sub فلا يمكن انهاء البرنامج قبل انهاء الدالة.
  9. inserting sort

    أعتذر عن الرد حتى الآن وذلك بسبب انقطاع الانترنت, وآمل أن لا يظن أحد أنني قد مللت أو سئمت من الأسئلة, ويسرني دائماً تقديم المساعدة متى طلبت مني واستطعت ذلك.   على كل حال بالنسبة لسؤالك فقد حاولت المساعدة بمشاركتي رقم #11 وكتبت البرنامج بالكامل حيث يتم طباعة الأرقام برسالة واحدة بالترتيب التصاعدي والتنازلي.   أما بالنسبة لتصحيح برنامجك: Private Sub Button3_Click(sender As System.Object, e As System.EventArgs) Handles Button3.ClickDim msgStr As String = ""Dim X(20) As SingleDim N As SingleN = InputBox("ادخل عدد القيم")For I = 1 To NX(I) = InputBox("ادخل القيم")msgStr = msgStr & X(I)Next IMsgBox(msgStr)End Subفهذا البرنامج لا يقوم بأي ترتيب (لا تصاعدي ولا تنازلي) وإنما فقط يطلب من المستخدم إدخال عدة أرقام ومن ثم طباعتها برسالة. يمكنك معرفة قطع الكود الناقصة بمقارنة هذا البرنامج مع البرنامج الموجود بالمشاركة رقم #11   بالتوفيق
  10. آلة حاسبة علمية متقدمة

    تم تطبيق ملاحظة الأخ محمد فؤاد تركي والآن يمكن استخدام الآلة الحاسبة بواسطة لوحة المفاتيح: Calculator1.rar   , ولكنني عدلت البرنامج بواسطة Visual Studio 2012 على كل حال الذين يملكون نسخ أقدم من Visual Studio يمكن اضافة التعليمات التالية في الحدث KeyPress للنموذج:   switch (e.KeyChar) { case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case '0': Add(e.KeyChar.ToString()); break; case '+': case '-': case '*': case '/': Calc(e.KeyChar.ToString()); break; case '=': Eqaul(); break; default: return; }وتعديل الخاصية KeyPreview للنموذج إلى القيمة True
  11. inserting sort

    يبدو من ردك أنك حاولت كثيراً وفشلت   وبالتالي هذا هو البرنامج: للترتيب التصاعدي: Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim X(20) As Single Dim N, J, k, Temp, I As Single N = InputBox("ادخل عدد القيم") For J = 1 To N X(J) = InputBox("ادخل القيم") Next J For J = 1 To N - 1 Temp = X(J) For I = J + 1 To N If X(I) < Temp Then k = (I) Temp = X(J) X(J) = X(k) X(k) = Temp Temp = X(J) End If Next I Next JDim msgStr As String = "" For I = 1 To N msgStr = msgStr & X(I) Next I MsgBox(msgStr)  وللترتيب التنازلي: Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim X(20) As Single Dim N, J, k, Temp, I As Single N = InputBox("ادخل عدد القيم") For J = 1 To N X(J) = InputBox("ادخل القيم") Next J For J = 1 To N - 1 Temp = X(J) For I = J + 1 To N If X(I) > Temp Then k = (I) Temp = X(J) X(J) = X(k) X(k) = Temp Temp = X(J) End If Next I Next JDim msgStr As String = "" For I = 1 To N msgStr = msgStr & X(I) Next I MsgBox(msgStr)
  12. الة حاسبة

    كما تفضل الإخوة الأفاضل بالردود السابقة, يمكنك الإستفادة من أكواد C# وتحويلها إلى VisualBasic ويوجد العديد من المواقع والبرامج التي تقوم بذلك, كون هاتين اللغتين شقيقتين من أسرة .Net   على كل حال, قد يكون الأمر معقداً الحصول على أكواد وتحويلها ومن ثم فهم طريقة عملها, وبما أن ما طلبته لا يستحق كل هذا التقعيد سأحاول المساعدة بدون استخدام برنامج C#   قبل البدء لدي ملاحظة على كودك, لقد قمت بتعريف أربع متغيرات تعبر عن أرقام: Dim addition1 As IntegerDim subtraction1 As IntegerDim division1 As DoubleDim multiplication1 As Integerويمكن الإستغناء عنها والإكتفاء بمتغير واحد كما يلي: Dim number1 As Doubleوفي كل مرة تستخدمي أحد المتغيرات السابقة بدليه بهذا المتغير.   أما بالنسبة لطلباتك:   1- كود زر ce وايه الفرق بينه وبين c يجب على زر CE أن يقوم فقط بمسح الشاشة مع ابقاء العملية التي اختارها المستخدم, أما الزر C فيقوم بمسح الشاشة وإلغاء العملية (أي كأنك شغلت الآلة الحاسبة من جديد)   2- كود زر 1/x إن هذا الزر يقوم بحساب مقلوب العدد, أي بعد اختيار الرقم الأول والضغط على هذا الزر يجب أن تظهر النتيجة: 1÷العدد   3- كود % لست متأكداً من هذا الزر, ولكن ببرنامج جعلته يقوم بحساب باقي قسمة العدد الأول على العدد الثاني   4- كود الجذر لحساب كود الجذر يمكن استخدام الدالة: Math.Sqrt   5- كود تغيير الاشارة لقلب إشارة العدد يكفي ضربه بالرقم -1   6- ازاي اخلي المعادلة كلها تكون مكتوبة امامي على الشاشة يعني مثل 3 + 5 = 8 من أجل هذه العملية يجب تغيير كل التعليمات التي تظهر النتيجة مثل: TextBox1.Text = Str(result)بهذا السطر: TextBox1.Text = nuber1 & choice & TextBox1.Text & "=" & resultطبعاً بعد أن تكوني قد طبقت الملاحظة التي ذكرتها بالبداية.
  13. الة حاسبة

    بالنسبة لمبتدئة فهذه محاولة جيدة, طرقيتك قريبة جداً من الحل الأفضل.   لا توجد أي مشكلة بالأكواد البرمجية   وإنما المشكلة أن زر (=) غير مرتبط بأي حدث:   ولحل المشكلة من قائمة الأحداث - حدث Click اختاري Button12_Click   كما يوجد خطأ بسيط في الأسطر التالية:   Select Case choice Case "plus" result = addition1 + Val(TextBox1.Text) TextBox1.Text = 0بالسطر الأخير يجب أن تكون:   TextBox1.Text = result 
  14. بسم الله الرحمن الرحيم   كتيب أساسيات برمجة ألعاب Flash بواسطة Flixel مؤلف من ثلاثة أقسام: القسم الأول: مقدمة عن Flixel وكيفية تثبيت الأدوات اللازمة القسم الثاني: مشكلة الكتابة باللغة العربية وكيفية حلها القسم الثالث: تحليل وبرمجة لعبة الأفعى بواسطة Flixel     إن هذا الكتيب مجرد مقدمة لكتاب شامل خاص بـ Flixel إن شاء الله     وهذا الكتيب مع ملفات الأمثلة: من هنا
  15.   يجب أن تتأكد من أنواع الحقول التي تجمها رقمية وليست نصية, والنتيجة التي حصلت عليها تدل على أن العملية كانت جمع نصين