التنبيهات

التنبيهات

0

لا توجد تنبيهات جديدة

احدث المنشورات

تحديث كتابة المحتوى في كودار!

لقد قمنا في الآونة الأخيرة بالعمل على طريقة أفضل لكتابة المحتوى في #كودار لتحسين مستوى القرآءة والكتابة.


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


بعض أهم مزايا التحديث الجديد:

1. امكانية اضافة عناوين اساسية وفرعية للمقال.

2. امكانية كتابة النصوص بالخط العريض أو المائل.

3. امكانية كتابة نصوص برمجية سواء في خط النص echo "أو"; كنص برمجي كبير.

4. امكانية وضع أكثر من صورة في المقال الواحد.

5. طرق جديدة لتسهيل عملية ارفاق الصور للمقال.


ما زلنا نقوم باجراء تطويرات على انظمتنا وخبرة المستخدمين في #كودار ،

اذا كنت تقترح أي اضافات او تحسينات اكتب لنا في التعليقات 😃👇 اسفل هذا المنشور.


#تحديثات_كودار

تفاعل 13 شخص مع المنشورة

constrant layout

نقوم في هذا المنشور بشرح بعض المزايا ومقدمه بسيطه عن ال constrant layout 

عناصر هذا المنشور 

1- مقدمه بسيطه عن ال constrant

2-كيفيه عمل ال constrant 

3-ذكاء الاصطناعي لل constrant 

4- كيفيه ترتيب العناصر في ال constrant 

5-ترتيب جميع العناصر في ضغطة زر

مقدمه بسيطه عن ال constrant 

تحدثنا في مقاله سابقه عن نوع المخطط constrant layout ولاكن لم نفي بحقه في الشرح قامت google بأضافة هذا النوع من المخطات في 2017 وكان في سابق يوجد فقط في xcode مع ال ios لاكن اضافته google ذلك حته يساعد المطورين في ان شاء تصميم جذاب و معاصر فا constrant layout تمتاز بذكاء الاصطناعي عند تصميم ولاكن كيف كيف يتم ذلك؟

سنعرف كل ذلك في هذه المقاله

كيفيه عمل ال constrant

عند ان شاء مشروع جديد يظهر نوع ال layout تلقائي  constrant layout فا لست بحاجه الي تعديل نوع الlayout 

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

ولاكن ما معني هذه الاكواد 

 tools:layout_editor_absoluteX="161dp"
tools:layout_editor_absoluteY="345dp"

دائما عند وجود كلمه tools في كود ال xml تعلم ان هذا سيظهر فقط في الاندرويد استوديو ولن يظهر في الموبايل

فاعند عند تشغيله علي الموبايل يظهر بعيدا اقصي يسار الشاشه لما ؟

ذلك لاننا يجب بوضع الconstrant في العنصر حته يظهر ايضا بنفس الشكل في الموبايل

كما يوجد في الكود التالي

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

وتقوم بتقيض العنصر في هذه النقطه مهما اختلفت حجم الشاشه التي تقوم بتشفيل هذا البرنامج 

واذا اختلف حجم الشاشه يظل هذا العنصر في مكانه وتلك من مزايا ال constrant 

ولاكن كيف تقوم ال constrant layout بالحفاظ عل مكان العنصر 


ذكاء الconstrant layout 

 ال constrant layout تعتبر من اذكي المخطات الت يتقوم بعمليات حسابيه لتقوم بحساب ال hight و ال width الخاص بكل شاشه وحساب الارتفاع والعرض المطلوب لكل عنصر ووضعه في نفس المكان مهما اختلفت حجم الشاشه 

لذلك ينصح دائما مطورين الاندرويد باستخدام ال constrant layout للقيام بتصميم عصري وجذاب 

ترتيب العناصر بجانب بعضها في ال constrant layout

مثل ما قومت بالسحب لوضع ال constrant في العنصر ايضا سوف تقوم بالسحب من العنصر للاخر في ال constrant layout وايضا تقوم ال constrant باجراء عمليات حسابيه لحساب المسافه ما بين كل عنصر والاخر للحفاظ عليها في نفس الشكل مهما اختلفت حجم الشاشه 

وهذه صوره توضيحيه لترتيب العناصر 

ترتيب جميع العناصر في ال constrant في ضغطة زر

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

كما يمكنك الغاء جميع الconstrant التي قومت بها من خلال الضغط علي هذا الزر 


كما يمكنك رؤيه شرح عملي بتفاصيل اكثر عن ال constrant layout من خلال هدا الفيديو 

https://youtu.be/plGXdITW8SQ


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

انتظرو شرح مفصل ورائع لل architecture pattern و rxjava و room 

استودعكم الله والي اللقاء

تفاعل 13 شخص مع المنشورة

سلاسل المحارف الأصلية Verbatim String

يمكنك استخدام العلامة @ أمام سلسلة محارف لتخليص جميع المحارف الموجودة في السلسلة

string path = "C:\\Users\\User\\Desktop";
string verbatimPath = @"C:\Users\User\Desktop";
Console.WriteLine(path == verbatimPath); // => true

يمكنك توزيع سلسلة محارف على أكثر من سطر بالرمز @ لتخليص العلامة " ضع مكانها "" (" مرتين)

string bazString = @"Here's some stuff
on a new line! ""Wow!"", the masses cried";
تفاعل 9 شخص مع المنشورة

بناء البيانات في c#

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

;<datatype>[] <var name> = new <datatype>[<array size>]

المصفوفة intArray في المثال التالي تحوي 10 أعداد

int[] intArray = new int[10];

طريقة أخرى لتعريف مصفوفة وتهيئتها

int[] y = { 9000, 1000, 1337 };

ترتيب عناصر المصفوفة - الوصول إلى عنصر

Console.WriteLine("intArray @ 0: " + intArray[0]);

المصفوفات قابلة للتعديل.

intArray[1] = 1;


تفاعل 7 شخص مع المنشورة

لغة C# هي لغة برمجة أنيقة، كائنيّة التوجه Object-oriented بأنواع بيانات سليمة Type-safe تمكّن المطورين من بناء تطبيقات آمنة ومتينة تعمل على إطار العمل NET.

// تبدأ التعليقات وحيدة السطر بشريطين مائلين هكذا //

/*
توضع التعليقات متعدّدة الأسطر بين العلامة أعلاه والعلامة أسفله
*/

هذا تعليق xml يُستخدَم لتوليد توثيق خارجي<br>أو لتقديم مساعدة حسب السياق في بيئة تطوير مندمجة IDE.

/// <param name="firstParam"> لتوثيق الدالة Parameter الذي هو معامل firstParam هذا تعليق</param>

/// <returns>معلومات عن القيمة المُرجَعة للدالة/returns>

//public void MethodOrClassOrOtherWithParsableHelp(string firstParam) {}

يحدّد فضاءات اﻷسماء Namespaces التي ستستخدمها هذه الشفرة<br>فضاءات الأسماء أدناه هي كلّها جزء من مكتبة الأصناف Classes المعيارية في إطار العمل NET.

Framework Class Library
using System;
using System.Collections.Generic;
using System.Dynamic;
using System.Linq;
using System.Net;
using System.Threading.Tasks;
using System.IO;

فضاء الأسماء هذا ليس مُتضمّنا في المكتبة المعيارية:

using System.Data.Entity;

لكي تتمكّن من استخدام المكتبة أعلاه فستحتاج لإضافة مرجع إلى ملف dll وهو ما يمكن لمدير الحزم NuGet فعلُه: Install-Package EntityFramework<br>تعرّف فضاءات الأسماء مجالات لتنظيم الشفرات ضمن حزم Packages أو وِحْدات Modules لاستخدام فضاء الأسماء المُعرّف أدناه في شفرة أخرى نضيف العبارة Learning.CSharp إلى فضاءات الأسماء المستخدمة

namespace Learning.CSharp
{

يجب أن يحوي كل ملف cs. على الأقل على صنف Class له نفس اسم الملف. يمكنك لك عدم التقيّد بهذا الشرط، إلا أنه أفضل لصحة الشفرة المصدرية

public class LearnCSharp
{

صياغة أساسية: يمكنك التجاوز إلى “ميزات مثيرة للاهتمام” إن سبق لك كتابة شفرات بجافا أو سي++

public static void Syntax()
{
// للكتابة في سطر جديد Console.WriteLine استخدم
Console.WriteLine("Hello World");
Console.WriteLine(
"Integer: " + 10 +
" Double: " + 3.14 +
" Boolean: " + true);

// لكتابة عبارات على نفس السطر Console.Write استخدم
Console.Write("Hello ");
Console.Write("World");

<a></a>أنواع البيانات Types والمتغيّرات Variables

عرّف المتغيّرات على النحو التالي <type> <name>

Sbyte - عدد صحيح (سالب أو موجب) على 8 بتات (محصور بين 128- و127)

sbyte fooSbyte = 100;

Byte - عدد طبيعي (موجب فقط) على 8 بتات (محصور بين 0 و255)

byte fooByte = 100;

Short - عدد صحيح أو طبيعي طوله 16 بتات<br>صحيح short محصور بين -32,768 و32,767<br>طبيعي ushort محصور بين 0 و65,535

short fooShort = 10000;
ushort fooUshort = 10000;

عدد صحيح fooInt أو طبيعي fooUint طوله 32 بت

int fooInt = 1; // (-2,147,483,648 <= int <= 2,147,483,647)
uint fooUint = 1; // (0 <= uint <= 4,294,967,295)

Long عدد صحيح fooLong أو طبيعي fooUlong طوله 64 بت

long fooLong = 100000L; // (-9,223,372,036,854,775,808 <= long <= 9,223,372,036,854,775,807)
ulong fooUlong = 100000L; // (0 <= ulong <= 18,446,744,073,709,551,615)

النوع المبدئي default للأعداد هو int أو uint حسب طول العدد. والحرف L وراء العدد يشير إلى أن نوع العدد هو long أو ulong

Double - فاصلة عائمة مزدوجة الدقة حسب المعيار 64-bit IEEE 754

double fooDouble = 123.4; // الدقة: 15-16 رقما

Float - فاصلة عائمة وحيدة الدقة 32-bit IEEE 754 Floating Point

float fooFloat = 234.5f; // الدقة: 7 أرقام

يشير الحرف f وراء العدد إلى أن نوع العدد هو Float

Decimal - نوع بيانات بطول 128 بت، ودقّة أعلى من بقية أنواع البيانات ذات الفاصلة العائمة مناسب للحسابات المالية والنقدية

decimal fooDecimal = 150.3m;
// Boolean - true & false
bool fooBoolean = true; // or false

Char - نوع بيانات بطول 16 بت يرمز لمحرف يونيكود

`char fooChar = 'A';

Strings – على النقيض من جميع أنواع البيانات السابقة التي هي أنواع لقيم البيانات<br>فإن النوع String - سلسلة محارف - هو نوع لمرجع Reference بمعنى أنه يمكنه أخذ القيمة null

string fooString = "\"escape\" quotes and add \n (new lines) and \t (tabs)";
Console.WriteLine(fooString);

يمكن الوصول إلى كل محرف من سلسلة المحارف عن طريق ترتيبه في السلسلة

char charFromString = fooString[1]; // => 'e'

لا يمكن التعديل على سلاسل المحارف؛ التعليمة fooString[1] = X خاطئة مقارنة سلاسل محارف مع قيمة الخاصيّة CurrentCulture المعرّفة في المكتبة المعيارية لتمثيل اللغة المستخدمة في النظام، مع تجاهل حالة الأحرف IgnoreCase

string.Compare(fooString, "x", StringComparison.CurrentCultureIgnoreCase);

تهيئة سلسلة المحارف اعتمادا على sprintf

string fooFs = string.Format("Check Check, {0} {1}, {0} {1:0.0}", 1, 2);

<a></a>التاريخ والتهيئة

DateTime fooDate = DateTime.Now;
Console.WriteLine(fooDate.ToString("hh:mm, dd MMM yyyy"));

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

تفاعل 7 شخص مع المنشورة

Shortcut Keys System!! <br>CTRL+A. . . . . . . . . . . . . . . . . Select AllCTRL+C. . . . . . . . . . . . . . . . . CopyCTRL+X. . . . . . . . . . . . . . . . . CutCTRL+V. . . . . . . . . . . . . . . . . PasteCTRL+Z. . . . . . . . . . . . . . . . . UndoCTRL+B. . . . . . . . . . . . . . . . . BoldCTRL+U. . . . . . . . . . . . . . . . . UnderlineCTRL+I . . . . . . . . . . . . . . . . . ItalicF1 . . . . . . . . . . . . . . . . . . . . . . HelpF2 . . . . . . . . . . . . . . . . . . . . . Rename selected objectF3 . . . . . . . . . . . . . . . . . . . . . Find all filesF4 . . . . . . . . . . . . . . . . . . . . . Opens file list drop-down in dialogsF5 . . . . . . . . . . . . . . . . . . . . . Refresh current windowF6 . . . . . . . . . . . . . . . . . . . . . Shifts focus in Windows ExplorerF10 . . . . . . . . . . . . . . . . . . . . Activates menu bar optionsALT+TAB . . . . . . . . . . . . . . . . Cycles between open applicationsALT+F4 . . . . . . . . . . . . . . . . . Quit program, close current windowALT+F6 . . . . . . . . . . . . . . . . . Switch between current program windowsALT+ENTER. . . . . . . . . . . . . . Opens properties dialogALT+SPACE . . . . . . . . . . . . . . System menu for current windowALT+¢ . . . . . . . . . . . . . . . . . . opens drop-down lists in dialog boxesBACKSPACE . . . . . . . . . . . . . Switch to parent folderCTRL+ESC . . . . . . . . . . . . . . Opens Start menuCTRL+ALT+DEL . . . . . . . . . . Opens task manager, reboots the computerCTRL+TAB . . . . . . . . . . . . . . Move through property tabsCTRL+SHIFT+DRAG . . . . . . . Create shortcut (also right-click, drag)CTRL+DRAG . . . . . . . . . . . . . Copy FileESC . . . . . . . . . . . . . . . . . . . Cancel last functionSHIFT . . . . . . . . . . . . . . . . . . Press/hold SHIFT, insert CD-ROM to bypass auto-playSHIFT+DRAG . . . . . . . . . . . . Move fileSHIFT+F10. . . . . . . . . . . . . . . Opens context menu (same as right-click)SHIFT+DELETE . . . . . . . . . . . Full wipe delete (bypasses Recycle Bin)ALT+underlined letter . . . . Opens the corresponding menuPC Keyboard ShortcutsDocument Cursor ControlsHOME . . . . . . . . . . . . . . to beginning of line or far left of field or screenEND . . . . . . . . . . . . . . . . to end of line, or far right of field or screenCTRL+HOME . . . . . . . . to the topCTRL+END . . . . . . . . . . to the bottomPAGE UP . . . . . . . . . . . . moves document or dialog box up one pagePAGE DOWN . . . . . . . . moves document or dialog down one pageARROW KEYS . . . . . . . move focus in documents, dialogs, etc.CTRL+ > . . . . . . . . . . . . next wordCTRL+SHIFT+ > . . . . . . selects wordWindows Explorer Tree ControlNumeric Keypad * . . . Expand all under current selectionNumeric Keypad + . . . Expands current selectionNumeric Keypad – . . . Collapses current selection¦ . . . . . . . . . . . . . . . . . . Expand current selection or go to first child‰ . . . . . . . . . . . . . . . . . . Collapse current selection or go to parentSpecial Characters‘ Opening single quote . . . alt 0145’ Closing single quote . . . . alt 0146“ Opening double quote . . . alt 0147“ Closing double quote. . . . alt 0148– En dash. . . . . . . . . . . . . . . alt 0150— Em dash . . . . . . . . . . . . . . alt 0151… Ellipsis. . . . . . . . . . . . . . . . alt 0133• Bullet . . . . . . . . . . . . . . . . alt 0149® Registration Mark . . . . . . . alt 0174© Copyright . . . . . . . . . . . . . alt 0169™ Trademark . . . . . . . . . . . . alt 0153° Degree symbol. . . . . . . . . alt 0176¢ Cent sign . . . . . . . . . . . . . alt 01621⁄4 . . . . . . . . . . . . . . . . . . . . . alt 01881⁄2 . . . . . . . . . . . . . . . . . . . . . alt 01893⁄4 . . . . . . . . . . . . . . . . . . . . . alt 0190PC Keyboard ShortcutsCreating unique images in a uniform world! Creating unique images in a uniform world!é . . . . . . . . . . . . . . . alt 0233É . . . . . . . . . . . . . . . alt 0201ñ . . . . . . . . . . . . . . . alt 0241÷ . . . . . . . . . . . . . . . alt 0247File menu options in current programAlt + E Edit options in current programF1 Universal help (for all programs)Ctrl + A Select all textCtrl + X Cut selected itemShift + Del Cut selected itemCtrl + C Copy selected itemCtrl + Ins Copy selected itemCtrl + V PasteShift + Ins PasteHome Go to beginning of current lineCtrl + Home Go to beginning of documentEnd Go to end of current lineCtrl + End Go to end of documentShift + Home Highlight from current position to beginning of lineShift + End Highlight from current position to end of lineCtrl + f Move one word to the left at a timeCtrl + g Move one word to the right at a timeMICROSOFT® WINDOWS® SHORTCUT KEYSAlt + Tab Switch between open applicationsAlt +Shift + TabSwitch backwards between openapplicationsAlt + PrintScreenCreate screen shot for current programCtrl + Alt + Del Reboot/Windows® task managerCtrl + Esc Bring up start menuAlt + Esc Switch between applications on taskbarF2 Rename selected iconF3 Start find from desktopF4 Open the drive selection when browsingF5 Refresh contentsAlt + F4 Close current open programCtrl + F4 Close window in programCtrl + PlusKeyAutomatically adjust widths of all columnsin Windows ExplorerAlt + Enter Open properties window of selected iconor programShift + F10 Simulate right-click on selected itemShift + Del Delete programs/files permanentlyHolding ShiftDuring BootupBoot safe mode or bypass system filesHolding ShiftDuring BootupWhen putting in an audio CD, will preventCD Player from playingWINKEY SHORTCUTSWINKEY + D Bring desktop to the top of other windowsWINKEY + M Minimize all windowsWINKEY +SHIFT + MUndo the minimize done by WINKEY + Mand WINKEY + DWINKEY + E Open Microsoft ExplorerWINKEY + Tab Cycle through open programs on taskbarWINKEY + F Display the Windows® Search/Find featureWINKEY +CTRL + FDisplay the search for computers windowWINKEY + F1 Display the Microsoft® Windows® helpWINKEY + R Open the run windowWINKEY +Pause /BreakOpen the system properties windowWINKEY + U Open utility managerWINKEY + L Lock the computer (Windows XP® & later)OUTLOOK® SHORTCUT KEYSAlt + S Send the emailCtrl + C Copy selected textCtrl + X Cut selected textCtrl + P Open print dialog boxCtrl + K Complete name/email typed in address barCtrl + B Bold highlighted selectionCtrl + I Italicize highlighted selectionCtrl + U Underline highlighted selectionCtrl + R Reply to an emailCtrl + F Forward an emailCtrl + N Create a new emailCtrl + Shift + A Create a new appointment to your calendarCtrl + Shift + O Open the outboxCtrl + Shift + I Open the inboxCtrl + Shift + K Add a new taskCtrl + Shift + C Create a new contactCtrl + Shift+ J Create a new journal entryWORD® SHORTCUT KEYSCtrl + A Select all contents of the pageCtrl + B Bold highlighted selectionCtrl + C Copy selected textCtrl + X Cut selected textCtrl + N Open new/blank documentCtrl + O Open optionsCtrl + P Open the print windowCtrl + F Open find boxCtrl + I Italicize highlighted selectionCtrl + K Insert linkCtrl + U Underline highlighted selectionCtrl + V PasteCtrl + Y Redo the last action performedCtrl + Z Undo last actionCtrl + G Find and replace optionsCtrl + H Find and replace optionsCtrl + J Justify paragraph alignmentCtrl + L Align selected text or line to the leftCtrl + Q Align selected paragraph to the leftCtrl + E Align selected


تفاعل 5 شخص مع المنشورة

هل لازم اكون كويس في الرياضيات قبل تعلم البرمجة ؟

- اولا لازم تعرف ان الرياضة مش مطلوبة في جميع نواحي البرمجة.

- ثانيا "وهتكلم عن تجربتي في البرمجة" لحد الان كل المشكلات ال قابلتها في البرمجة كنت احتاج الي الرياضة واجراء العمليات الحسابية ولاكن كان على حسب نوع المشكلة التي امامي فمثلا كان معظم العمليات الرياضية في الكثير من المشاكل كانت عبارة عن : قسمة او جمع ,طرح,حساب نسبة كانت معظمها عمليات بسيطة وغير معقدة -ولاكن ده طبعا عكس ما تكون شغال في مشروع ولقيت نفسك انك هتحتاج تعمل عملية حسابية خاصة تقدر تبحث في الإنترنت عن القانون ال هتحتاجه لاجراء العملية الحسابية

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

تفاعل 0 شخص مع المنشورة

 Switch in C#

تعمل Switch مع أنواع البيانات byteshortchar, وint تعمل كذلك مع أنواع البيانات Enum (نتعرّض لها أدناه)، الصنف String وبضعة أصناف خاصّة تغلّف أنواع بيانات أساسية: Character,Byte,Short, و Integer.

int month = 3;
string monthString;
switch (month)
{
case 1:
monthString = "January";
break;
case 2:
monthString = "February";
break;
case 3:
monthString = "March";
break;

يمكن تنفيذ أكثر من إجراء في كل حالة case، إلا أنه لا يمكن إضافة إجراء ضمن حالة دون إضافة تعليمة توقيف break; قبل الحالة الموالية (إن أردت فعل هذا الأمر، فستحتاج لإضافة تعليمة goto case x بعد الإجراء)

case 6:
case 7:
case 8:
monthString = "Summer time!!";
break;
default:
monthString = "Some other month";
break;
}
تفاعل 3 شخص مع المنشورة