• الإعلانات

    • فيصل الحربي

      تسجيل عضوية جديدة في المنتدى   01/31/2016

      السلام عليكم ورحمة الله وبركاته  عزيزي العضو الجديد :  حاليا رسالة الإيميل لتأكيد صحة إيميلكم تذهب للبريد العشوائي ( جاري حل المشكلة )  فإذا لم تجد رسالة التحقق من إيميلكم في صندوق الوارد لديكم إتجه للبريد العشوائي ( JUNK)  وقم بتفعيل إشتراككم من هناك   

najy_zl

المشرفين القدامى
  • عدد المشاركات

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

  • تاريخ اخر زياره

السمعه بالموقع

122 جيد جدا

عن najy_zl

  • الرتبة
    خبير دلفي و مشرف سابق
  • تاريخ الميلاد 06/01/1964

طرق الإتصال

  • ICQ 0

معلومات الملف الشخصي

  • الجنس ذكر

أحدث الزائرين لملفلك الشخصي

12,776 زياره للملف الشخصي
  1. السلام عليكم...   بالإضافة إلى ما تقدم به الأخ محمد، هذه بعض النقاط التي ربما تساعدك، و أنا شخصياً أعمل بها:   1. لا تعمل على تحميل جداول بأكملها في الذاكرة. دائماً استعمل Query مع جملة SELECT للوصول فقط إلى السجلات التي تلزم المستخدم. الأمر ينطبق أيضاً على الحقول (Fields). 2. رأيت عند معظم المبتدئين أنهم يقوقمون بفتح الجدول بأكمله (ما يعني تحميل كامل الجدول في الذاكرة) لمجرد إضافة أو تعديل أو حذف سجل واحد أو سجلات قليلة (باستعمال AddNew مثلاً). و هذا بالطبع خطأ. استعمال الـ Commands لعمليات الإضافة و التعديل و الحذف دون الحاجة إلى فتح الجدول أصلاً. 3. أغلق أية مجموعة سجلات (RecordSet) لم تعد محتاجاً إليها، و خاصةً إذا كانت كبيرة الحجم. 4. واحد من الأخطاء الكبيرة هو استعمال الحلقات لأداء عملية معينة على مجموعة من السجلات!!! الحلقات سيئة جداً في هذه الناحية. بدلاً من ذلك استعمل Command مع تمرير شروط معينة للتعديل أو الحذف... إلخ.   نرجو الاستفادة و السلام.
  2. بخصوص تحديث قاعدة معطيات

    السلام عليكم...   بالطبع سيكون استعمال حلقة بهذا الشكل غير عملي و مرهق و بطيء جداً - تصور لو كانت السجلات بمئات الألوف أو الملايين!!!   كما قال أخونا محمد: استخدم استعلاماً (Query) لتنفيذ جملة SQL التالية: UPDATE table_name SET cle = (N_COMPT / 10000000) * 11حيث table_name هو اسم الجدول في قاعدة البيانات.   نرجو الاستفادة و السلام.
  3. سؤال فى الINPUTBOX

    السلام عليكم...   الدالة InputBox دائماً تعيد String. إذا ضغط المستخدم على الزر OK فإنها تعيد ما هو مكتوب في مربع النص الخاص بها، و إذا ضغط على الزر Cancel فإنها تعيد نصاً فارغاً (Empty string): S = InputBox("أدخل العدد اللثاني")If S = "" Then ' تم الإلغاءElse ' كود الجمعEnd Ifنرجو الاستفادة و السلام.
  4. السلام عليكم...   الرسالة واضحة: المكون لا يدعم اللون الشفاف كلون خلفية. و هذا من أصل تصميم المكون (TextBox في هذه الحالة). لأنه في الواقع اللون الشفاف ليس لوناً فعلاً و إنما هو طريقة لرسم المكون بحيث يظهر ما خلفه عبره.   إذا أردته أن يبدو كأنه شفاف فاستعمل اقتراح الأخ c#_programmer أي بجعل لون خلفية المكون كلون النافذة.   سلام.
  5. السلام عليكم...   أعرف ما تقصد، و هذا ما وجهتك إليه. للتوضيح أكثر اكتب لنا الكود المستعمل للاتصال بجدول الأصناف  و كيفية عرض أرقام الأصناف في مربع التحريرو السرد، و سأقوم - أنا أو أحد الإخوة -  إن شاء الله بالتعديل عليه.   سلام.
  6. السلام عليكم...   استعمل جملة SELECT مع تحديد رقم المخزن. مثلاً إذا افترضنا أن أرقام المخازن موجودة في ComboBox اسمه Combo1:   Dim SQL As StringSQL = "SELECT * FROM table_name WHERE (store_id = " & Combo1.Text & ")"حيث table_name اسم جدول الأصناف، و store_id اسم الحقل المميز للمخزن في جدول الأصناف.   * استعمل مثل هذه الجملة للخاصية RecordSource للمكون Data Control أو ADO Data Control أو عند فتح Recordset بالكود.   * نرجو كتابة عنوان يدل على موضوع المشاركة.     نرجو الاستفادة و السلام.
  7. السلام عليكم...   هذه إحدى الطرق:   أولاً: اضبط الخاصية Tag لكل مربعات النص التي ستحسبها (التي تحتوي على رموز الحضور و الغياب) على نص مشترك. الكود التالي يفترض أن الخاصية Tag لتلك المربعات مضبوطة على كلمة STATUS .   الكود لا يعتمد على عدد و لا ترتيب مربعات النص، أي يمكنك وضع أي عدد منها و بأي ترتيب. المهم أن تضبط الخاصية Tag لها على نفس النص و تختبر وجود ذلك النص نفسه في الكود: Private Sub Command1_Click() Dim Ctrl As Control Dim Presence As Long ' الحضور - ح Dim Leaves As Long ' الإجازة - ج Dim Absence As Long ' الغياب - غ Dim Permission As Long ' الغياب بإذن - ذ Presence = 0 Leaves = 0 Absence = 0 Permission = 0 For Each Ctrl In Me.Controls If TypeOf Ctrl Is TextBox Then If Ctrl.Tag = "STATUS" Then Select Case Ctrl.Text Case "ح" Presence = Presence + 1 Case "ج" Leaves = Leaves + 1 Case "غ" Absence = Absence + 1 Case "ذ" Permission = Permission + 1 End Select End If End If Next Text10.Text = CStr(Presence) Text11.Text = CStr(Leaves) Text12.Text = CStr(Absence) Text13.Text = CStr(Permission)End Subنرجو الاستفادة و السلام.  
  8. السلام عليكم...   اسم الملف المطلوب هو vbame.dll   هل المشكلة على الجهاز الذي تبرمج عليه و فيه VB6 أم عند نقل البرنامج إلى جهاز آخر ليس عليه VB6 ؟   سلام.
  9. السلام عليكم...   السؤال قد يحتاج إلى توضيح أكثر من ناحية تركيب الجدول و بيان الحقول. و لكن على أية حال ستكون جملة SQL قريبة من التالي: UPDATE table_name SET reserve_field_name = True WHERE (id_field_name = selected_row_id)حيث:   table_name: اسم الجدول. reserve_field_name: اسم الحقل الذي يدل على أن القاعة محجوزة (True) أو لا (False). الحقل من النوع "نعم/لا" (Yes/No). id_field_name: اسم حقل رقم تعريف القاعة. غالباً يكون هذا مفتاحاً أساسياً، و القيم فيه لا تتكرر (لكل قاعة رقم تعريف فريد). selected_row_id: القيمة المأخوذة من الحقل id_field_name في السجل الحالي (الذي يمثل القاعة الحالية الجاري حجزها).   * بالطبع ستضعين بدل هذه الأسماء الأسماء الفعلية التي لديك.   نرجو الاستفادة و السلام.
  10. السلام عليكم...   يمكنك أيضاً إلغاء المفتاح ضمن الحدث OnKeyPress نفسه دون استعمال دوال API: if Key = #13 then begin Key := #0; Edit2.SetFocus; end;نرجو الاستفادة و السلام.
  11. السلام عليكم...   تم تقديم الحل هنا.   نرجو الاستفادة و السلام.
  12. السلام عليكم...   لم أجد بمشروعك ما ذكرته لك. لكنني استطعت إرفاق المثال من عندي.   Scrolling Window.rar   أرجو أن يكون فيه فائدة. و السلام.  
  13. السلام عليكم...   ربما لم تقم بضبط الخصائص المطلوبة أو أخطأت في الكود. (كنت أحاول إرفاق مشروع بسيط بنفس ما ذكرته لك لكن التحميل لم يعمل). أرجو أن تتأكد من الكود.   لاحظ وجود إشارة السالب في هذا السطر: pbxContainerPage.Top = Me.ScaleY(-vsbPageScroller.Value, vbPixels, Me.ScaleMode)أرجو الاستفادة و السلام.
  14. السلام عليكم...   أعتقد أنه يمكن ذلك باستعمال دوال API لإضافة أشرطة التدرج (ScrollBars) للـ Form مباشرة. لكنني شخصياً أفضل طريقة أسهل:   1. ضع على الـ Form مكون VScrollBar. لا يهم مكانه و لا حجمه لأنه سيضبط بالكود. 2. اضبط الخصائص التالية للـ ScrollBar: أ. الخاصية Name على vsbPageScroller (هذا الاسم اختياري، المهم أن تستعمل نفس الاسم في الكود فيما بعد). ب. الخاصية SmallChange على 8. ج. الخاصية LargeChange على 24. د. الخاصية TabStop على False.   3. ضع على الـ Form مكون PictureBox اضبط عرضه و ارتفاعه على ما يناسب عدد م حجم المكونات الأخرى التي تريد إظهارها في النافذة (ستضع كافة المكونات الأخرى بداخله). 4. اضبط الخصائص التالية للـ PictureBox: أ. الخاصية Name على pbxContainerPage (اختياري كما في الملاحظة السابقة). ب. الخاصية BorderStyle على 0-None. ج. الخاصية BackColor على نفس قيمة الخاصية BackColor للـ Form (هي كذلك بشكل افتراضي).   * لا يهم مكانه، و لكن المهم أن يكون حجمه كافياً لاحتواء كل المكونات.   5. ضع جميع المكونات الأخرى داخل الـ PictureBox، ما عدا الـ ScrollBar الذي وضعناه في البداية (يكون خارج الـ PictureBox).   6. اكتب الكود التالي في إجراء الحدث Resize للـ Form: Private Sub Form_Resize() On Error Resume Next vsbPageScroller.Move 0, 0, vsbPageScroller.Width, Me.ScaleHeight pbxContainerPage.Move vsbPageScroller.Width, 0, Me.ScaleWidth - vsbPageScroller.Width vsbPageScroller.Value = 0 If pbxContainerPage.Height > Me.ScaleHeight Then vsbPageScroller.Enabled = True vsbPageScroller.Max = Me.ScaleY(pbxContainerPage.Height - Me.ScaleHeight, Me.ScaleMode, vbPixels) Else vsbPageScroller.Enabled = False End IfEnd Sub7. اكتب الكود التالي في إجرائي الحدثين Change و Scroll للـ ScrollBar: Private Sub vsbPageScroller_Change() pbxContainerPage.Top = Me.ScaleY(-vsbPageScroller.Value, vbPixels, Me.ScaleMode)End SubPrivate Sub vsbPageScroller_Scroll() pbxContainerPage.Top = Me.ScaleY(-vsbPageScroller.Value, vbPixels, Me.ScaleMode)End Sub8. نرجو الاستفادة و السلام.
  15. السلام عليكم...   الأمر يبدو غامضاً ! فالبرنامج كأنه يعمل بمزاجية. ربما يتوقف و ربما لا.   حسب ما أظن ربما  هناك احتمالان:   الأول أن للأمر علاقة بـ Windows - خاصة بعد التحديث - و يكون الحل - على الأقل مؤقتاً - منع Windows من التحديث إلى حين معرفة المشكلة، أو ربما تقومين بتحديث Windows على جهازك ثم إعادة إنشاء الملف التنفيذي (EXE) على النسخة المحدثة من Windows.   الثاني أن هناك سطر أو أكثر في الكود فيه مشكلة و لا يتم تنفيذه دائماً - ربما حسب شرط ما - و قد حدث ذلك عند أحد العملاء و لم يحدث عند غيره.   * على أية حال من الصعب تشخيص المشكلة غيابياً... و حسب ما ذكرتِ فإن المشكلة تحدث سريعاً أي عند بدء تشغيل البرنامج بعد نافذة تسجيل الدخول، فإذا كان بالإمكان إرفاق الجزء المبدئي من البرنامج (النافذة الرئيسية و نافذة الدخول، و أي كود آخر يلزم لبدء تشغيل البرنامج - في Module مثلاً) فربما يكون الأمر أوضح و تسهل المساعدة.   و السلام عليكم.