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

لوحة المتصدرين

  1. عبدالرحمن المالكي3

    • نقاط

      3

    • المساهمات

      60


  2. Mohamed Farahat

    Mohamed Farahat

    الأعضاء


    • نقاط

      3

    • المساهمات

      123


  3. محمد عبد العزيز3

    • نقاط

      2

    • المساهمات

      95


  4. Mustafa Mahmoud7

    Mustafa Mahmoud7

    الأعضاء


    • نقاط

      2

    • المساهمات

      676


المحتوى الأكثر حصولًا على سمعة جيدة

المحتوى الأعلى تقييمًا في 07/12/24 في كل الموقع

  1. مرحبًا فريق أكاديمية حسوب، أود أن أعبر عن خالص شكري وامتناني لكم جميعًا على الدعم الكبير والتفاني الذي أظهرتموه خلال دورة تطوير التطبيقات باستخدام Python. كانت تجربة التعلم رائعة ومثمرة بفضلكم. لقد استفدت كثيرًا من الدورة، وتقدمت بشكل ملحوظ بفضل التوجيهات والنصائح التي كنتم تقدمونها باستمرار. كنتم دائمًا موجودين لمساعدتي وحل المشاكل التي واجهتها، وهذا كان له تأثير كبير على تقدمي وتحقيقي لهذه الشهادة. أشكر كل فرد من فريق أكاديمية حسوب على المجهودات الكبيرة والتفاني في العمل لضمان حصولنا على تجربة تعليمية ممتازة. تعاملكم اللطيف والدعم المستمر كانا محل تقدير كبير لدي. أتطلع لمواصلة التعلم والتطوير، وأرجو لكم جميعًا كل التوفيق والنجاح في مسيرتكم. تحياتي وتقديري، محمد فرحات
    3 نقاط
  2. حسناً كما تنصحني , مارايك بان اعود الى React.js تطبيق ملاحظات بشكل سريع ربما انتهي منها ب 3 ايام لانني فهمتها جيدا , وبعدها اعود مرة اخرى الى React Native تطبيق طبيبي واقوم بانهائه , لانه كانت مشكلتي بالتحديث الاخير الذي اختلف جدا . وبعدها Nexst.js تطبيق تعلم اللغات ؟ او تطبيق اسالة وجوبة ؟ او اطار العمل Ionic , ماذا تصحني ؟ في البداية الاولوية ان اكون قادر على بناء تطبيق جوال , مثلا لمتجر صغير او توصيل طلبات , وثانيا تطبيقات الويب . ارجو ارشادي للخطة المناسبة وشكرا جزيلا
    2 نقاط
  3. وانا اطبق نفس الكود في الكتاب طلعلي خطأ ( js )
    2 نقاط
  4. عندما اكتب هذا الكود لا يعطيني نفس النتيجه في الفيديو
    2 نقاط
  5. اريد عندما ادخل اي قيمه في اعمدة اسهم الورثه يتحدث المجموع تلقائيا والذي يجمع اسهم الورثه import sys import traceback from PyQt6.QtWidgets import QApplication, QMainWindow, QTableWidget, QVBoxLayout, QWidget, QTableWidgetItem, QLineEdit, QPushButton, QHBoxLayout from PyQt6.QtCore import Qt from PyQt6.QtGui import QColor class MainWindow(QMainWindow): def __init__(self): super().__init__() self.setWindowTitle('التطبيق') self.setGeometry(100, 30, 1250, 700) # إنشاء حقل الإدخال وزر الإدخال self.input_field = QLineEdit(self) self.input_field.setPlaceholderText('أدخل عدد الورثة') self.input_button = QPushButton('إضافة الورثة', self) self.input_button.clicked.connect(self.add_inheritors) input_layout = QHBoxLayout() input_layout.addWidget(self.input_field) input_layout.addWidget(self.input_button) # إنشاء الجدول self.table = QTableWidget(self) self.table.setColumnCount(5) # عدد الأعمدة الافتراضي self.table.setHorizontalHeaderLabels([ 'اسم الورث', 'اسم موضع التركه', 'سعر الموضع', 'الاتصال', 'ملاحظه' ]) self.table.setLayoutDirection(Qt.LayoutDirection.RightToLeft) table_layout = QVBoxLayout() table_layout.addLayout(input_layout) table_layout.addWidget(self.table) # إنشاء واجهة مركزية وتعيين التخطيط لها centralWidget = QWidget() centralWidget.setLayout(table_layout) self.setCentralWidget(centralWidget) # إضافة صف جديد وتحريك المؤشر إلى الخلية الأولى self.add_new_row() self.table.setCurrentCell(0, 0) self.table.edit(self.table.currentIndex()) # بدء التحرير مباشرة # إعادة تعريف keyPressEvent للتحكم في سلوك الضغط على الأزرار self.table.keyPressEvent = self.table_keyPressEvent def add_new_row(self): current_row_count = self.table.rowCount() self.table.setRowCount(current_row_count + 1) for col in range(self.table.columnCount()): item = QTableWidgetItem() self.align_text_center(item) if col >= 5: # الأعمدة الجديدة الخاصة بالورثة item.setBackground(QColor('yellow')) # لون الخلفية item.setText('0.00') # القيمة الافتراضية self.table.setItem(current_row_count, col, item) def align_text_center(self, item): if item is not None: item.setTextAlignment(Qt.AlignmentFlag.AlignCenter) def table_keyPressEvent(self, event): if event.key() == Qt.Key.Key_Return or event.key() == Qt.Key.Key_Enter: self.add_new_row() self.table.setCurrentCell(self.table.rowCount() - 1, 0) else: QTableWidget.keyPressEvent(self.table, event) def add_inheritors(self): try: num_inheritors = int(self.input_field.text()) current_columns = self.table.columnCount() default_columns = 5 # التحقق من وجود أعمدة الورثة واستبدالها if current_columns > default_columns: self.table.setColumnCount(default_columns) current_columns = default_columns self.table.setColumnCount(current_columns + num_inheritors + 2) # اضافة 2 اعمده for i in range(num_inheritors): column_header = QTableWidgetItem(f'سهم الوراث {i + 1}') self.align_text_center(column_header) self.table.setHorizontalHeaderItem(current_columns + i, column_header) for row in range(self.table.rowCount()): item = QTableWidgetItem('0.00') item.setBackground(QColor('yellow')) # لون الخلفية self.align_text_center(item) self.table.setItem(row, current_columns + i, item) # إضافة أعمدة الجمع والتفقيط ونصيب الورث column_headers = ['المجموع للاسهم', 'التفقيط'] for idx, header in enumerate(column_headers): column_item = QTableWidgetItem(header) self.align_text_center(column_item) self.table.setHorizontalHeaderItem(current_columns + num_inheritors + idx, column_item) for row in range(self.table.rowCount()): item = QTableWidgetItem('0.00') item.setBackground(QColor('yellow')) # لون الخلفية self.align_text_center(item) self.table.setItem(row, current_columns + num_inheritors + idx, item) self.input_field.clear() except ValueError: self.input_field.setText('الرجاء إدخال عدد صحيح') def exception_hook(type, value, tb): print("Unhandled Exception:") print(f"Type: {type.__name__}") print(f"Value: {value}") print("Traceback:") traceback.print_tb(tb) if __name__ == "__main__": sys.excepthook = exception_hook # تعيين الدالة exception_hook كـ excepthook app = QApplication(sys.argv) window = MainWindow() window.show() sys.exit(app.exec())
    1 نقطة
  6. كيف ممكن ان نجعل جدول في صفحة php تصميمه يكون عامودي وليس أفقي.. الأسم.......... العمر.......... الأيميل......... وهكذا
    1 نقطة
  7. تمرين اختبار ما هو الخطأ ؟ :class Car : def init(self, model, year, mileage) self.model = model self.year = year self.mileage = mileage : def reset_mileage(self) self.mileage = 0 car1 = Car("Toyota Camry", 2020, 10000) print(car1.model, car1.mileage) ()car1.reset_mileage print(car1.mileage)
    1 نقطة
  8. السلام عليكم. ما الأكثر استخداما في مجال الباك اند Template engine أم API ؟
    1 نقطة
  9. ما هو افضل بديل لادموب في وجهة نظرك
    1 نقطة
  10. هل اذا انتهيت من احد الدورات في مسار الجافاسكربت احصل على شهاده ام يجب الانتهاء من جميع الدورات في مسار جافاسكربت للحصول على شهاده؟
    1 نقطة
  11. يمكنك التقدم إلى امتحان الدورة، من خلال التواصل مع مركز مساعدة أكاديمية حسوب، مع مراعاة الشروط التالية: إتمام أربعة مسارات تعليمية على الأقل. التطبيق العملي مع المدرب، والاحتفاظ بالمشاريع العملية الناتجة لإرسالها للمراجعة. رفع المشاريع على حسابك على GitHub أولًا بأول لمشاركتها معنا. عند تحقيق الشروط السابقه تنتقل إلي خطوات الإمتحان وهي كالتالي: تواصل معنا: أخبرنا برغبتك باجراء الامتحان مع تزويدنا بروابط مشاريعك التي طبقتها أثناء الدورة. يجب أن تكون قد طبقت المشاريع مع المدرب أثناء الدورة، ولا يمكن اجراء امتحان بمشاهدة المحتوى فقط. محادثة صوتية: سنحدد لك موعد لاجراء محادثة صوتية لمدة 30 دقيقة يطرح المدرب فيها أسئلة متعلقة بالدورة ويناقش معك ما نفذته خلالها. مشروع التخرج: سيحدد لك المدرب مشروعًا مرتبطًا بما تعلمته أثناء الدورة لتنفيذه خلال فترة محددة تتراوح بين أسبوع الى أسبوعين. مراجعة المشروع والتخرج: سيراجع المدرب المشروع الذي أنجزته، وإن سارت جميع الخطوات السابقة بشكل صحيح، ستتخرج وتحصل على الشهادة أو يرشدك المدرّب لأماكن القصور ويطلب منك تداركها ثم التواصل معنا من جديد. شهادة معتمدة من أكاديمية حسوب: جميع الشهادات التي تصدرها أكاديميّة حسوب تصدر فقط بعد اجتياز الامتحان بنجاح. هذه ليست "شهادات إكمال" أو "شهادات حضور"، ولا يمكن الحصول عليها بالانضمام للدورة فقط، بل يجب على الطالب التطبيق عمليًا أثناء الدورة، إجراء المقابلة وإثبات قدراته. جميع شهادات أكاديمية حسوب متاحة برابط مباشر على موقع الأكاديمية مما يتيح التحقق من صحتها بأي وقت. بالتوفيق.
    1 نقطة
  12. انا اقصد انا الان انتهيت من اول دورة في الجافاسكربت وهي دورة اساسيات لغة JavaScript هل يمكنني الحصول على شهاده لاتمام هذه الدوره ام انه يجب انهاء جميع دورات مسار الجافاسكربت للحصول على شهاده لها كلها
    1 نقطة
  13. الخطأ بسيط جداً لذا دعني أشرح لك حلقه الfor حتي يتسني لك فهما وتفادي أي أخطاء بها في المستقبل: # الsyntax الصحيح لحلقه الfor هو كالتالي: for (initialization; condition;iteration) { /* code will execute */ } initialization متغير يتم تهيئتة بقيمة محددة قبل أن يتم التكرار. condition هو الشرط إذا تحقق سوف يتم تنفيذ الأوامر البرمجية المحجوزة بداخل for loop. iteration هو اضافة عملية النقصان أو الزيادة علي المتغير الذي قمنا بتهيئته عند بداية for. # في الكود الذي كتبته يظهر أنك لم تقم بإتباع الsyntax الصحيح كما يبنغي حتي أنك ستلاحظ أن الvs code يُظهر خطأ في أخر القوس وبالتالي دعني أشرح لك الكود الخاص بك ومقارنته بالsyntax الصحيح. for (let current = 20; current = current + 1) { if (current % 7 == 0) { console.log(current); break; } } أولا: قمت بوضع الinitialization وهو (let current = 22) وبالتالي الخطوة الأولي صحيحه. ثانيا: خطوة ال condition وأنت لا تريد أن تضع الcondition في هذه الحاله وبالتالي ستقوم بترك مكانه فارغاً ووضع ال(;) حتي لا تخالف الsyntax الصحيح, عدم وجود الcondition سيؤدي ال حلقه تكرار لانهائيه وبالتالي نستخدم break للخروج من الحلقه عند تحقيق الشرط كما فعلت. ثالثا: قمت بوضع الiteration وهو (current = current + 1) وبالتالي الخطوة الثالثه صحيحه. وبالتالي الكود الصحيح سيكون كالتالي: for (let current = 20; ;current = current + 1) { if (current % 7 == 0) { console.log(current); break; } } يمكنك أيضاً الإطلاع علي الحلقات التكراريه في موسوعه حسوب لفهم هذا الموضوع بصورة عميقه:https://wiki.hsoub.com/JavaScript#.D8.AD.D9.84.D9.82.D8.A7.D8.AA_.D8.A7.D9.84.D8.AA.D9.83.D8.B1.D8.A7.D8.B1 بالتوفيق.
    1 نقطة
  14. كما تعلم فإن الحلقة التكرارية for تتكون من 3 أجزاء رئيسية، أول جزء يُسمى التمهيد و هو يُنفذ مرة واحدة فقط يتم من خلاله تمهيد متغيرات أو غيره، الجزء الثاني هو شرط إنتهاء الحلقة ويتم إختبار الشرط قبل تنفيذ ما بداخل الحلقة و يتم هذا الأمر بإستمرار مع كل تكرار، آخر جزء يتم تنفيذه بعد إنتهاء تنفيذ جسم الحلقة لكل تكرار ونقوم فيه بالغالب بزيادة العداد أو التغيير في قيمة المتغيرات التي تمت تهيأتها في أول جزء. يُمكننا التخلي عن أي جزء من هذه الأجزاء و كتابته قبل أو بداخل الحلقة، لكن يجب المحافظة على هيكلية الحلقة نفسها، يعني لو تخليت عن جزء تعريف الشرط في كتابة الحلقة نفسها ونقلته إلى الجسم كما هو الحال لديك يجب المحافظة على الفواصل المنقوطة كما هي بالشكل التالي: for (let current = 22; ; current+= 1) { if (current % 7 === 0) { console.log(current) break; } } أقصد هذا الجزء: for (let current = 22; ; current+= 1) ^^^ ما قبل الفاصلة المنقوطة الأولى يُمثل الجزء الأول من الحلقة وما بعدها إلى غاية الفاصلة المنقوطة الثانية يُمثل الجزء الثاني ثم يأتي الجزء الثالث والأخير. يُمكنك التخلي عن كل ذلك لكن يجب ترك الفواصل و هذا نفس المثال السابق: let current = 22 for (;;) { if (current % 7 === 0) { console.log(current) break; } current+= 1; } تم نقل جزء التمهيد إلى قبل الحلقة، التعليمة break ستُوقف الحلقة إذا تحقق الشرط، جزء زيادة العداد تم نقله إلى داخل الحلقة ليتم تنفيذه في آخر كل تكرار
    1 نقطة
  15. يوجد خطأ في الهيكلية الخاصة بك فى بناء الحلقة for حيث أن لبناء for كالأتى: for (initialization; condition; increment/decrement) { // الكود الذي سيتم تنفيذه في كل تكرار } تتكون من ثلاث أجزاء:- الجزء الأول : تهيئة المتغير (initialization) الجزء الثانى : شرط التكرار (condition) الجزء الثالث : زيادة أو نقصان المتغير (increment/decrement) فى المثال الذى أرفقته for (let current = 20 ; current = current + 1) { ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ if (current % 7 == 0) { console.log(current); break; } } الهيكل الخاص بالحلقة يتكون من جزأين فقط. لاحظ أنه إذا لم يتم توفير شرط التكرار (condition)، يجب تركه فارغًا بإضافة فاصلة منقوطة (;) ليتم المحافظة عى هيكل الحلقة نفسه. for( ; ; ){} إذا نقوم بإضافة الجزء الثاني عن طريق إضافة (;) هذا الشرط سيكون فارغا سيؤدى ذلك إلى حلقة لا نهائية ولكننا استخدمنا break لإيقاف الحلقة والخروج منها إذا قم بتعديل الكود الخاص بك ليصبح كالأتي for (let current = 20; ; current = current + 1) { if (current % 7 == 0) { console.log(current); break; } } بالتوفيق...
    1 نقطة
  16. انا اقصد... لا اريد ارسال معلومات أكثر من مرة... يعني المتقدم يستطيع ارسال العديد من المعلومات لكن غير مكرره... كيف يتم ذلك
    1 نقطة
  17. من فترة وانا استغل نفس الثغرة لجعله يعطيني روابط لمختلف المواقع, يبدو ان الذكاء الاصطناعي قد لا يتبع جميع التعليمات بحذافيريها هناك ثغرات اخرى ايضا تتعدى قاعدته بعدم التعدي على حقوق الطبع والنشر شاركوني ارائكم فالامر مضحك لكنه مخيف
    1 نقطة
  18. يمكنك بطرف الخادم مباشرة تجميع وتنسيق البيانات بالشكل الذي تحتاجه الواجهة لديك، ابدأ بالاستعلام عن البيانات من الجدول كما تفعل حاليًا: $getDATA = $conn->query("SELECT langName, langVar, translation FROM lang "); وخزن القيم من ذلك الاستعلام ضمن مصفوفة مفاتيحها هي قيمة langVar وقيمها هي مصفوفة الترجمات المتوفرة للمصطلح كالتالي: $byLangVar = []; foreach($getDATA as $data) { $byLangVar[$data['langVar']][] = $data; } ستحصل على بنية بيانات مشابهة لما يلي: [ 'ad_cmrcaldsc' => [ ['langVar' => 'ad_cmrcaldsc', 'langName' => 'EN', 'translation' => '..'], ['langVar' => 'ad_cmrcaldsc', 'langName' => 'AR', 'translation' => '..'] ], .. ] يمكنك الآن المرور على هذه المصفوفة بدلًا من بيانات الاستعلام السابقة، ولكل مفتاح تطبع سطرًا واحدًا يعبر عن الترجمات المتعددة لهذا المتغير كالتالي: foreach($byLangVar as $langVar => $translations): ?> <tr> <td><?php echo $langVar ?></td> <?php foreach($translations as $translation): ?> <td><?php echo $translation['translation'] ?></td> <td><?php echo $translation['translation'] ?></td> <?php endforeach ?> </tr> <?php endforeach ?>
    1 نقطة
×
×
  • أضف...