اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

sandanet

الخبراء
  • Posts

    1,366
  • تاريخ الانضمام

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

  • Days Won

    19

كل منشورات العضو sandanet

  1. عزيزي واستاذي الفاضل ابا جودي لاتوجد لدي قاعدة بيانات محددة مسبقة فقد انشأت قاعدة جديدة كما اوضحت ذلك في بداية السؤال تحياتي
  2. بالنسبة لإعدادات المايكرو لدي كما في الصورة التالية .. اما بالنسبة لـ Digital Certificate for VBA فلا اعرف عنها شيئاً فما الحل إذن!! انا اعتقد ان المشكلة لدي في الأكتف إكس حيث ان الصورة التالية تظهر لي كلما حاولت اختيار Macromedia Flash Factory Object
  3. استاذي العزيز البرنامج عندي مفعل من يوم امس والان في هذه اللحظة البرنامج يخبرني بأنه بقي لدي 139 يوم على انتهاء التفعيل ... رقم النسخة هو 54321 سوف ادخله على برنامج التفعيل مجدداً.. الان اعطاني رقم التفعيل التالي 56804023 سوف ادخله على البرنامج الرئيسي ..تم التفعيل لمدة 140 يوم!! انظر الصورة .. هل افهم من ذلك هو انه طالما اعطي رقم تفعيل جديد للمستخدم فأن التفعيل القديم يلغى؟ اذا كان كذلك فلو فرضنا ان المستخدم اخبرني بأنه قام بتغيير نظام التشغيل في جهازه وانه يريد كود تفعيل جديد كيف لي ان اعرف انه لايقوم بخداعي وانه يحاول تفعيل البرنامج من جديد على جهازه؟ لماذا لايكون رقم التفعيل ثابت يعمل على جهاز واحد فقط حتى وان قام بتغيير نظام تشغيله؟ في موضوع سابق قمنا بطرح فكرة حماية البرنامج عن طريق سيريال قطع الجهاز والتي كانت لاتعتمد على نظام التشغيل ولا على الريجستري وان رقم التفعيل كان ثابت لايتغير لجهاز المستخدم وانه يمكن للمستخدم اعادة استخدامه على جهازه فقط ولايعمل مع جهاز آخر تلك الطريقة تجعل المستخدم لايخشى من فقدان رقم تفعيله فهو يمكنه كتابته حتى على ورقة خارجية او حفظه في اي مكان .. اعتقد انه لو تم استعمال تلك الطريقة مع اضافة فترة تجريبية للبرنامج سيكون اقوى بكثير ... مجرد اقتراح تحياتي
  4. مشكور اخي جمال بالفعل تم عمل المطلوب لكن تظهر لي الرسالة التالية قبل تشغيل الملف الفلاشي .. كيف يتم التخلص منها؟
  5. نعم اخي احمد سوف يستمر البرنامج بالعمل لان فكرة البرنامج هي في حال عطبت احدى قطع الجهاز فسيقوم برنامج الحماية بالتأكد من بقية القطع فلو وجد ان سيريلات 2 من القطع لم تتغير من اصل ثلاث 3 قطع فسوف يستمر البرنامج بالعمل باعتبار القطعة الثالثة معطوبة
  6. السلام عليكم ورحمة الله وبركاته اما بعد .. انشئت قاعدة بيانات فارغة وانشأت نموذج جديد ثم ذهبت الى قائمة "تصميم" ثم اخترت "عناصر تحكم ActiveX" فظهرت لي نافذة بها عناصر تحكم كثيرة واخترت منها "Macromedia Flash Factory Object"ونقرت موافق فظهرت لي الرسالة التالية:---------حدثت مشكلة اثناء الوصول الى خاصية او اسلوب خاص بأحد كائنات OLE جرب واحد او اكثر مما يلي: تأكد من ان خادم OLE مسجل بطريقه صحيحة بأن تقوم بإعادة تثبيته. تأكد من اتصل جهازك بالخادم الذي يوجد فيه تطبيق خادم OLE. قم باغلاق خادم OLE، ثم اعد تشغيله خارج Microsoft Acess حاول تنفيذ العملية الاصلية من داخل Microsoft Access مرة اخرى.---------- فما هو سبب ظهور هذه الرسالة؟؟ مع اني لا استعمل اي انتي فايروس على الجهاز .. ونظام تشغيلي ويندوز 10 64 بت واوفيس 2007 تحياتي
  7. استاذ محمد صالح انت قلت "البرنامج يعيد المدة الى ١٤٠ يوم مع استعمال كود تفعيل جديد" اعتقد ان هذا لم يحصل معي ومع اخي Aliko فانا استخدمت نفس كود التفعيل القديم واعطاني 140 يوم من جديد بعدما كان 139 يوم قبل استخدام كود التفعيل
  8. شكراً اخي الكريم بارك الله فيك
  9. اخي صالح رقم النسخة لايتغير عندي بمرور الوقت لذلك فإن رقم التفعيل سيستمر بتفعيل نفس النسخة من جديد وهذا ما حصل معي عندما كانت المدة المتبقية 139 فعند اخذ رقم التفعيل من جديد تم تفعيل البرنامج واعطائي 140 يوم ملاحظة اخرى .. اين يتم تطبيق هذا الكود؟؟ هل اطبقه تحت زر امر ام في مكان آخر؟؟
  10. اخي عزيز استخدم الأمر التالي Kill (EmpPIC.Value) ضعه قبل امر الحذف هذا DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70 DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70 واخبرني بالنتيجة
  11. اخي صالح ممكن توضح اكثر بخصوص كيفية تطبيق كود الغاء التفعيل لانه في المرة الاولى قمت بتفعيل البرنامج والان يعطيني مدة انتهاء التفعيل بعد 139 يوم ؟ الان اريد الغاء التفعيل والبدء من جديد كيف يتم عل ذلك ملاحظة اخرى وهي ان البرنامج مفعل عندي من يوم امس والان بقي 139 يوم لكن عندما قمت بتفعيله مرة اخرى اعطاني 140 يوم كيف ذلك؟ اليس من المفروض ان يرفض التفعيل مجدداً مادام البرنامج ساري المفعول؟؟
  12. @athal اخي ممكن ترفق نسخة تعمل على 2007 ولك جزيل الشكر
  13. اخي صالح اشكرك جزيل الشكر على هذا البرنامج ادعوا الله ان يوفقك وان يشفي لك والدك ويحفظكم جميعاً من كل سوء ...اخي صالح لدي سؤال بخصوص النقطة رقم 6 وهو لماذا لايتم عمل خانة لتحديد مدة الفترة التجريبية من خلال النموذج على ان تخزن تلك الفترة في الجدول بشكل مشفر لايمكن التلاعب فيه.. ثم لماذا تم قفل الوحدات النمطية؟ وكيف يمكنني الغاء تفعيل البرنامج يدوياً؟
  14. اخي الكريم الموضوع بكل بساطة هو حماية برنامجك من النسخ على جهاز آخر الحماية المتبعة في المثال هي الاولى من نوعها في الوطن العربي على حسب علمي المتواضع وفكرة المثال هي الاعتماد على قراءة الارقام التسلسلية لثلاثة قطع من جهاز الكومبيوتر ودمجها مع بعض وتوليد رقم لنسخة البرنامج حيث يظهر هذا الرقم للمستخدم عندما يحاول تشغيل البرنامج على جهاز آخر غير مصرح له بذلك سوف يضطر الى شراء رقم التفعيل منك .. طبعا لايهم اذا ما قام العميل بحفظ الكود في ورقة خارجية ام داخلية لان كود التفعيل حتى وان تسرب لأي شخص آخر فلن يعمل معه لان كود التفعيل ذلك خاص بالجهاز الذي تم ارسال رقمه التسلسلي لك طبعا فكرة الحماية جائت من الحماية القديمة المتبعة في اغلب البرامج والتي كانت تعتمد على قطعة واحدة فقط في الجهاز .. في الواقع ان قطعة واحدة فقط لاتكفي لعمل الحماية فاذا كانت الحماية معموله على رقم الهارد فيمكن للمستخدم نقل الهارد لجهاز آخر غير مصرح له بالعمل على البرنامج كما ان مشكلة الاعطال قد تسبب بفقدان البرنامج فلو عطل الهارد وكانت الحماية معمولة على رقم الهارد عندئذ سيضطر المستخدم الى طلب رقم تفعيل جديد وهنا تكمن المشكلة فلو كنت في مكان بعيد وراسلك المستخدم يطلب رقم تفعيل جديد بسبب عطل الهارد فانت لاتعرف مدى مصداقيته في ذلك .. لذلك وجب ايجاد حماية ثلاثية تقرأ مجموعة قطع مع بعضها وهنا توجد ميزة وهي حتى لو تلفت قطعة مثلاً تلف الهارد فعند شراء المستخدم لهارد جديد فسيعمل معه البرنامج مباشرة ولا يطالبه برقم تفعيل جديد لان البرنامج قام بالتأكد من بقية القطع ووجد انها مطابقة لهذا الجهاز اي بمعنى ان هذا الجهاز مصرح له بالعمل على البرنامج المقصود برقم النسخة هو الرقم الذي يظهر لدى المستخدم عندما يكون البرنامج غير مصرح له بالعمل على جهازه رقم نسخة يختلف من جهاز الى آخر كما ان رقم التفعيل الذي ترسله للمستخدم لايعمل الا على الجهاز الذي تم استخراج رقم النسخة منه المطلوب منك هو تبديل واجهة اسم المستخدم والرقم السري فهي افتراضية فقط وهي تأتي بعد نجاح تفعيل البرنامج .. انت قم بوضع واجهة برنامجك مكانها بالنسبة لنسخ البرنامج على حاسوب اخر فلا تقلق لايمكن تشغيل برنامجك على جهاز غير مصرح به تحياتي
  15. استاذي الكريم صالح تحية طيبة ورمضان كريم عليك ان شاء الله وبعد .. ممكن ترفق لنا نسخة تعمل على اوفيس 2007 لان التي ارفقتها سابقاً اظنها تعمل على اوفيس 2010 .. وارجو ان تكون النسخة مفتوحة اذا امكن كما لي اقتراح بسيط بالنسبة للعنوان .. اعتقد انك لو اضفت عبارة هدية رمضانية في بداية العنوان فستكون اكثر جاذبية للقارئ وحتى لاتكون هذه المشاركة المميزة حالها كحال بعض المشاركات التي يطلب فيها مجموعة اسئلة دفعة واحدة وفي الغالب تسبب نفور القارئ تحياتي
  16. استاذي العزيز اباجودي مثال جميل جداً لكني اطمع بالمزيد .. هل يمكنك وضع TextBox ايضاً بالاضافة الى ال combobox في عملية التصفية؟؟ في بعض الاحيان نحتاج الى عملية تصفية في مربعات النص ايضاً كأن تقوم بتصفية المواليد مثلاً اي يقوم بعرض مواليد 1980 مثلا ولهذا يجب ان يكون مربع نص من ضمن مجموعات التصفية .. هل يمكن اضافة ذلك في المثال تحياتي
  17. تفضل المرفق التالي .. تم اضافة ملف توليد مفتاح التسجيل حماية البرنامج عن طريق رقم الهارد والمعالج واللوحة الأم_في حال نقص احدى القطع فان البرنامج يستمر بالعمل.zip
  18. تفضل .. هذا المثال هو الافضل برأيي لانه من صنع استاذنا الكبير ابو خليل مع بعض الافكار من العبد لله والحمد لله البرنامج يعتبر فريد من نوعه .. يمكنك ارفاقه في برنامجك بشكل مباشر واستمتع بحماية رائعة جداً. حماية البرنامج عن طريق رقم الهارد والمعالج واللوحة الأم_في حال نقص احدى القطع فان البرنامج يستمر بالعمل.zip
  19. صحيح كلامك استاذي شفان حتى انا استغربت فعل ذلك لكن الطيور على اشكالها تقع .. تحياتي لك
  20. بعد إذن اساتذتي الكرام ..أخي الكريم أبو أحمد أولاً رمضان كريم عليك وعلى جميع الأخوة والأساتذة الكرام في هذا المنتدى الرائع.. ثانياً الكود الذي وضعته انت هو كالتالي : للعلم فإنه هنالك وحدة نمطية خاصة بتشفير البيانات وفك تشفيرها يجب ان تكون موجودة في قاعدة البيانات التي جلبت منها الكود السابق وجزء من هذه الوحدة النمطية هو الكود التالي الخاص بفك التشفير Function decode(a, b As String) As String On Error Resume Next Dim R, i As Integer, s, u As String u = getcode(a, b) i = Val(Mid(u, 1, 1)) + 1 u = Mid(u, i + 1, Len(u) - i) If Len(u) Mod 3 <> 0 Then u = Mid(u, 1, Len(u) - 1) s = "" For R = 1 To Len(u) - 2 Step 3 s = s + Chr(Val(Mid(u, R, 3))) Next decode = s أما دالة التشفير فهي كالتالي : Function incode(a As String, b As String) As String Dim R, i As Integer, s, u As String 1: u = "" s = ctrs(a, 3) If Len(s) Mod 2 = 1 Then s = s + Trim(str(Int(8 * Rnd(-Timer)))) i = 3 * Rnd(-Timer) + 1 For R = 1 To i u = Chr(100 * Rnd(-Timer) + 155) + u Next u = Trim(str(i)) + u u = u + s u = getcode(u, b) If decode(u, b) = a Then incode = u Else GoTo 1: End If End Function اما بقية اكود الوحدة النمطية فهي كالتالي : Function getcode(a, b As String) As String On Error Resume Next Dim L, R As Integer, c As Long, q As String c = 0 For R = 1 To Len(b) c = c + Asc(Mid(b, R, 1)) * (10 ^ R) Next q = str(c) c = 0 For R = 1 To Len(q) c = c + Val(Mid(q, R, 1)) Next q = "" For R = 1 To Len(a) L = 256 - Asc(Mid(a, R, 1)) - R - Len(a) If L + c > 255 Then q = q + Chr(L - c) Else q = q + Chr(L + c) End If Next getcode = q End Function Function ctrs(s As String, Y As Byte) As String Dim R, i As Integer, u, T As String u = "" For R = 1 To Len(s) T = Trim(str(Asc(Mid(s, R, 1)))) For i = 1 To Y - Len(T) T = "0" + T Next i u = u + T Next ctrs = u End Function وطبعاً يجب ان يكون التشفير وفك التشفير مستند على معيار التشفير (بمعنى آخر الرقم الخاص بك او النص الذي بدونه لايمكن فك التشفير عن البيانات .. هذا الرقم او النص هو الذي يتم تمريره للدالة لكي تشفر البيانات) للتوضيح .. عنما تريد تشفير رقم موجود في جدول تستخدم الأمر التالي incode(Table1.[impnumber],10) كما تلاحظ فإننا استدعينا كود التشفير incode ومررنا إليه الحقل impnumber الموجود في جدول Table1 وقلنا له اجعل مفتاح التشفير هو الرقم 10 وفائدة ذلك هو لما يقوم شخص بسرقة بياناتك المشفرة ويحاول فك تشفيرها باستخدام الدالة decode فهو لن يعرف مفتاح التشفير المستخدم وبذلك لن يحصل على البيانات وهنا سوف تستخدم الأمر decode بنفس الطريقة السابقة للحصول على الرقم الأصلي كالتالي decode(Table1.[impnumber],10) في الكود الذي ارفقته انت لاحظ ان المبرمج استخدم مفتاح التشفير التالي DLookup("[text3]", "text2") ارجو ان يكون الشرح وافي تحياتي
  21. استاذي العزيز @ابا جودى رمضان كريم ان شاء الله عليك وعلى اخي حلبي وعلى جميع الاخوة والاساتذة الكرام في هذا المنتدى .. لدي ملاحظة بسيطة وهي هل جربت ازالة ملف TWAIN32d.dll وتشغيل البرنامج؟؟ اعتقد بأننا لن نحتاجه
  22. افضل النمط الاول يا استاذي الكبير جعفر فالنقاشات هي نصف الحلول وكما تعلم عندما يتعود الشخص على شكل معين للفورمات فانه يرتاح نفسياً أكثر ويجعله متابع بشكل اكبر وهذا ما كنت اشعر به سابقاً . تحياتي
  23. استاذي اباجودي انت قلت في تلك المشاركة بأن الملف TWAIN32d.dll يجب ان يكون في الجهاز ذلك يعني ان برنامج السكانر i_view32 يعتمد على المراجع التي توفرها مكتبة ال dll وهذا ما يحاول استاذنا القدير جعفر ايصاله لنا بأن الأمر shell ليست له علاقة بارجاع النتيجة من السكانر وانما مهمته فقط استدعاء وتنفيذ برنامج السكانر اما المكتبات فهي المسؤولة عن ارجاع النتيجة طبعاً بعد تجربة ازالة المرجع Microsoft Windows Image Acquisition Library v.2 وإزالة الملف TWAIN32d.dll من الويندوز ايضاً وجدت انه مازال البرنامج i_view32 يعمل سكان بنجاح لذلك اعتقد بأن البرنامج i_view32 لايستعمل المكتبة TWAIN32d.dll لا أعلم اخي اباجودي اذا قمت انت بتجريب ذلك ام لا لكني اتمنى ان تجرب وتخبرني بالنتيجة .
×
×
  • اضف...

Important Information