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

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

  1. Ibrahim Almahdy

    Ibrahim Almahdy

    الأعضاء


    • نقاط

      2

    • المساهمات

      297


  2. محمد عاطف25

    محمد عاطف25

    الأعضاء


    • نقاط

      2

    • المساهمات

      9841


  3. Zen Eddin Allaham

    Zen Eddin Allaham

    الأعضاء


    • نقاط

      1

    • المساهمات

      960


  4. Tawfeq Al Ostaz

    Tawfeq Al Ostaz

    الأعضاء


    • نقاط

      1

    • المساهمات

      4


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

المحتوى الأعلى تقييمًا في 01/19/26 في كل الموقع

  1. أرى ان مسار Rract.js ضعيف جدا يجب تحديثه او تغير المدرب فالشرح غير موفق
    2 نقاط
  2. السلام عليكم استفسار بخصوص حفظ فاتورة في حالة يعمل علي نظام أكثر من شخص بحيث يتم اصدار فاتورة أكثر من شخص في وقت واحد اعتماد رصيد صنف علي حركة صنف وليس تحديث مخزن بعد كل عملية بيع او تعديل فاتورة او فاتورة ترجيع هل كود صحيح بالنسبة للنظام يعمل عليه اكثر من شخص if (comboBox1.SelectedIndex == -1) { MessageBox.Show("الرجاء إدخال اسم زبون", "تنبيه", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } if (dataGridView4.Rows.Count == 0) { MessageBox.Show("الرجاء إدخال أصناف في الفاتورة", "تنبيه", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } string sql = ""; SqlDataAdapter adp; DataTable dt; SqlCommand sqlcmd; SqlCommandBuilder commandBuilder; if (Class1.sqlCon.State != ConnectionState.Open) { Class1.sqlCon.Open(); } SqlTransaction trans = Class1.sqlCon.BeginTransaction(); try { sql = "select *from Invoices "; sqlcmd = new SqlCommand(sql, Class1.sqlCon); sqlcmd.Transaction = trans; adp = new SqlDataAdapter(sqlcmd); dt = new DataTable(); adp.Fill(dt); DataRow dr = dt.NewRow(); dr["invoice_number"] = textBox1.Text; dr["invoice_date"] = dateTimePicker1.Value; dr["customer_name"] = comboBox1.Text; decimal total = 0; for (int i = 0; i <= dataGridView4.Rows.Count - 1; i++) { total += Convert.ToDecimal(dataGridView4.Rows[i].Cells[3].Value); } textBox2.Text = total.ToString("N2"); label9.Text = Class1.NumberToWords(Convert.ToDouble(textBox2.Text), "دينار ", "درهم"); dr["total_amount"] = textBox2.Text; dr["total_ar"] = label9.Text; dt.Rows.Add(dr); commandBuilder = new SqlCommandBuilder(adp); adp.Update(dt); //حركة زبون string des = " مبيعات "; Class1.OPER_CUSTOMERS(textBox1.Text, DateTime.Today, des, total, 0, comboBox1.Text, trans, label10.Text); /////حفظ تفاصيل فاتورة المبيعات sql = "select *from InvoiceDetails "; sqlcmd = new SqlCommand(sql, Class1.sqlCon); sqlcmd.Transaction = trans; adp = new SqlDataAdapter(sqlcmd); dt = new DataTable(); adp.Fill(dt); for (int i = 0; i <= dataGridView4.Rows.Count - 1; i++) { dr = dt.NewRow(); dr["invoice_number"] = textBox1.Text; dr["item_name"] = dataGridView4.Rows[i].Cells[0].Value; dr["item_id"] = dataGridView4.Rows[i].Cells[5].Value; // نفترض أن العمود السادس يحتوي على item_id dr["inv_date"] = dateTimePicker1.Value; dr["quantity"] = dataGridView4.Rows[i].Cells[1].Value; dr["unit_price"] = dataGridView4.Rows[i].Cells[2].Value; dr["total_price"] = textBox2.Text; dr["store_number"] = dataGridView4.Rows[i].Cells[4].Value; dt.Rows.Add(dr); commandBuilder = new SqlCommandBuilder(adp); adp.Update(dt); } for (int i = 0; i <= dataGridView4.Rows.Count - 1; i++) { int item_id = Convert.ToInt32(dataGridView4.Rows[i].Cells[5].Value); int quantitySold = Convert.ToInt32(dataGridView4.Rows[i].Cells[1].Value); DateTime movementDate = dateTimePicker1.Value; string dayName = movementDate.ToString("dddd", new CultureInfo("ar-LY")); // اسم اليوم بالعربية string invoiceNumber = textBox1.Text; string updateInventorySql = "UPDATE inventory SET quantity = quantity - @qty WHERE item_id = @item_id"; SqlCommand updateCmd = new SqlCommand(updateInventorySql, Class1.sqlCon, trans); updateCmd.Parameters.Add("@qty", quantitySold).Value = quantitySold; updateCmd.Parameters.Add("@item_id", item_id).Value = item_id; updateCmd.ExecuteNonQuery(); /// تسجيل حركة صنف يوميه string type = "مبيعات"; string insertMovementSql = @"INSERT INTO ItemDailyMovement (item_id, movement_date, day_name, quantity_sold, invoice_number,item_name,name_cus,type,invotry_num) VALUES (@item_id, @date, @day, @qty, @inv,@item_name,@name_cus,@type,@invotry_num)"; SqlCommand movementCmd = new SqlCommand(insertMovementSql, Class1.sqlCon, trans); movementCmd.Parameters.Add("@item_id", item_id).Value = item_id; movementCmd.Parameters.Add("@date", movementDate).Value = movementDate; movementCmd.Parameters.Add("@day", dayName).Value = dayName; movementCmd.Parameters.Add("@qty", quantitySold).Value = quantitySold; movementCmd.Parameters.Add("@inv", invoiceNumber).Value = invoiceNumber; movementCmd.Parameters.Add("@item_name", dataGridView4.Rows[i].Cells[0].Value.ToString()).Value = dataGridView4.Rows[i].Cells[0].Value.ToString(); movementCmd.Parameters.Add("@name_cus", comboBox1.Text).Value = comboBox1.Text; movementCmd.Parameters.Add("@type", type).Value = type; movementCmd.Parameters.Add("@invotry_num", dataGridView4.Rows[i].Cells[4].Value.ToString()).Value = dataGridView4.Rows[i].Cells[4].Value.ToString(); movementCmd.ExecuteNonQuery(); } trans.Commit(); MessageBox.Show("تم حفظ الفاتورة وتحديث كمية مخزن بنجاح", "تاكيد", MessageBoxButtons.OK, MessageBoxIcon.Information); fill_dgv3(); fill_dgv2_inv(); dataGridView4.Rows.Clear(); comboBox1.SelectedIndex = -1; textBox2.Clear(); textBox1.Text = "" + (Class1.CODE_GENE("Invoices", "invoice_id") + 1).ToString(""); label9.Text = ""; } catch (Exception ex) { trans.Rollback(); MessageBox.Show("فشل الاتصال بقاعدة البيانات: " + ex.Message, "خطأ", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
    1 نقطة
  3. انا اشتركت في البكج تبع اول السنة عشان هيك اخدت دورة الذكاء الأصطناعي ودورة تطوير التطبيقات بأستخدام الجافا سكربت لكن لو في دورة افضل ممكن اخدها مع دورة الذكاء الأصطناعي تكون افضل كمهارة اضافية للذكاء الأصطناعي ياريت تدلوني
    1 نقطة
  4. ماهي المشاريع Full Stack الاصعب من تطبيق Social Media Platform
    1 نقطة
  5. البعض يُفضل كتابة مُلخصات لكل شيء، لكن لا أنصحك بذلك، اكتفي فقط بكتابة ملاحظات ومُلخصات ورسومات للأمور النظرية أو معلومة معينة تريد الإحتفاظ بها للعودة إليها للمراجعة. بينما البرمجة نفسها اكتفي بالتطبيق العملي فهو الأهم وبدونه فلا معنى للمُلخصات النظرية مهما كتبت، ببساطة لن تستطيع قيادة سيارة بمشاهدة فيديو صحيح؟ وليس المطلوب منك أن تعلم كل شيء عن كل شيء، وجميع من في مجال البرمجة لا يحفظ كل شيء عن ظهر قلب، بمعنى مثلاً تعلمت دالة معينة تقوم بوظيفة معينة في اللغة البرمجية أو إطار العمل، فكل ما تحتاجه هو معرفة المعاملات الأساسية التي تجعل الدالة تعمل، ومعاملين أو ثلاثة للتحسين، وباقي المعاملات وُضعت لحالات نادرة أو متقدمة، ولن تحتاجها إلا مرة كل سنة، وحينها ستبحث عنها. لذا في البداية المطلوب فهم الفكرة العامة أي ماذا تفعل الدالة؟ وماذا تحتاج لتعمل؟ كذلك لست مضطر للتوجه لصفحات الإنترنت في كل مرة، فالبيئة التي تعمل بها مثل vscode توفر لك تكملة تلقائية، عند كتابة اسم الدالة ضع مؤشر الماوس داخل القوسين واضغط على زر CTRL + Space في لوحة المفاتيح وستظهر لك نافذة صغيرة فيها كل المعاملات المتاحة.
    1 نقطة
  6. أولاً لا أحد يحفظ كل المصطلحات. المهم أن تفهم كيف تعمل الأشياء. ولا يوجد مبرمج يكتب الكود كاملاً حفظاً بنسبة 100%. بل نحفظ ال syntax والمنطق (Logic)، ونستفيد من الوثائق الرسمية (Documentation) البحث لإيجاد حلول لمشاكل واجهت غيرنا. أي المبرمج يعرف ما الذي يبحث عنه ويعرف كيف يعدل الكود. ثانياً لماذا التوجه للـ Assembly والأنظمة المدمجة فأنت تفكر في تعلم Assembly لأنك تريد التعمق أكثر، لكنك لم تستخدم Rust أو C++ التي تعلمتها بالفعل أي يجب عليك تحديد المجال الذي تريد تعلمه للعمل به لتصبح محترفاً في هذا المجال .
    1 نقطة
  7. ما تقوم به ليس جيدا بالمرة فكل ذلك التعلم وتلك التقنيات لن تفيدك فكل هذا يندرج تحت مجالات وظيفية مختلفة ولهذا لن تستطيع أن تكون خبيرا في مجال واحد وهكذا لن تحصل على وظيفة جيدة . ولاحظ أن التعلم الفعال في البرمجة لا يعتمد على حفظ كل المصطلحات بالتفصيل بل على فهم المفاهيم العامة والقدرة على تطبيقها وإليك السبب: التركيز على المفاهيم: البرمجة مثل بناء منزل تحتاج إلى فهم لماذا مثل كيفية عمل الذاكرة في C++ أو نظام الملكية في Rust لتجنب الأخطاء وليس مجرد حفظ الأسماء فعلى سبيل المثال، في Rust مفهوم ال "ownership" يمنع مشاكل الذاكرة وفهم هذا يساعدك في لغات أخرى مثل C++ دون حفظ كل كلمة مفتاحية. الحفظ غير ضروري: المصطلحات تأتي مع الوقت عبر التكرار والتطبيق و لو حاولت حفظ كل شيء مثل جميع الدوال في OpenCV أو ال APIs في FastAPI) ستشعر بالإرهاق والملل والتشتت ولا يوجد شخص يحفظ كل هذا. وبدلا من ذلك تعلم كيف تبحث عنها عند الحاجة مثل في الوثائق الرسمية أو Stack Overflow أو على جوجل. الاستثناءات: في بعض المجالات مثل الأنظمة المدمجة أو البرمجة المنخفضة المستوى (low-level)، قد تحتاج إلى حفظ بعض المصطلحات الأساسية مثل registers في Assembly ولكن حتى هناك الأمر يدور بشكل أساسي حول الفهم العملي لا الحفظ . وأيضا كما وضحت لك أن معظم المبرمجين بما فيهم المحترفينؤلا يكتبون الكود من الذاكرة بل يستعينون دائماً بالمراجع والنسخ واللصق والأدوات وإليك كيف يعمل الأمر في الواقع: الذاكرة للأساسيات فقط فنحفظ المفاهيم الأساسية مثل كيفية كتابة loop في JavaScript أو class ولكن للتفاصيل الدقيقة نستخدم: الوثائق الرسيمة. النسخ واللصق حتى المطورين المحترفين ينسخون الأكواد من GitHub أو Stack Overflow ثم يعدلونه ليتناسب مع احتياجاتهم . أدوات المساعدة مثل ال IDEs ك VS Code تساعد بال auto-complete. وأخيرا التعلم النظري فقط دون التطبيق لن يفيدك بشئ بل يجب عليك تطبيق ما تعلمته وذلك لتثبيت المعلومات لديك وأيضا لتتأكد من فهمك للأمور فعند التطبيق حينها ستعرف هل قمت بفهم كل شئ بشكل جيد أم لا وأيضا ستعرف الأجزاء التي لديك قصور بها وأيضا ستعطيك الخبرة العملية وستفهم أكثر عند التطبيق ورؤية كل شئ يعمل أمامك.
    1 نقطة
  8. إن المسار الأول الخاص بسكراتش يستهدف بصفه أساسيه من لا يوجد لديه أي أساس برمجي ولم يتعامل مع البرمجه من قبل فهو عباره عن لغة برمجة مرئية صُممت أساسا لأغراض تعليمية و نظرًا لسهولة المبادئ التي تعمل وفقها سكراتش فهي ممتازه جدا لمن لم يكن لديه أي معرفه مسبقه بالبرمجه. وإذا كنت تعرفه مسبقا وتعرف المفاهيم البرمجيه الأساسيه مثل الدوال والحلقات تكرار والجمل شرطيه والمتغيرات والعوامل وغيرها من الأساسيات فيمكنك تخطي هذا المسار ولكن أنصحك بمتابعه المسار سريعا لربما تحصل علي معلومات جديده أو يكون هذا المسار كمراجعه لك علي بعض الأساسيات حتي تكون جاهز للمسار الذي يليه. ولكن إذا لم تكن تعرف المفاهيم البرمجية الأساسية فلا ينبغي أن تتخطاه .
    1 نقطة
  9. أولًا: كيف تنشئ محتوى تفريغ صوتي (Transcription) 1. تجهيز الملفات الصوتية ابدأ بجمع المقاطع التي تريد تفريغها: تسجيلات محاضرات لقاءات بودكاست مقابلات احرص أن تكون جودة الصوت جيدة. 2. الاستماع وتجزئة المحتوى لا تستمع للمقطع كاملًا دفعة واحدة. قسّم العمل إلى: مقطع 1 دقيقة ثم دوّن كل ما تسمعه انتقل للمقطع التالي التجزئة تمنع التعب وتزيد الدقة. 3. كتابة النص بطريقة صحيحة أثناء الكتابة: استخدم علامات الترقيم صحح الأخطاء اللغوية احذف التكرار حافظ على المعنى الأصلي بعض العملاء يريدون تفريغ حرفي، والآخرون يريدون تفريغ منسق، فاسألهم قبل العمل. 4. مراجعة النص بعد الانتهاء: أعد تشغيل الصوت قارن النص مع المقطع صحح الكلمات غير الواضحة هذه الخطوة تضاعف جودة العمل. 5. تسليم الملف سلّمه بصيغة: Word PDF Google Docs ثانيًا: كيف تكتب مقالات بشكل احترافي؟ 1. اختيار الموضوع اختر موضوعًا تعرفه جيدًا أو تملك مصادر قوية عنه. بعض الأفكار: تقنية تعليم ريادة أعمال صحة ولياقة تطوير ذات 2. البحث استخدم مصادر موثوقة: مقالات علمية كتب مواقع عالمية لا تعتمد على مصدر واحد فقط. 3. كتابة الهيكل (Outline) قبل كتابة المقال، حضّر شكلًا بسيطًا: مقدمة شرح الفكرة الرئيسية نقاط مرتبة أو أقسام أمثلة خاتمة الهيكل يجعل كتابة المقال أسرع بـ 50%. 4. كتابة المقال احرص على: جمل قصيرة لغة واضحة فقرات غير طويلة أمثلة عملية تنسيق جيد ولا تنس: وضع كلمات مفتاحية في العناوين (SEO) إذا كان المقال لموقع. 5. مراجعة المقال اقرأه مرة ثانية: هل الجمل مفهومة؟ هل هناك تكرار؟ هل الفكرة مترابطة؟ هل توجد أخطاء لغوية؟ هذه المراجعة ترفع جودة المقال لمستوى احترافي. ثالثًا: التدوين (Blogging) إذا أردت التدوين على الإنترنت: لديك طريقتان: 1. منصّات جاهزة مثل: WordPress Blogger Medium منصة حسوب I/O هذه الأسهل للمبتدئين. 2. موقع شخصي إنشاء مدونة شخصية باستخدام: WordPress أو HTML + CSS + JS أو نظام مثل Ghost افعل ذلك عندما يصبح لديك خبرة كافية. كيف تبدأ عمليًا خلال يوم واحد؟ اليوم الأول: اختر مجالًا: كتابة – تفريغ صوتي – تدوين اكتب نموذجًا من 300 كلمة فرّغ مقطعًا قصيرًا مدته دقيقة أنشئ حسابًا على: مستقل خمسات أو مواقع التدوين وبهذا تكون قد بدأت فعليًا.
    1 نقطة
×
×
  • أضف...