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

E.Nourddine

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

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

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

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

    18

كل منشورات العضو E.Nourddine

  1. زر Tab هو الحل، ففي أغلب التطبيقات والبرامج، وأيضا مواقع الإنترنت يعتبر هذا الزر بمثابة اختصار الانتقال بين الحقول -الحقول النصية، حقول الاختيار...- الموجودة ضمن النافذة المعروضة على شاشة الحاسوب، حيث تأخذ الحقول ترتيباً حسب قيمة الخاصية TabIndex الموجودة على تطبيقات سطح المكتب، أما بخصوص المواقع فهي تأخذ ترتيب الحقل من الأعلى إلى الأسفل. وهذه صورة لزر Tab على لوحة المفاتيح: يكفي أن تضغط على الزر لتظهر لك الحقول تأخذ مؤشر الفأرة.
  2. نعم، يمكنك إنشاء بريد إلكتروني جديد بالعنوان الذي تريد، شرط أن يكون متاح وغير مستعمل من أحد قبلك، وأن تتوفر فيه بعض الشروط كأن يتوفر على عدد من الأحرف بين6 و30، توفره على حروف من A إلى Z أرقام ونقط فقط.. وذلك من خلال الرابط . * وتذكر أن تغيير البريد من الأشياء غير المحمودة، حاول اختيار حساب لن تضطر إلى تغييره مرة أخرى. بعد ذلك يمكنك إحالة البريد القديم إلى الجديد الذي أنشأته للتو عن طريق القائمة : Settings → Forwarding and POP/IMAP → Forward a copy of incoming mail to وهذا الفيديو يشرح الطريقة بشكل مبسط:
  3. هو آلية تنفيذ تمكّن من إجراء إضافي في وقت معيّن من قبل نظام ووردبريس، وهناك نوعان من hooks: ActionFilterوالفرق بينها أن الأولى -Action- تمكّن العمل على طول مدة عمل الصفحة، حيث عمدت ووردبريس إلى تمكين المبرمجين من إحداث تغيير علي أي جزئية معينة أثناء عمل السكريبت. هذه بعض الأمثلة: after_setup_themewp_footerwp_headadmin_headadmin_enqueue_scriptspre_get_postsبينما Filter هو كما يوحي الاسم، أي إحداث تغيير على البيانات قبل إظهارها. مثل: body_classthe_contentwp_titleexcerpt_length
  4. أولا عليك فرز القيم وفصلها عن بعضها البعض، وذلك بجعل Element في عمود، و Value في عمود آخر، وذلك عن طرق استعمال الدالة التالية في العمود الأيسر: =left(A2,11)والدالة في العمود الأيمن: =right(A2,10)لنحصل على القيمتين مَفصولتين: Element 1: | Value 1.1ثم نضيف دالة transpose لقلب شكل الأعمدة ونجعل عناوين الأسطر مكان الأعمدة، أي نقوم بعملية pivote، لنحصل على : =transpose(unique(B2:B7)) لنحصل على: Element 1: | Element 2: | Element 3: ثم نضيف الفلتر: =FILTER( C:C , B:B = E1 )وهذا رابط الملف النهائي.
  5. الأمر يتعلق هنا بتقنية تدعى بـ Smoke Effect والتي ترتكز بالأساس على استعمال فرش على برنامج Illustrator ثم وضعها بشكل متناسق، مع إضافة ألوان وتأثيرات لنحصل في الأخير على الشكل المبيّن في سؤالك. How to Create Smoky Brushes and Type In Illustrator CS4 اتبع الخطوات المبينة في الفيديو:
  6. الأمر يتعلق بصلاحيات كل نوع من المستخدم، فرضاً لدينا نوعين من المستخدم للموقع، أدمن يدير الموقع، يضيف ويحذف المنشورات، يراقب باقي المستخدمين، ومستخدم آخر ذو صلاحيات محدودة، يقتصر دوره على الاستفادة مما يعرض في الموقع، والتفاعل عبر التعليق -إن توفرت الخدمة على الموقع-، التواصل مع مدير الموقع. ولكي يتوفر الموقع على نوعين أو أكثر من القوائم، تتناسب وَ نوع المستخدم وَجبَ عليك إضافة نظام دخول للموقع، حتى يمكنك التمييز بين الأدمن وباقي المستخدمين، حينئذ يمكنك إظهار القائمة المناسبة حسب المستخدم. في البرمجة يطلق اسم Role على الصلاحية التي يمتلكها المستخدم، وقد يتوفر الموقع الواحد على أكثر من صلاحيتين: admin,User,Super_Admin... وهذا توضيح مبسط على منصة ووردبريس: Super Admins and Administrators in WordPress
  7. برنامج Sketch3 ليس كـ Indesign في استعمال التقنيات وطرق التطبيق، لكن يمكن استعمال شكل مستطيل ثم التغير من خصائصه للحصول على النتيجة المنتظرة.ابدأ برسم شكل مستطيل: أضف الصورة إلى المشروع: اضغط على الصورة ثم حدد أداة Maskلتصبح الصورة على هذا الشكل- وكأن المستطيل هو إطار لها-:
  8. بعد إضافة النص، عليك باستعمال الاختصار: (Ctrl+Alt+Shift+Y)لتظهر لك النافذة الخاصة بخصائص النص: - ملاحظة مهمة: قم بتفعيل الخاصية Overprint لتتمكن من الحصول على خلفية شفافية، ثم عدل على اللون لتحصل على التأثير الذي تريده. https://www.youtube.com/watch?v=DeGTGluwn-g
  9. aggregation لا تقبل القيم النصية بالأساس، لأنها وباختصار تعتمد على القيم الرقمية التي تمكن من إجراء عمليات رياضية ، إحصائية. وهذا مثال لما يمكن الحصول عليه انطلاقا من مثالك السابق: +---+------+---------------+------+------------------------------+ | | A | B | C | D | +---+------+---------------+------+------------------------------+ | 1 | year | location | year | locations | | 2 | 2013 | Sudan | 2012 | India | | 3 | 2014 | Syria | 2013 | Sudan | | 4 | 2012 | India | 2014 | Syria, Poland, Great Britain | | 5 | 2014 | Poland | | | | 6 | 2014 | Great Britain | | | +---+------+---------------+------+------------------------------+وذلك باستعمال الكود التالي: C2 =sort(unique(A2:A))حيث قمنا بترتيب السنوات وعدم تكرار القيم: D2 =if(C2="", , join(", ", filter(B$2:B, A$2:A=C2)))جمعنا البلدان التي لها نفس السنة في خانة واحدة. Aggregation Functions
  10. لفعل ذلك: اذهب إلى مكان البحث Search.في الأسفل ستجد زر Creation اضغط عليه. عند الضغط على Creations ستظهر لك: بعد الضغط على Assistant، ابحث عن : لتتمكن يعد ذلك من رؤية الصور أثناء الحفظ.
  11. دعنا نتفق على أمر أساسي في css، الوصول إلى الوسوم في ملفات التنسيق يتم عبر طريقتين اثنتين، عبرID أو Class، خلاف ذلك لا يمكن، لكن لاحظ ما قمتَ بكتابته في الكود، لقد ذكرت مصطلح div والذي ستعتبره css خطأ وبالتالي سيتم رفع الخطأ، لأنه لن يتم التعرف إليه. حاول الإلمام بأساسيات التقنية، ولا تتردد في السؤال. تعرّف على أساسيات CSS
  12. في ملف Jquery الخاص بصفحة الاتصال في الموقع، قم بإدراج الكود التالي، شرطَ أن تكون استمارة الاتصال حاملة لـ Id بسم: ajax-contact-formكود Jquery: jQuery(document).ready(function($) { $("#ajax-contact-form").submit( function( event ) { event.preventDefault(); //ضم جميع بيانات الاستمارة var str = $(this).serialize(); $.ajax({ type: "POST", url: "/includes/contact-process.php", data: str, success: function(msg) { // إظهار رسالة، عن طريق إضافة وسم به الرسالة if(msg == 'OK') { result = '<div class="notification_ok">Your message has been sent. Thank you!</div>'; $("#fields").hide(); } else { result = msg; } $('#note').html(result); } }); return false; }); });يجب ملاحظة أمر هام، أن url المدرج في الكود هو رابط الملف الذي سترسل إليه المعلومات المُدخلة في الاستمارة.
  13. قبل أن أجيبك لنناقش هذين المثالين أولاً: الحالة الأولى:كود Html:<section> <div> <p>lorem <strong>ipsum</strong></p> </div> </section>ملف التنسيق الخاص به:div p strong {color:red!important} div p strong {color:blue!important}في هذه الحالة، بما أن الخاصية لنفس الوسم وهي مكررة ليس إلا في هذه الحالة، سيأخذ الوسم p اللون الأزرق، أي سيأخذ آخر قيمة للخاصية، لأنه سيعتبر أن الخاصية تم تغيير قيمتها ليس إلا. 2 الحالة الثانية: كود Html:<section> <div> <p>lorem <strong>ipsum</strong></p> </div> </section>ملف التنسيق الخاص به:section div p strong {color:blue!important} div p strong {color:red!important}في هذه الحال سيأخذ الوسم اللون الأحمر، وهذا راجع إلى درجة الدقة في التحديد للوسم، حيث ستلاحظ أن الوسم في السطر الأول من الكود الحالي أكثر تحديدا من السطر الثاني: section div p strongوهذا ما يعطي للسطر الأول الأولوية في أخذ قيمة الخاصية في السطر الأول بدلا من الثاني، رغم أنهما يبدوان متشابهان. CSS Order Priority Tips and Tricks
  14. أولا لنحاول فهم وظيفة الدالة preg_replace فهي دالة من دوال php التي تأخذ 3 قيم: الكلمة المبحوث عنها.بما سيتم تعويضها.المتغير المعني بعملية البحث والتغيير.في حالتنا هذه سنستعمل أيضا regular expression للبحث عن الجزء الأول الذي نريد حذفه، ثم نعوضه بنص فارغ -أي بطريقة أخرى نحذفه-، على أن نستعمل متغير path يضم مسار حفظ الملفات، بهذه الطريقة: // path المتغير $path = "D:\wamp\www\myProject/wp-content/uploads/2015/11"; // preg_replace استعمال دالة // مع حفز الناتج في متغير $the_desired_part = preg_replace("/.+?\/(wp-content.+?)/", "", $path); // إظهار النتجة على المتصفح echo $the_desired_part;دالة preg_replace
  15. هناك أمرين عليك مراعاتهما أثناء العمل على تجاوب الصوة عند تغيير مقاس الشاشة العارضة للموقع: أن يحتوى الوسم المُضمّن للصورة على خاصيتي margin وpadding ذات قيمة الصفر.أن يأخذ عرض الصورة القيمة 100%، لتبقى محافظة على مقاسها رغم تغير الشاشة.لحصل في الأخير على كود في ملف التنسيق التالي: /*الذي يضم الصورة body الكود الخاص بوسم*/ body{ margin: 0; padding: 0; } /*تنسيق وسم الصورة*/ img{ width: 100%; }
  16. يمكنك استعمال دالة renderPartial بهذا الشكل: this->renderPartial('//blocks/user_info','', false, true); في هذه الفيديوهات، ستجد عدة طرق لاستعمال ajax مع إطار العمل yii، أنصحك بمشاهدتها: إرسال بيانات استمارة عبر Ajax: استعمال js;jquery,json مع Yii: Update content in AJAX with renderPartial
  17. من خلال تجربتي في التعامل مع تطبيقات سطح المكتب بـ #C، أريد القول بأن استعمال: Game.Window.ClientBoundsقد يعرضك لبعض المشاكل عند الإنقاص من مقاس النافذة، لذا أقدم لك هذه الشفرة من تطبيق سابق لي: Rectangle gdm = Game.Window.ClientBounds; if (DrawLocation.X < 0) DrawLocation = new Vector2(0, DrawLocation.Y); if (DrawLocation.Y < 0) DrawLocation = new Vector2(DrawLocation.X, 0); if (DrawLocation.X > gdm.Width - DrawAreaWithOffset.Width) DrawLocation = new Vector2(gdm.Width - DrawAreaWithOffset.Width, DrawLocation.Y); if (DrawLocation.Y > gdm.Height - DrawAreaWithOffset.Height) DrawLocation = new Vector2(DrawLocation.X, gdm.Height - DrawAreaWithOffset.Height);أيضا ستتفادى مشاكل الواجهة عن طريق تعيين width و hieght 'الطول والعرض': Rectangle gdm = Game.Window.ClientBounds; if (gdm.Width > 0 && gdm.Height > 0) //protect when window is minimized { if (DrawLocation.X < 0) DrawLocation = new Vector2(0, DrawLocation.Y); if (DrawLocation.Y < 0) DrawLocation = new Vector2(DrawLocation.X, 0); if (DrawLocation.X > gdm.Width - DrawAreaWithOffset.Width) DrawLocation = new Vector2(gdm.Width - DrawAreaWithOffset.Width, DrawLocation.Y); if (DrawLocation.Y > gdm.Height - DrawAreaWithOffset.Height) DrawLocation = new Vector2(DrawLocation.X, gdm.Height - DrawAreaWithOffset.Height); }وكمرجع يمكنك رؤية الرابط.
  18. فقط عليك بإضافة بعض الكود إلى ملف التنسيق، وخاصة الجزء المتعلق بـ Header، وتحقق من أنّ رابك الصورة مكتوب بشكل صحيح: #header{ background-image: url("https://www.gravatar.com/avatar/8bb98c95963486c35af93203a53f4c98?s=32&d=identicon&r=PG&f=1"); background-position: 50% 0; background-size:cover; font-size:2em; color:#fff; } <!DOCTYPE html> <html> <head> <title>Index</title> <link rel="stylesheet" type="text/css" href="mycss.css"> </head> <body> <div id="header">Hello</div> </body> </html>
  19. للعلم فزر "next" في هذه الحالة يأخذ منطقا مغايراً عن ذلك المنطق الافتراضي في html5، حيث يعتمد بشكل أساسي على كود javascript، هذا المثال التوضيحي من شأنه أن يُوضّح وظيفة next button: var getTrack = function( val ){ var obj = TRACKS; var track = obj.filter(function( obj ) { return obj.id == val; }); return track[0]; } var playlist = []; var TRACKS = [{ id: 0, name: 'music 1', src: 'path/to/file.mp3', icon: 'path/to/icon;jpg', foo: 'bar' },{ id: 1, name: 'music 2', src: 'path/to/file.mp3', icon: 'path/to/icon;jpg', foo: 'bar' }]; playlist = [1, 2]; var player = function(){ var currentPlaying = false; var playlistPos = false; var playlist = false; var trackList = false; this.setPlaylist = function( p ){ playlist = p; playlistPos = 0; setTrack(trackList[0], 0); return this; } this.setTrackList = function( t ){ trackList = t; return this; } this.setTrack = function( obj, i ){ currentPlaying = obj; playlistPos = i; audio.src = obj.src; audio.load(); return this; } this.play = function( obj ){ audio.play(); return this; } this.stop = function(){ audio.pause(); audio.currentTime = 0; return this; } this.pause = function(){ audio.pause(); } //هذه الدال هي ضالتك، الدالة المسؤولة عن المرور للقطعة التالية this.next = function(){ if(playlist && currentPlaying){ var next = (playlist[playlistPos++]) ? playlistPos++ : 0; setTrack(trackList[next], next); } return this; } } //Initialize إنشاء القارئ PLAYER = new player(); PLAYER.setTrackList(TRACK).setPlaylist(playlist).play();بعد ذلك يمكنك استعمال الحدث التالي لبدء التشغيل وأيضا الحدث الثاني للمرور للقطعة التالية، بهذا الشكل: PLAYER.next(); //or even $('.next').on('click', PLAYER.next);كما يمكنك استعمال هذا القارئ الموجود على Github : الرابط
  20. الطريقة المُتبعة ستبدو لك سهلة إن كنت ملماً بأساسيات التصميم على برنامج photoshop، وإليك الطريقة : أنشيء طبقة فوق طبقة صورة الكأس، وارسم في الطبقة شكل مستطيل كما هو مبيّن: عن طريق الأمر Ctrl+T سيظهر لك الشكل قابل للتغير في حجمه، قم بالضغط على الشكل بزر الفأرة الأيمن واختر الاختيارل Wrap: ثم عدّل على الشكل حتى يتوافق مع بنية الكأس، كما في الصورة: اختر الصورة التي تريد وضعها على الكأس: ثم باستعماا تقنية smart object، اجعل الصورة في حدود الشكل المُعدّل سابقاً: بنفس الطريقة تحصل على أنماط وأشكال عدة:
  21. تغيير اللون من الأشياء المطلوبة في تصاميم التلاعب بالصور، اتبع الخطوات التالية : أضف للمشروع طبقة بيضاء اللون، حيث يأتي ترتيبها في الأعلى أي فوق الصورة.غيّر من لون الطبقة عن طريق لوحة الألوان واختر اللون الذي تريده.بأداة الطلاء املأ الطبقة باللون المحدد سابقا.غيّر من خصائص الدمج 'blend mode 'الخاصة بالطبقة نحو القيمة Color.وبهذه الطريقة سيتغير اللون في الصورة حسب اللون المُختار، هكذا: عند تغيير اللون المستعمل في الطلاء يتغير الناتج، لتحصل على ألوان أخرى :
  22. خاصية TabIndex للعلم فقط تمكن مستخدم التطبيق من المرور على الصور - باقي الحقول أيضا تقبل هذه الخاصية- واحدة تلو الأخرى بزر Tab ويبقى الرقم الذي يُحدد في هذه الخاصية هو الرقم الترتيبي للحقول. في Visual Studio على الجانب الأيمن للبرنامج وعند تعيين أي حقل ستجد خاصية TabIndex ضمن الخصائص المتعلقة بالأداة، كما يمكن أيضا الولوج لها عبر الكود التالي: فرضاً أن هذه هي الصورة: <Image Name="img" Source="images/pineapple.jpg" /> يمكنك تعيين خاصية TabIndex بواسطة: KeyboardNavigation.SetTabIndex(img, 5); أو بكود xaml: <Image Name="img" Source="images/pineapple.jpg" KeyboardNavigation.TabIndex="1"/>
  23. عليك بتغيير السطر التالي : ft[i] = Convert.ToInt32(Console.ReadLine())بهذه الشفرة : string input = Console.ReadLine(); if (input == "*") break; int number; if (!int.TryParse(input, out number)) { Console.WriteLine("not a number"); } else { ft[i] = number; }ليصبح الكود الصحيح، على الشكل التالي: static void Main(string[] args) { // array int[] ft = new int[2]; for (int i = 0; i < 2; i++) { Console.WriteLine("number:"); string input = Console.ReadLine(); if (input == "*") // عليك التأكد من أن المستخدم لم يضغط على "*" لإنهاء التطبيق break; // الخروج من الحلقة; int number; if (!int.TryParse(input, out number)) // التحقق من المدخلات { Console.WriteLine("not a number"); // إظهار رسالة تفيد بأنه أدخر قيمة غير رقمية; } else { ft[i] = number; } } Console.Read(); }
  24. عند إدخالك للبيانات، قم بتغيير: $service['faults'] = json_encode($quote['faults']); وعوض هذا السطر، ضع: $service->faults = json_encode($quote['faults']); ليصبح الكود على الشكل : public function storePC() { $rules = array( 'brand' => 'required', 'touchscreen' => 'required', 'processor' => 'required', 'condition' => 'required', 'faults' => 'required', ); $validator = Validator::make(Input::all(), $rules); // التأكد من ولوج المستخدم if ($validator->fails()) { return Redirect::to('/quote') ->withErrors($validator) ->withInput(Input::except('password')); } else { // إدخال البيانات في جدول على قاعدة البيانات $service = new Service; $service->brand = Input::get('brand'); $service->touchscreen = Input::get('touchscreen'); $service->processor = Input::get('processor'); $service->condition = Input::get('condition'); // عليك تغيير هذا السطر************ هنا******** $service->faults = json_encode($quote['faults']); $service->save(); // الإنتقال لصفحة معينة Session::flash('message', 'Service Successfully created!'); return Redirect::to('/'); } }
  25. يمكنك فعل ذلك، وإليك الطريقة الصحيحة لتمرير قيمة من واجهة فرعية إلى Master ثم إلى جزء header: هذا جزء Users.blade.php : <?php $pagecss = '<link rel="stylesheet" href="links to css file" />'?> /****** Users.blade.php واجهة*********/ @extends('shared.master') @section('title', 'Dashboard')هذه صفحة Master، وللتذكير فقط فهذه الصفحة تعتبر بمثابة الهيكل العام لباقي الصفحات، حيث تعتبر المجمع الرئيسي لها: /******Shared/master.blade.php صفحة ********/ <html> <head> <title>@yield('title')</title> @include('shared.header') </head> <body > @yield('content') </body> </html>صفحة header.blade.php، وهو الجزء العلوي من كل الصفحات: /******Shared/header.blade.php جزء ********/ <link rel="stylesheet" href="links to bootstrap" /> @if(isset($pagecss)) {{ $pagecss }} @endif <link rel="stylesheet" href="links to other files" />هذا هو Master في حالتك: <html> <head> @include('test.header') </head> <body > @yield('content') </body> </html>header.blade.php : <link rel="stylesheet" href="links to bootstrap" /> @yield('pagecss') <link rel="stylesheet" href="links to other files" />users.blade.php : @extends('test.main') @section('content') CONTENT @endsection @section('pagecss') <link rel="stylesheet" href="links to css file" /> @endsectionفي نهاية الأمر سيكون الحاصل النهائي على الشكل التالي: <html> <head> <link rel="stylesheet" href="links to bootstrap" /> <link rel="stylesheet" href="links to css file" /> <link rel="stylesheet" href="links to other files" /> </head> <body > CONTENT </body> </html>
×
×
  • أضف...