لوحة المتصدرين
المحتوى الأكثر حصولًا على سمعة جيدة
المحتوى الأعلى تقييمًا في 07/06/20 in أجوبة
-
أهلا بك دانا، من الواضح أن سبب المشكلة هو عدم استخدام LinearLayout قبل ال TextView قومي بإضافة الTextView داخل الLinearLayout و سيتم حل هذه المشكلة و هذا مثال بسيط يوضح طريقة الإستخدام . <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:id="@+id/text_view_id" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="@string/hello" /> </LinearLayout>1 نقطة
-
السلام عليكم ارجو مساعدتي في هذه المشكله استخدام القوائم المتداخله <ol> و<ul> مثال: <h2>Microsoft office product</h2> <ol> <li>windows <ul> <li>windows 95</li> <li>windows 98</li> <li>windows xp</li> <li>windows 7</li> </ul> </li> <li>office</li> <li>visual basic</li> </ol> </ul> ناتج المثال: بالصوره المفروض تكون القائمه مرتب ويش المشكله هنا ؟ اتمنى تساعدوني ومشكورين1 نقطة
-
و عليكم السلام.. يوجد لديك تاق إغلاق خاص بالعنصر ul زائد في نهاية الكود , كذلك الرجاء توضيح المشكلة أكثر ما الذي ترغب في عمله؟ لأن النتيجة في الصورة المرفقه متوقعه و صحيحة ما الخطأ؟ المتصفحات بصفة عامة يكون لديها تنسيقات إفتراضية لكل عنصر من عناصر لغة الhtml على سبيل المثال العنصر ul أو ol في متصفح قوقل كروم يكون لديه خاصية padding-inline-start بقيمة 40 بكسل لهذا تظهر لك المسافة الفارغة على يسار القائمة ربما لم تلاحظها في القائمة الأساسية و لكن تبدو واضحة في القائمة الفرعية و لحل هذه المشكلة بإمكانك جعل قيمة الخاصية padding-inline-start تساوي صفر بكسل , أولًا قم بعمل صنف تنسيقات ( css class ) جديد و لنسمه custom-ul و لنقم بإعطاءه خاصية padding-inline-start بقيمة صفر بكسل ثم نقوم بتعيين هذا الصنف للعنصر ul حتى يختفي الفراغ من على يساره : هكذا ستكون النتيجة : و لكن لو هذا ما ترغب فيه لماذا تستخدم قوائم متداخلة؟ أما بالنسبة لإختلاف الدوائر و الأرقام فإن العنصر ol يقوم بعمل قائمة مرتبة مرقمه ( إسم العنصر إختصار لكلمة ordered list و ترجمتها قائمة مرتبة) بينما العنصر ul قائمة غير مرتبة ( إسم العنصر إختصار لكلمة unordered list و ترجمتها قائمة غير مرتبة ) بدل الأرقام يستخدم شكل دائري أو اي شكل أخر غير مرقم. ملاحظة : المقصود بالترتيب الترقيم.1 نقطة
-
مرحباً ... يُمكنك عمل البرنامج بهذا الشكل و موجود أيضا الشرح في التعليقات: #include <iostream> using namespace std; // تعريف الصنف مصفوفة class Matrix { // تعريف المتغيرات الأعضاء public: int row_size, col_size; public: int **array2d; // constructor 1 public: Matrix() { cout << "Constructor 1 is called" << endl; this->row_size = 3; this->col_size = 3; this->array2d = new int *[this->row_size]; for (int i = 0; i < this->row_size; i++) { this->array2d[i] = new int[this->col_size]; } } // constructor 2 public: Matrix(int row_size, int col_size) { cout << "Constructor 2 is called" << endl; this->row_size = row_size; this->col_size = col_size; this->array2d = new int *[this->row_size]; for (int i = 0; i < this->row_size; i++) { this->array2d[i] = new int[this->col_size]; } } // destructor public: ~Matrix() { cout << "\nDestructor is called" << endl; for (int i = 0; i < this->row_size; ++i) delete[] this->array2d[i]; delete[] this->array2d; } // دالة مساعدة لقراءة عناصر المصفوفة من المستخدم void read_els() { for (int i = 0; i < this->row_size; ++i) { for (int j = 0; j < this->col_size; ++j) { cout << "Enter El: [" << i << "][" << j << "]: " << endl; cin >> this->array2d[i][j]; } } } // دالة مساعدة لطباعة عناصر المصفوفة void print_els() { for (int i = 0; i < this->row_size; ++i) { for (int j = 0; j < this->col_size; ++j) { printf("%d ", this->array2d[i][j]); } printf("\n"); } }; // دالة لجمع مصفوفتين و ترجع الناتج في مصفوفة Matrix add(Matrix *mat) { Matrix m(this->row_size, this->col_size); for (int i = 0; i < m.row_size; ++i) { for (int j = 0; j < m.col_size; ++j) { m.array2d[i][j] = this->array2d[i][j] + mat->array2d[i][j]; } } return m; } // دالة لطرح مصفوفتين و ترجع الناتج في مصفوفة Matrix sub(Matrix *mat) { Matrix m(this->row_size, this->col_size); for (int i = 0; i < m.row_size; ++i) { for (int j = 0; j < m.col_size; ++j) { m.array2d[i][j] = this->array2d[i][j] - mat->array2d[i][j]; } } return m; } // دالة لضرب مصفوفتين و ترجع الناتج في مصفوفة Matrix mul(Matrix *mat) { Matrix m(this->row_size, mat->col_size); int tmp = 0; for(int i = 0; i < m.row_size; ++i) { for (int j = 0; j < m.col_size; ++j) { tmp = 0; for (int k = 0; k < this->col_size; ++k) { tmp += this->array2d[i][k] * mat->array2d[k][j]; } m.array2d[i][j] = tmp; } } return m; } // دالة لضرب مصفوفة في مُعامل سنستعملها في المضاعفة أو التكعيب أو اي كان و ترجع الناتج في مصفوفة Matrix mul_k(int k) { Matrix m(this->row_size, this->col_size); for (int i = 0; i < m.row_size; ++i) { for (int j = 0; j < m.col_size; ++j) { m.array2d[i][j] = k * this->array2d[i][j]; } } return m; } }; int main() { // تعريف مؤشرين لمصفوفتين Matrix *m1 = new Matrix(2, 2); Matrix *m2 = new Matrix(2, 2); cout << "Enter m1 elements: " << endl; m1->read_els(); // قراءة عناصر المصفوفة الأولى cout << "Enter m2 elements: " << endl; m2->read_els(); // قراءة عناصر المصفوفة الثانية if (m1->row_size != m2->row_size || m1->col_size != m2->col_size) { // في حالة عدم تساوي حجم المصفوفتين لا يُمكننا عمل عمليتي الجمع و الطرح cout << "can not make addition or subtraction"; } else { cout << "m1 + m2 = " << endl; m1->add(m2).print_els(); // القيام بعملية الجمع ثم عرض الناتج cout << "m1 - m2 = " << endl; m1->sub(m2).print_els(); // القيام بعملية الطرح ثم عرض الناتج } if (m1->col_size != m2->row_size) { // عرض رسالة في حالة عدم إمكانية عمل عملية الضرب cout << "Error! column of first matrix not equal to row of second."; } else { cout << "m1 X m2 = " << endl; m1->mul(m2).print_els(); // القيام بعملية الضرب ثم عرض الناتج } cout << "2 X m1 = " << endl; m1->mul_k(2).print_els(); // القيام بعملية المضاعفة ثم عرض الناتج delete m1; // إستدعاء المدمر لتنظيف الذاكرة و مسح الحيز المحجوز من طرف المؤشر الأول delete m2; // إستدعاء المدمر لتنظيف الذاكرة و مسح الحيز المحجوز من طرف المؤشر الثاني } يُمكنك أيضا تجربة البرنامج من خلال هذا الرابط أيضا أنصحك بمتابعة سلسلة تعلم سي بلس بلس للمحترفين على أكاديمية حسوب فهي مفيدة و مُستمرة خاصة هذا الدرس عن المؤشرات الدرس 19: المؤشرات (Pointers) في Cpp بالتوفيق1 نقطة
-
مرحباً أخي ... لعمل نظام تسجيل الدخول نقوم أولا بإنشاء جدول للمستخدمين ثم نقوم بعمل صفحة و لتكن مثلا login_pdo.php <?php session_start(); $host = "localhost"; $username = "root"; $password = ""; $database = "testing"; $message = ""; try { $connect = new PDO("mysql:host=$host; dbname=$database", $username, $password); $connect->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); if(isset($_POST["login"])) { if(empty($_POST["username"]) || empty($_POST["password"])) // في حالة عدم إدخال البيانات { $message = '<label>All fields are required</label>'; } else { $query = "SELECT * FROM users WHERE username = :username AND password = :password"; $statement = $connect->prepare($query); $statement->execute( array( 'username' => $_POST["username"], 'password' => $_POST["password"] ) ); $count = $statement->rowCount(); if($count > 0) // إذا وجدنا البيانات مسجلة في جدول المستخدمين { $_SESSION["username"] = $_POST["username"]; // نحفظ إسم المستخدم ضمن الجلسة header("location:dashboard.php"); // ونقوم بتحويل المستخدم إلى لوحة التحكم } else { $message = '<label>Wrong Data</label>'; // في حالة عدم وجود البيانات نرجع الرسالة } } } } catch(PDOException $error) { $message = $error->getMessage(); // في حالة حدوث خطأ في الإتصال مع قاعدة البيانات } ?> ملف dashboard.php يكون بهذا الشكل : <?php session_start(); if(isset($_SESSION["username"])) // بمعنى إذا كان إسم المستخدم موجود في الجلسة هذا يعني أن هناك مستخدم قام بتسجيل الدخول { echo '<h3>Login Success, Welcome - '.$_SESSION["username"].'</h3>'; // رسالة ترحيبية فقط echo '<br /><br /><a href="logout.php">Logout</a>'; // رابط لتسجيل الخروج } else // في حالة عدم وجود شخص مسجل دخوله نمنع الوصول إلى لوحة التحكم { header("location:login_pdo.php"); // نقوم بتحويل المستخدم إلى صفحة تسجيل الدخول } ?> و ملف ال logout.php يكون بهذا الشكل <?php session_start(); session_destroy(); // تحطيم الجلسة header("location:login_pdo.php"); // التحويل إلى صفحة تسجيل الدخول ?> و هذا نظام بسيط لتسجيل الدخول أرفقت لك الملفات. login_pdo.zip بالتوفيق1 نقطة
-
السلام عليكم عندي بطاقة انينال دخلت على النت لكي افعل البطاقة طلبوا معلومات عني الايميل غلطت وكتبت الايميل والهاتف في بغداد وانا حاليا في تركيا وعند دخولي الى البطاقة يقول مفعله البطاقة لكن لم احصل على الرمز التفعيل لان هاتفي سيم كارت العراق لا يعمل في تركيا ارجوا مساعدتي لحل مشكلتي علما فيها رصيد 50 ليرة وانا لم استعمله ابد.1 نقطة
