بحث مخصص من جوجل فى أوفيسنا
![]()
Custom Search
|
-
Posts
1366 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
19
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو sandanet
-
هل من طريقة لاجبار المستخدم علي ادخال الاسم رباعيا
sandanet replied to أبو عبدالله الحلوانى's topic in قسم الأكسيس Access
نعم اخي أبو عبدالله كلامك صحيح ... لكن لو لم تكن اللاحقة مضافة لجدول tblSpecialParts مسبقاً فسنواجه مشكلة خصوصا لو كان هنالك عدد من المستخدمين يعملون على البرنامج .. اعتقد انه من الافضل ايجاد طريقة تنبيه للمستخدمين تفيد بأن الاسم سيتم اقتطاعه لوجود لاحقة غير مضافة لجدول tblSpecialParts وبالتالي يمكن تلافي ادراج الاسماء منقوصة. نعم كلامك صحيح ونقطة في محلها فعلا خصوصا لو كان لدينا برنامج كبير لكني في الواقع افضل تقليص عدد الجداول ^_^ ولو ان كود الاستاذ جعفر كنز ثمين لايمكن تجاهله لكن بالتأكيد سنحتاجه عاجلا ام آجلاً. معناها لو قمنا بالغاء الاستعلام qry_SP فسنلغي دالة sp من الوحدة النمطية ايضاً فهي ليست مستخدمة الا في ذلك الاستعلام بالاضافة الى إلغاء جدول SomeNameTbl فهو متعلق بالاستعلام فقط ..وبالتالي سنتمكن من تقليص عدد الاكواد المستخدمة ^_^ تحياتي -
هل من طريقة لاجبار المستخدم علي ادخال الاسم رباعيا
sandanet replied to أبو عبدالله الحلوانى's topic in قسم الأكسيس Access
أشكرك جزيل الشكر على المرفق السابق لكني واجهت مشكلة اخرى عندما حاولت اضافة الاسم التالي "عبد الرحيم بن سلمان عبد الله بو سالم" فظهر في الخانة الاخيرة كلمة "بو" فقط .. المفروض تظهر كلمة "بو سالم" كلها كما ان لدي بعض التساؤلات التي استوقفتني السؤال الاول : ماهو الفرق بين استخدام طريقتكم التي تفضلتم بها و طريقة الاستاذ اباجودي التي تفضل بها في مرفقه ؟ هل يمكن اعتبار ان الفكرتين تؤديان الى نفس النتيجة أم هنالك فرق جوهري بالأمر؟ ارجو التوضيح فهذه نقطة مهمة جدا فكلا المرفقين فيهما حلول رائعة السؤال الثاني: لماذا تستخدم دالة MakeMsg التي تستوجب اضافة جدول ووحدة نمطية للبرنامج في حين اننا نبحث عن طريقة لتقليص الاكواد قد المستطاع؟ بالرغم من انها تحتوي على لمسات استاذنا الكبير جعفر لكننا هنا بصدد تبسيط الاكواد قدر المستطاع السؤال الثالث: ما فائدة الاستعلام "qry_SP" ؟ وهل بالامكان استبداله بكود برمجي؟ ارجو ان يتسع صدرك لاستفساراتي تحياتي -
هل من طريقة لاجبار المستخدم علي ادخال الاسم رباعيا
sandanet replied to أبو عبدالله الحلوانى's topic in قسم الأكسيس Access
أخي العزيز أبو عبدالله شكراً لك على المرفق الأخير الأكثر من رائع والشكر لكل من ساهم به ولو بفكرة بسيطة اثناء عمل compile للكود يظهر خطأ في الدالة التالية x = Split(testSpcailPart(M), " ") اعتقد ان الكود يجب ان يكون بهذا الشكل x = Split(testSpcailPart(M, 4), " ") كما اني لاحظت ان الاسم الرباعي لو كان مركبا مثل هذا "جاب الله نور الدين عصام الدين بن مسعود" لا يتم قبوله إلا إذا قمنا بتقليص الاسم يعني استبدال اسمين مركبين باسمين غير مركبين فما هو سبب حدوث ذلك؟ -
اهلا وسهلا أخي العزيز ابا جودى انا كنت متابع بصمت معكم في المنتدى لإنشغالي ببرمجة برامج تخص جهة عملي لكني وجدت ان برنامجك جميل ويستحق التمعن فيه بالنسبة للحل الذي توصلت إليه فهو للأسف لم يكن نقلاً عن اساتذتي الكبار والذين افتخر بحلولهم السحرية دائماً ويشرفني ان اقتبس منهم لكني بالحقيقة من خلال التجربة والبحث وماقادني للطريقة هو البحث في المواقع الاجنبية كما في الصورة كما انني قمت بتبسيط الدالة أكثر ^_^ انظر الى الكود في ملفي المرفق في التعليق السابق
-
السلام عليكم ورحمة الله وبركاته تحية طيبة وبعد ... كل عام وأنتم بخير وبصحة وسلامة إن شاء الله .. اتمنى ان يكون عام 2021 عام خير على أمة محمد أجمعين. بالنسبة لموضوعي الذي احببت مشاركتكم إياه فهو نادر مايستخدم ولكن قد يحتاجه احد ما كما احتجت له أنا وهو عملية إجبار المستخدم على ادخال كلمة في مربع نص على ان تكون الكلمة بالعربي وليس بالانجليزي وفي نفس الوقت عدم السماح له بإدخال ارقام في مربع النص وهو الامر عتبر غير شائع الاستعمال في الاكسس لكون ان المستخدم دائماً يكون هو المسؤول عن إدخالاته .. لكن في بعض الأحيان قد تحتاج الى فرض قيود صارمة على المستخدمين العابثين ومنعهم من حرية الاختيار عند ادخال بيانات معينة واجبارهم على ادخال ارقام او حروف انجليزي فقط او عربي .. الخ . إليكم الكود التالي الذي يجبر المستخدم على الكتابة بالعربي فقط في مربع النص .. يتم وضعه في حدث "عند الضغط على مفتاح" Select Case KeyAscii Case 48 To 57, 65 To 90, 97 To 122 ' Numbers and english letters KeyAscii = 0 Exit Sub End Select الارقام من 48 الى 57 هي للأرقام والباقي للحروف الانجليزية تحياتي
-
(تطبيق) الحماية بأسلوب الدنكل ( الا شوي )
sandanet replied to محمد ايمن's topic in قسم الأكسيس Access
UP @محمد ايمن -
(تطبيق) الحماية بأسلوب الدنكل ( الا شوي )
sandanet replied to محمد ايمن's topic in قسم الأكسيس Access
ماشاء الله موضوع أكثر من رائع بارك الله فيك على هذا المجهود .. فعلا بعض البرامج تتطلب هذا النوع من الحماية خصوصا لو كان البرنامج يتطلب العمل على اكثر من جهاز وللشخص المصرح له فقط لكن ستكون محدودية الطريقة هذه تقتصر على العملاء القريبين منك حيث اننا لن نستطيع رفع البرنامج على الانترنت للعملاء البعيدين لكن تظل هذه الطريقة مطلوبة بشدة. بالنسبة لطرق الحماية الاخرى التي تم شرحها باستفاضة فهي تضمن لك ان البرنامج يعمل على جهاز واحد فقط ولايمكن نقله لجهاز اخر بدون كود التفعيل لكن لدي سؤال بسيط وهو لو تم نسخ محتويات الفلاش بالكامل الى فلاش اخر مع اخذ سيريال الفلاش ميموري الاول ووضعه مكان الفلاش الثاني فسوف يعمل البرنامج أليس كذلك؟ ولو صح هذا الكلام فبعتقادي انه من الممكن عمل ملف كراك يقوم بنسخ محتويات الفلاش الاول الى فلاش اخر ونسخ السيريال ايضاً وبالتالي فإن الموضوع يحتاج البحث عن طريقة ما تجعل الملفات في الفلاش الاول غير قابلة للنسخ . تحياتي -
جرب الكود التالي Dim dbs As Database, tdf As TableDef Set dbs = CurrentDb For Each tdf In dbs.TableDefs If left(tdf.Name, 4) <> "msys" And tdf.Attributes = 1 Then tdf.Attributes = tdf.Attributes - dbHiddenObject End If If tdf.Attributes = 1073741825 Then tdf.Attributes = 0 Next tdf Set dbs = Nothing Application.SetOption "Show Hidden Objects", 1 Application.SetOption "Show System Objects", 1
-
اخي الكريم أنا متواجد معكم يومياً تقريباً فلم أتغيب إلا قليلاً بسبب انشغالي بأعمال أخرى .. وإن شاء الله متواجد للرد على أي استفسار او سؤال بخصوص مواضيع الحماية في الكسس تحياتي
-
اخي الكريم بالحقيقة لم اجربه على قوقل درايف لكن لا اظن انه يوجد فرق بينهما
-
أخي الكريم شكرا لك على هذا البرنامج الجميل ملاحظاتي عليه قبل تجربته هي كالتالي: 1- في اول عملية تشغيل للبرنامج وقبل ظهور اي فورم تظهر رسالة بانه باقي 9 أيام على انتهاء الفترة التجريبية بعدها اغلقت البرنامج وفتحته من جديد فظهرت لي نفس الرسالة لكن اصبحت 8 ايام على انتهاء الفترة التجريبية وعند اغلاق البرنامج مرة اخرى وفتحه تثبت المدة المتبقية على 8 ايام 2- واجهة البرنامج فيها تنبيه بعدد الايام التي مضت على استخدام البرنامج من مجموع 15 يوم وهي ايضا في اول تشغيل اعطتني 6 ايام وبعدها اعطتني 7 ايام لازلت لم ادخل اي بيانات ولم اجرب شيء بعد في البرنامج لكن من خلال قرائتي لموضوعك وجدت ان النقطة التالية قد تواجه بها مشكلة وهي ان ارقام الجهاز او سيريلات قطع الجهاز جميعها تتغير بتغيير نظام التشغيل وهذا الامر تمت مناقشته واجراء العديد من التجارب حوله وان افضل حل تم التوصل اليه هو استعمال اسم المعالج واستخلاص الارقام منه واستعمالها في عملية الحماية فاسم المعالج لايتغير بعد الفورمات كما وجد ايضا ان رقم الـ uuid لايتغير انا بالحقيقة لم اختبر رقم الـ uuid لكن احد الاعضاء من الذين يبحثون عن حماية قوية قام بتجربته واكد انه لم يتغير بعد الفورمات. انظر للمرفق تحياتي key_maker.mdb protection_sandanet.accdb
-
اذا كان برنامجك لايتطلب الاتصال بالانترنت فاستخدم الطريقة التي اعلاه وهي الحماية عن طريق اسم المعالج ورقم الـ uuid
-
اخواني الكرام اعتقد ان موضوع حماية البرنامج برقم الهارد او المعالج او اي قطعة اخرى قد تمت مناقشته طويلاً وما توصلنا اليه هو ان جميع ارقام القطع تتغير بتغير نظام التشغيل وهذا الامر لا ترغب به كصاحب برنامج لانك لاتستطيع منع المستخدم من اعادة تثبيت نظام التشغيل وستجد نفسك ملزما بإعطاءه كود تفعيل جديد في كل مرة لذلك قمنا بالعديد من التجارب للتوصل الى حلول منطقية حول هذا الامر ووجدنا انه يمكننا استخدام اسم المعالج بدلاً من رقمه حيث ان اسم المعالج لايتغير بعد الفورمات كما ان اسم المعالج يحتوي على ارقام بطبيعة الحال لذلك ارتأينا انه يمكن استخلاص تلك الارقام من اسم المعالج لانها ستكون بالتأكيد ثابته ولا تتغير. طبعاً بعد التعمق في الموضوع اكثر وجدنا انه يمكن تغيير اسم المعالج من الريجستري وهي حالة نادر مايقوم بها احد لكن للحصول على حماية اكبر وإغلاق الثغرة السابقة كان لابد لنا من البحث اكثر عن شيء اخر يمكن استعماله لزيادة الأمان فوجدنا ان رقم UUID لأي جهاز كومبيوتر لايتغير بعد الفورمات وكان الاختبار قد تم اجراءه من قبل احد الاخوة جزاه الله خيرا لذلك قررنا انه سيكون التحقق عن طريق استخدام اسم المعالج مع رقم الـ UUID فإذا وجد تطابق فهذا يعني ان الجهاز مصرح له وان البرنامج يجب ان يعمل عند المستخدم ولا يطالبه بكود تفعيل جديد. المرفق التالي هو اخر ماتوصلنا إليه ملاحظة: هنالك طريقة لحماية البرنامج اون لاين وهي طريقة فعالة ايضاً لكنها تتطلب اتصال انترنت مستمر عند المستخدم - الطريقة مشروحة هنا تحياتي key_maker.mdb protection_sandanet.accdb
-
ان شاء الله متوفر لكن بشكل متقطع بحكم الظروف التي امر بها .. فانا ادخل الى المنتدى بالاسبوع 3 او 4 مرات .. عموما شكرا لك اخي على الاهتمام
-
-
اعمل compile للأكواد قبل
-
ماشاء الله جميل جدا
-
كسر حماية الرقم السري لأكواد فيجوال بيسك
sandanet replied to عبد اللطيف سلوم's topic in قسم الأكسيس Access
اهلا استاذي الكبير جعفر .. بالحقيقة انا لم اطلع على الرابط لكن من الافضل ان يستبدل الرابط للبرنامج نفسه من موقعه الرئيسي على يحذف بشكل كامل تحياتي -
تفضل اخي الكريم test.accdb
-
كسر حماية الرقم السري لأكواد فيجوال بيسك
sandanet replied to عبد اللطيف سلوم's topic in قسم الأكسيس Access
اساتذتي الكرام تحية طيبة لكم انا رأيي الشخصي ان صيغة الـ accde هي الحق الوحيد الذي يمتلكه المبرمج في حماية اكواده عندما يريد نشر برنامجه على الانترنت .. اما من يقفل الاكواد وينشر قاعدة البيانات بصيغة accdb فلايحق له الاعتراض على من يصل للأكواد. اما من ناحية البرنامج الذي تمت ازالته فهو بالتأكيد ستكون فائدته اكثر من مضاره لسبب واحد وهو اغلب المبرمجين ينسون الارقام السرية التي وضعوها لعدة اسباب وهذا ما حصل معي سابقا وقد فقدت اكواد مهمة وقتها مما اضطرني للبحث عن طريقة لكسر قاعدة البيانات في المواقع الاجنبية حيث هنالك الحرية في طرح مثل تلك البرامج تحياتي -
معرفة عدد مرات الدخول الى التقارير والنماذج
sandanet replied to Radwan0's topic in قسم الأكسيس Access
تفضل اخي الكريم test.accdb -
معرفة عدد مرات الدخول الى التقارير والنماذج
sandanet replied to Radwan0's topic in قسم الأكسيس Access
نعم اخي الكريم يمكنك عمل ذلك بسهولة عن طريق تعريف متغيرات عامة (public) في وحدة نمطية على حسب عدد التقارير والنماذج التي تريد حساب عدد مرات فتحها ومن ثم تضع في حدث عند الفتح لكل نموذج او تقرير المتغير الخاص بها وظيفته تخزين قيمة عددية تزيد كلما يفتح النموذج او التقرير وبامكانك معرفة العدد عن طريق اظهار رسالة بقيمة المتغير هذا تحياتي -
رائع جدا .. بارك الله فيك