ضمن سلام

    متاسفانه امکان به روز رسانی و افزودن برخی مطالب در وبلاگ وجود نخواهد داشت , این تصمیم به دلیل عدم درج مطالب در چند مکان مختلف اتخاذ گردیده است
زین پس مطالب در سطح فروم درج خواهند شد
بدین وسیله امکان تبادل نظر آسانتر با بازدید کنندگان نیز مهیا خواهد شد

با تشکر - نبیل پیروزمهر

برچسب‌ها: فروم, اکسس, VBA, access, آموزش
+ نوشته شده توسط نبيل پيروزمهر در پنجشنبه 5 اردیبهشت1392 و ساعت 8:49 |


در این وبلاگ سعی خواهد شد با گرد آوری لینکهای پراکنده موجود در اینترنت , مرجعی در خصوص عناوین مورد بحث وبلاگ ایجاد گردد



 ...... کلیک کنید ......


برچسب‌ها: اکتیو ایکس, کامپوننت, دانلود, برنامه نویسی, رایگان
+ نوشته شده توسط نبيل پيروزمهر در پنجشنبه 5 اردیبهشت1392 و ساعت 8:46 |

 

این یک واقعیت است که امروزه درصد بسیار بالایی از فروش به دلیل سرقت نرم افزاری و تکثیر غیر مجاز از دست می‌رود . ( خصوصاً در کشورهایی که قانون کپی رایت وجود ندارد )

در این میانه آیا میدانید :
- چه میزان از سرمایه شما ( زمان + پول ) به دلیل کپی غیر مجاز برنامه نرم افزاریتان به هدر رفته است ؟
- مجهز نمودن برنامه نرم افزاریتان به یک سیستم قفل گذاری مناسب تا چه میزان در برگشت سود و سرمایه‌تان مؤثر است ؟
- هزینه فروش نرم افزار از طریق تهیه CD و بسته بندی های خاص آن ، بسیار پر هزینه تر از مالکیت یک وب سایت و فروش نرم افزار از طریق آن میباشد ؟ ( دانلود مستقیم توسط خریدار )
- بدون نیاز به هیچگونه تخصص خاصی غالب قفلهای موجود بر روی CD ها به راحتی شکسته می‌شوند ؟
- هزینه استفاده از قفلهای سخت افزاری ( Dongle ) بسیار بالا بوده و در اکثر موارد مقرون به صرفه نمی‌باشد ؟
- استفاده از قفلهای سخت افزاری ( Dongle ) تا چه حد میتواند در کوچک شدن دایره بازار فروش شما تأثیر گذار باشد ؟ ( نیازمند انتقال فیزیکی قفل )

Trial Keeper Professional یک راه حل حرفه‌ای جهت جلوگیری از این امر و حفاظت از ثمره تلاش شما می‌باشد . این اكتیو ایكس جهت افزودن قابلیت اجرای آزمایشی و حصول اطمینان از اجرای این امر طراحی گردیده است .
این اكتیو ایكس در محیط Visual Basic 6 و VBA Office قابل استفاده مي‌باشد ( در محیط VB.Net نیز با موفقیت تست گردیده است ) .

توسط این اکتیو ایکس قادر به قفل گذاری بر روی برنامه های خود میباشید , تا بدین وسیله از تکثیر غیر مجاز برنامه های خود جلوگیری به عمل آورید . ( برنامه های طراحی شده توسط VB و Access )

استفاده از این اكتیو ایكس امکانات زیر را در اختیار شما خواهد گذاشت :

سنجش تعداد دفعات اجرا ، تعداد روزهای اجرا و محدود نمودن اجرا تا تاریخی معین بعلاوه امكان قفل گذاری در حالت Permanent ( در این حالت تنها پس از ثبت ، امكان اجرا وجود خواهد داشت )
ایجاد چندین نسخه متفاوت از برنامه توسط تغییر پارامترهای ورودی اکتیو ایکس
ورود به دنیای تجارت الکترونیکی ( E - commerce ) ، امکان دانلود بدون محدودیت برنامه از طریق اینترنت با تکیه بر قفل گذاری انجام پذیرفته
کلیه امکانات این اكتیو ایكس در محیط کد نویسی مهیا بوده و امکان طراحی فرم رجیستر نمودن برنامه توسط خودتان وجود خواهد داشت
قفل گذاری بر اساس شناسایی سیستم سخت افزاری شماره سریال هارد دیسک ، شماره سریال هارد دیسك ( SecureHDD ) ، مادربورد و CPU ( بالغ بر پانزده حالت تركیبی )
تشخیص دستکاری تاریخ ( به عقب بازگرداندن تاریخ سیستم )
امکان ایجاد کد فعال سازی بر اساس ترکیبی از : شماره شناسایی دستگاه , نام کاربر , ایمیل کاربر و شماره تلفن کاربر ( تركیبی از چهار مشخصه دریافتی )
انعطاف پذیری فوق العاده با تکیه بر تنظیمات متفاوت ( در نوع خود بدون نمونه مشابه )
توابع جانبی بسیار توانمند جهت رمزگذاری و تشخیص نرم افزارهای مانیتورینگ
امنیت فوق العاده بالا با توجه به استفاده از
آخرین تکنیکهای Anti Monitoring و Anti Debugging
قابلیت استفاده آسان به همراه انعطاف پذیری بسیار بالا

اطلاعات تکمیلی در بخش ادامه مطلب و یا بر روی دامنه CPSD.ir

ویرایش جدید : 1.6.5 , تاریخ انتشار 1391/02/08

حجم تقريبي 5 مگابايت

( ترجیحاً جهت بارگذاری از لینک مستقیم استفاده نمایید )

Download Setup File

لینک دانلود مستقیم

تالار اختصاصی 


برچسب‌ها: قفل نرم افزاری, اکسس, قفل, اکتیو ایکس, activex
ادامه مطلب
+ نوشته شده توسط نبيل پيروزمهر در جمعه 23 فروردین1392 و ساعت 13:22 |

با سلام


نظر به نیاز برنامه نویسان اکسس و اکسل به داشتن کتب آموزشی ، مجموعه منحصر به فرد CPSD VBA Pack 2 تهیه گردید

این مجموعه غنی مشتمل بر کلیه مباحثی میباشد که برنامه نویسان Access و Excel میبایست به آنها اشراف کاملی داشته باشند تا در مسیر موفقیت قرار گیرند

با تکیه بر مطالب عنوان شده در داخل این مجموعه ؛ میتوان تضمین نمود که ضمن پیشرفت روز افزون , نسبت به دیگر رقبا در جایگاهی بسیار بالاتر قرار گیرید

کتبی که با تکیه بر آنها میتوان انتظار داشت که دریچه ورود به دنیای حرفه ای آفیس به روی شما باز گردد

ادامه مطلب


برچسب‌ها: کتاب, اکسس, اکسل, sql, vba
+ نوشته شده توسط نبيل پيروزمهر در پنجشنبه 20 تیر1392 و ساعت 23:21 |


ضمن سلام
در این ویدئوی 12 دقیقه ای , شما میتونید با مبانی اصلی استفاده از مبدل تاریخ شمسی Persian Date Converter آشنا بشید
در بخش اول این ویدئو نیم نگاهی خواهیم داشت به نحوه کد نویسی در محیط VBA اکسس
در این ویدئو شما با اصول اولیه استفاده از اکتیو ایکس مذکور آشنا خواهید شد
لینک دانلود



برچسب‌ها: مبدل, تاریخ, شمسی, میلادی, تبدیل
+ نوشته شده توسط نبيل پيروزمهر در سه شنبه 29 اسفند1391 و ساعت 23:32 |

ضمن سلام

یکی از تغییراتی که از بدو ایجاد نسخه 2007 اکسس با آن مواجه شده ایم , غیر فعال سازی عملکرد غلطک ماوس در خصوص گشت و گذار در بین رکوردهای ثبت شده می باشد

تا نسخه 2003 با چرخاندن غلطک ماوس , اکسس اقدام به تغییر رکورد جاری کرده و رفتاری همچون فشار بر روی دکمه های Next Record و Previous Record را از خود به نمایش می گذاشت

از آنجا که در برخی مواقع کاربر به صورت اتفاقی اقدام به گرداندن غلطک ماوس می نمود , در این حالت اکسس نیز اقدام به ثبت اطلاعات تغییر داده شده می کرد که همین امر مطلوب برخی کاربران نبود
بر همین اساس مایکروسافت اقدام به حذف این مشخصه رفتاری , از نسخه 2007 اکسس نمود

جهت فعال سازی مجدد , شما نیاز به درج چند خط کد خواهید داشت

ادامه مطلب


برچسب‌ها: غلطک, ماوس, 2007, 2010, Access, فعال سازی, رکورد, اکسس
+ نوشته شده توسط نبيل پيروزمهر در شنبه 4 آذر1391 و ساعت 22:57 |
با سلام

مجدداً نوبت به معرفی یکی دیگه از کتابهای انتشارات معروف QUE با عنوان Microsoft Office Access 2007 Forms, Reports, and Queries میرسه



همونطوری که از عنوان کتاب هم مشخصه , کتاب نگاهی به مبحث طراحی فرمها , گزارشات و پرس و جوها در بستر اکسس 2007 داره

نویسنده کتاب Paul McFedries هستش

این کتاب تا سطح متوسط رو میتونه پوشش بده

به کمک این کتاب میتونید با برخی تکنیکهای موثر در یک طراحی هوشمندانه آشنا بشید

جهت دانلود از طریق لینک مستقیم کلیک کنید


برچسب‌ها: کتاب, اکسس, برنامه نویسی, VBA, آموزش
+ نوشته شده توسط نبيل پيروزمهر در شنبه 28 مرداد1391 و ساعت 20:1 |
سلام

در این مقاله کوتاه قصد دارم اقدام به مقایسه اکسس 32 بیت و 64 بیت به نمایندگی از سوی مجموعه آفیس کنم

لینک مقاله


برچسب‌ها: اکسس 32bit, اکسس 64bit
+ نوشته شده توسط نبيل پيروزمهر در پنجشنبه 1 تیر1391 و ساعت 18:2 |

یکی از مسائلی که کاربران هنگام برنامه نویسی در محیط Visual Basic و VBA با آن مواجه هستند , تبدیل تاریخ میلادی به شمسی ( و بالعکس )هستش .

در این میان اکتیو ایکس Persian Date Converter و یا به اختصار PDC میتونه به شما در رفع مشکلات این بخش کمک کنه . این اكتیو ایكس متشكل از 33 تابع در زمینه محاسبات و تبدیلات قابل اعمال بر روی تاریخ مي‌باشد .

این مبدل در محیط Visual Basic و VBA Office شامل Access , Excel , Word , Power Point , Outlook و Microsoft Project قابل استفاده می‌باشد . 

این محصول به صورت رایگان در اختیار شما دوستان قرار میگیره. امیدوارم که بتونه جوابگوی مشکلات شما بوده باشه .



ویرایش جدید : 2.5.0 , تاریخ انتشار 1390/11/01

Direct Link

Download File

توضیح : جهت اطلاع از آخرین به روز رسانی ها لطفا به وب سایت www.CPSD.ir مراجعه فرمایید

تالار اختصاصی 


برچسب‌ها: مبدل تاریخ, تاریخ شمسی, تاریخ قمری
+ نوشته شده توسط نبيل پيروزمهر در جمعه 1 اردیبهشت1391 و ساعت 10:37 |
با سلام

تالار اختصاصی محصول رایگان  CPSD MultiBox جهت تجمیع مطالب مرتبط با این محصول , ایجاد گردید

لینک تالار


برچسب‌ها: multibox, inputbox, cpsd
+ نوشته شده توسط نبيل پيروزمهر در جمعه 1 اردیبهشت1391 و ساعت 10:34 |
MultiBox چیست ؟

پاسخ این سئوال در فروم CPSD

لینک مرتبط 1

لینک مرتبط 2



برچسب‌ها: inputbox, vba, access, vb, multibox
+ نوشته شده توسط نبيل پيروزمهر در دوشنبه 29 اسفند1390 و ساعت 23:19 |
در برخی موارد این نیاز وجود داره که در اسناد ( گزارشات ) ارقام به صورتی مجزا به نمایش در بیان ( به صورت ذیل )



راه حل ساده و بسیار کارآمدی که در این خصوص وجود داره استفاده از دستور حلقه ...

لینک ادامه مطلب

+ نوشته شده توسط نبيل پيروزمهر در یکشنبه 16 بهمن1390 و ساعت 20:12 |
با سلام

يكي از مواردي كه الزاماً در خصوص طراحي يك بانك اطلاعاتي ميبايست مد نظر قرار گيرد ، اسقرار و پياده سازي يك رويه تهيه نسخه پشتيبان مي باشد

با توجه به احتمالات متعددي كه در خصوص تخريب بانكهاي اطلاعاتي ميتوان متصور شد ، الزامي مي نمايد كه سيستمهاي اطلاعاتي خود را به يك سيستم سهل الوصول تهيه نسخه پشتيبان مجهز نماييد

در فايل پيوست شما با نحوه تهيه نسخه پشتيبان به صورت فشرده ( زيپ شده ) از يك فايل اكسس آشنا خواهيد شد

لینک ادامه مطلب


برچسب‌ها: پشتیبان, اکسس, بک آپ, Backup, Access
+ نوشته شده توسط نبيل پيروزمهر در یکشنبه 16 بهمن1390 و ساعت 20:8 |

نحوه محاسبه تفاضل دو تاريخ شمسي توسط مبدل تاريخ Persian Date Converter را در لينك زيرين مطالعه فرماييد

لينك موضوع در فروم CPSD

+ نوشته شده توسط نبيل پيروزمهر در دوشنبه 4 مهر1390 و ساعت 21:35 |
بررسي اجمالي دلايل ارائه نسخه آزمايشي از يك محصول نرم افزاري در فروم ‍CPSD

لينك مقاله

+ نوشته شده توسط نبيل پيروزمهر در پنجشنبه 10 شهریور1390 و ساعت 21:49 |
این مقاله را میتوانید در فروم CPSD مطالعه فرمایید
+ نوشته شده توسط نبيل پيروزمهر در جمعه 7 مرداد1390 و ساعت 23:13 |
بررسی تابع IIf در فروم CPSD
+ نوشته شده توسط نبيل پيروزمهر در جمعه 10 تیر1390 و ساعت 14:9 |
سلام

ActiveX چیست ؟ عنوان مقاله ای هستش که میتونید اون رو در داخل فروم CPSD مطالعه کنید

+ نوشته شده توسط نبيل پيروزمهر در دوشنبه 30 خرداد1390 و ساعت 21:14 |
بررسی تابع LCase و UCase در فروم CPSD
+ نوشته شده توسط نبيل پيروزمهر در پنجشنبه 29 اردیبهشت1390 و ساعت 6:48 |
بررسی تابع Switch در فروم CPSD
+ نوشته شده توسط نبيل پيروزمهر در شنبه 20 فروردین1390 و ساعت 23:0 |
بررسی تابع Left در فروم CPSD
+ نوشته شده توسط نبيل پيروزمهر در شنبه 20 فروردین1390 و ساعت 22:59 |
ضمن سلام

یکی از مواردی که بسیار دیده شده , عدم اطلاع و شناخت کاربران از توابع داخلی اکسس هستش

به طور خلاصه توابع داخلی به اون دسته از دستوراتی گفته میشه , که شما بدون نیاز به کد نویسی و تنها با تعیین آرگومانهای درخواستی این توابع , قادر هستید که از این قطعه کدهای از پیش نوشته شده استفاده کنید

در واقع توابع داخلی اکسس تا حدود زیادی میتونند شما رو از دردسرهای خاص برنامه نویسی دور کنند

اجازه بدید در ابتدا شما رو با چند مفهوم اولیه آشنا کنم چرا که در ادامه مبحث به دفعات به این مفاهیم رجوع خواهیم داشت

ادامه مطلب در فروم CPSD

+ نوشته شده توسط نبيل پيروزمهر در سه شنبه 9 فروردین1390 و ساعت 15:25 |

در دومین بخش این مقاله , اقدام به معرفی قفلهای نرم افزاری می کنیم

این قفلها معمولاً به صورت کامپوننتهایی عرضه میشن که در داخل اونها روالهایی قرار داده شده , که شما از طریق اون روالها میتونید کنترل قفل برنامه رو به دست بگیرید .

عملاً تفاوت بین خود قفلهای نرم افزاری با برندهای متفاوت در موارد زیر خلاصه میشه :

میزان پیچیدگی روالهای داخلی ( منظورم همون کدهای برنامه هستش ) که در داخل برنامه وجود داره
امکانات قفل و اسکوپ فعالیتی اون ( چه محیطهای توسعه ای رو پشتیبانی میکنه )
تنوع قفل گذاری و نوع قفل گذاریها ( قفل بر چه پایه ای استوار شده ; شناسایی سخت افزار , کدهای ثابت و ... )
روالهای حفاظتی داخلی در نظر گرفته شده جهت حفاظت از شکسته شدن خود قفل
تنظیمات قفل

این نوع قفلها عموماً در دو گونه OCX و DLL عرضه میشن و از نظر کاربرد تقریبا مشابه هستن .
استفاده از گونه OCX اون رو در داخل برنامه Access توصیه نمی کنم , چرا که احتمال دور زدن قفل در این نوع کامپوننت بیشتره و یا بهتره بگم که روشهای دور زدن بیشتری داره .

عمده بحث ما حول محور قفلهای نرم افزاری مبتنی بر DLL میگرده .
شما در هنگام استفاده از این نوع قفلها معمولاً از پیچیدگیهای برنامه نویسی قفلها دورید و عملاً نیازی به دونستن نحوه نوشتن قفل هم ندارید .
دستورالعملهای ارائه شده به همراه قفل رو مطالعه کنید و قفل رو روی برنامتون Set کنید .

مزایای قفلهای نرم افزاری

1 – هزینه بسیار پایین تر نسبت به قفلهای سخت افزاری ( خصوصاً در نرم افزارهایی با تیراژ بالا )
2 – امکان عرضه نرم افزار تولیدی به صورت آزمایشی در مقیاس وسیع
3 – امکانات داخلی بیشتر , معمولاً خیلی از قفلهای نرم افزاری دارای روالهایی جهت انجام برخی موارد دیگه هم هستن ( مثل رمز نگاری )

معایب قفلهای نرم افزاری

در رابطه با معایب همونطوری که در مبحث قبلی هم اشاره کردم , ضعف در نقاط اتصالی بین نرم افزار و قفل هستش , یعنی همون جاهایی که عملاً نرم افزار اقدام به تبادل اطلاعات با قفل میکنه . البته این نقیصه در خصوص قفلهای سخت افزاری هم صادق هستش چرا که اونها هم از طریق رابط Dll و یا OCX اقدام به شناسایی صحت وجودی قفل سخت افزاری میکنند

بخش زیادی از این ایراد شاید بشه گفت که زیاد با خود قفل مرتبط نباشه و عملاً ناشی از عدم آگاهی کاربران قفلها و رعایت نکردن مسائل امنیتی از سوی اونهاست .

تذکر و یادآوری :

ببینید , واقعیتی که وجود داره اینه که عملاً هر نوع سیستم قفلی که نوشته بشه در صورتی که یه کرکر بخواد میتونه در نهایت قفل رو به زانو در بیاره ولی لازمه در این خصوص موارد زیر رو عنوان کنم :

این جمله به این معنا نیست که هر کرکری میتونه هر قفلی رو بشکنه . کرکرها هم مثل برنامه نویسا سطوح مختلفی دارن .
کرکرهای آماتور تا سطح متوسط کوچکترین گزندی رو نمیتونن به قفلهای پیچیده وارد کنن .
خطر اصلی از جانب کرکرهای حرفه ایه , ولی خب در اینجا یه خبر خوب دیگه هم وجود داره و اون هم اینه که کرکرها کلاسهای کاری متفاوتی هم دارن . هر کرکری هر قفلی رو نمیشکنه .
معمولاً کلاس و سطح کاری اونها ضریبی از قیمت نرم افزار رو هم به همراه داره . ( خصوصاً کرکرهایی که از این طریق کسب درآمد میکنن )
کرکرها آدمهای باهوشی هستند , هیچ وقت از در عناد و لجبازی با اونها وارد نشید وگرنه ممکنه نتیجه ناخوشایندی نصیبتون بشه , معمولاً کرکرها یک قدم جلوتر از برنامه نویسهای معمولی هستن .

خوشبختانه بسیاری از تکنیکهای کرکرها در خصوص فایلهای Access نتیجه ای در بر نداره چرا که عملاً شیوه کار به نحوی کاملاً متفاوته .

خیلی از نرم افزارهای مورد استفادشون عملاً در هنگام مواجه شدن با فایلهای Access راه به جایی نمی برن . اینها همه میتونه باعث امیدواری شما بشه .

در نهایت :

انتخاب یک قفل مناسب + اجرا و به کارگیری دقیق قفل + ترفندهای داخلی نرم افزار + خلاقیت

میتونه راه رو برای کرکر سخت و صعب العبور بکنه

موفق باشید

+ نوشته شده توسط نبيل پيروزمهر در پنجشنبه 19 اسفند1389 و ساعت 21:0 |

ضمن سلام

در این مقاله سعی میشه مقایسه ای بین قفلهای نرم افزاری و سخت افزاری داشته باشیم
در ابتدا به سراغ قفلهای سخت افزاری رفته و مشخصه های اون رو مورد کند و کاو قرار میدیم

دانگل - Dongle

این نوع قفلها رو عملاً به همین عنوان میخونن . قفلهایی با قابلیت جابجایی فیزیکی هستن . یعنی کاربر با خرید نرم افزاری که مجهز به این نوع قفله عملاً میتونه نرم افزار رو بر روی هر دستگاهی که بخواد نصب کنه که البته این امر مستلزم وجود قفله .
در دو نوع LPT و USB در بازار موجوده .
نوع LPT به پورت LPT وصل میشه , همون پورتی که به پورت پرینتر مشهوره . استفاده از این نوع قفل تقریباً منسوخ شده که دلایلی همچون :
احتمال اختلال در عملکرد قطعاتی که از طریق پورت LPT به کامپیوتر وصل میشن . ( دستگاههایی مثل پرینتر و اسکنر )
طول عمر نه چندان بالای این نوع قفلها . ( البته در صورتی که زیاد جابجاش میکنید )
حذف این پورت از روی نسل جدید برخی مادربوردها .

نوع USB از نظر ظاهری شبیه همون Flash Drive های موجوده .
در مقام مقایسه نوع USB برتریهای غیر قابل انکاری نسبت به نمونه های LPT داره که به طور مثال میشه به موارد زیر اشاره کرد :

وزن و ابعاد کوچکتر
قابلیت اتصال به درگاه USB
قیمت مناسبتر
و در نهایت تکنولوژی پیشرفته تر در پروسه ساخت و امنیت

مزایای این نوع قفل :

مزیت بارزش قابل حمل بودنشه . به طوری که کاربر محدودیتی در نصب نرم افزار خریداری شده نداره . کاربر , نرم افزار مجهز به این قفل رو میتونه در صورت در دست داشتن قفل هرجا و هر زمان نصب کنه .
البته این در صورتی میتونه یک مزیت مطلق به حساب بیاد که خود نرم افزار هم ماهیت پرتابل بودن رو داشته باشه , در غیر اینصورت این مزیت یک مزیت بالقوه هستش . ( منظورم توجیه کاربرد این نرم افزار به صورت پرتابل و یا همون قابل جابجا شدن هستش )
مزیت دیگه این نوع قفل , ثابت بودن اونه . یعنی با اعمال تغییرات سخت افزاری در کامپیوتر کاربر , قفل همچنان به فعالیت عادی خودش ادامه میده ( قاعدتاً )
یکی دیگه از مزیتهاش هم امکان استفاده از اون در محیطهای توسعه بیشتری هستش ( منظورم تعدد زبانهای برنامه نویسی که در اونها میشه از این نوع قفل استفاده کرده ) . البته این مورد در همه قفلهای موجود به صورت ثابت نیست و به تولید کننده اون ربط داره .

معایب :

این نوع قفل عملاً دایره فروش شما رو فوق العاده محدود میکنه . این امر از اونجا ناشی میشه که نرم افزار , وابسته به وجود فیزیکی قفله . همین امر امکان عرضه , پیش از فروش قطعی رو فوق العاده محدود میکنه ( Try Befor Buy ) .
عملاً ارائه اینترنتی نرم افزارهایی مبتنی بر این نوع قفل چندان طرفدار نداره . ( ارائه به این صورت مشکلات خاص خودش رو در این نوع قفل گذاری به دنبال داره )
تصور کنید که دایره فروش چقدر کوچیک میشه , بازار فروشی به وسعت تمام دنیا ( Web Site ) و بازار فروشی به محدودیت فروشگاههایی که نرم افزار رو به اونها برای فروش دادید .
هزینه خرید این نوع قفل با توجه به نوع اون متفاوته که میتونه محدوده 15000 – 3000 تومان رو در بر بگیره . عملاً شما ناچارید این هزینه رو توی هزینه تمام شده محصولتون محاسبه کنید که نتیجه اون افزایش قیمت محصوله . ( متاسفانه در ایران قیمت قویترین اهرم کاربردیه و برای 99% مشتریها در اولویت یک قرار داره )
استفاده از این نوع قفل در نرم افزارهای ارزون قیمت به عنوان توجیه نداره ( نرم افزارهایی که قصد فروش اونها رو در تیراژ بالا دارید ) .
استفاده از این نوع قفل مستلزم خواب سرمایه شماست . چرا که در صورت ارائه نرم افزارتون در قالب بسته بندی شده باید منتظر برگشت پول بمونید ( نرم افزار معلوم نیست چه مدت توی مغازه در انتظار فروش میمونه )

در صورت سوختن قفل شما نیاز به ارائه مجدد اون دارید ( در اینجور مواقعی که میدونید مشتری هزار و یک برهان میاره تا سوخته شدن رو به گردن نگیره و شما خودتون متحمل هزینه های اون بشید )
در مجموع در پروژه های ارزون قیمت به هیچ عنوان ارزش بحث و بررسی ندارن .

در خصوص امنیت قفلهای سخت افزاری باید بگم که تفاوت چندانی با قفل های نرم افزاری ندارن . مشکل اتصال و بارزسی در داخل خود نرم افزار همچنان پابرجاست .

به طور کلی فقط به ابن نکته اشاره میکنم که بزرگترین ضعف کلیه قفلها در نقاط اتصالی بین نرم افزار و قفل هستش , یعنی همون جاهایی که عملاً نرم افزار اقدام به تبادل اطلاعات با قفل میکنه .

در پست بعد به قفل های نرم افزاری اشاره ای خواهم داشت

موفق باشید

موضوع مرتبط در فروم

+ نوشته شده توسط نبيل پيروزمهر در سه شنبه 17 اسفند1389 و ساعت 19:3 |
ضمن سلام

آموزش قفل نرم افزاری SerialShield در فروم تخصصی - پشتیبانیCPSD

+ نوشته شده توسط نبيل پيروزمهر در جمعه 16 مهر1389 و ساعت 11:38 |

سلام

امروز با هم نگاهی خواهیم انداخت به کتاب Access 2010 The Missing Manual نوشته Matthew MacDonald

کتاب نگاهی به کلیه مباحث عمومی موجود در Access 2010 داره , نویسنده در قالب 812 صفحه سعی بر این داشته که مطلبی رو از قلم نندازه , با نگاهی به سر فصلهای این کتاب این مطلب روشن میشه که کتاب مشتمل بر مباحثی مفید و کاربردی هستش

مطالعه اون رو در برنامه کاری خودتون قرار بدید


لینک دانلود مستقیم

وب سایت

+ نوشته شده توسط نبيل پيروزمهر در جمعه 25 تیر1389 و ساعت 23:12 |

ضمن سلام , با هم نگاهی به بخش چهارم آموزش برنامه نویسی ADO میندازیم

يك واقعيت وجود داره كه دلايل استفاده ADO در ديتابيسي كه اصطلاحاًً اون رو تك فايل ميناميم شايد موارد استفاده بسیار محدودي رو در بر بگيره ( برنامه ای که تنها مشتمل بر یک فایل هستش )

قاعدتاً خواستگاه اصلي اين مدل برنامه نويسي , در مدلهاي FrontEnd/BackEnd هستش كه در ادامه با تمركز بيشتر بر روي اون به پيش ميريم

متاسفانه اين بخش از وسعت بسيار زيادي برخورداره كه در اين مقاله فرصت زماني به گونه اي هستش كه تنها امكان بررسي برخي روشها وجود داره

در ابتدا با روشي مشابه روش ارائه شده در آموزش بخش سوم , اقدام به معرفي يك متغير ميكنيم كه بتونيم اين آبجكت رو معرفي و در مواقع لزوم بارگذاري و احيا كنيم

تنها در اين نوع اتصال به يك نكته توجه داشته باشيد و اون هم تغييري هستش كه در نوع معارفه به انجام رسونديم

با توجه به اينكه در معماري FrontEnd/BackEnd و يا به نوعي همون Client/Server ممكنه به صورت همزمان چند اتصال توسط كاربراني متفاوت برقرار بشه ، از اينرو از كليد واژه New استفاده ميكنيم تا به نوعي برنامه رو مجبور به بارگذاري نسخه جديدي از متغير در حافظه سيستم کاربر كنيم

Dim remoteConnection As New ADODB.Connection

در اين مرحله فعاليت اصلي شروع ميشه

در معماري CS و يا FEBE شما نياز داريد به گونه اي يك پل ارتباطي بين بانك اطلاعاتي هدف و برنامه مقصد برقرار كنيد ، اين امر رو به واسطه يك Provider كه به نوعي كار آماده سازی و برقراري ارتباط رو به عهده داره به انجام ميرسه

Provider  هاي متفاوت و بسيار گسترده اي در اين بخش قابل اعمال هستن كه در مثال حال حاضر از  OLEDB استفاده ميكنيم

يكي از مزاياي اين Provider اينه كه به همراه خود Access نصب ميشه و شما دغدغه اي در خصوص وجود و يا عدم وجود اون بر روی سیستم نهایی کاربر نداريد

پس از تعيين نوع Provider , شما بايد اقدام به معرفي مسير ديتابيس هدف كنيد ، كه اين كار رو بايد به واسطه متد Open به انجام برسونيد ( توجه كنيد در مثال قبلي اين بخش به صورت خودكار به انجام ميرسيد )

نگاهي به مثال زير كنيد و مطالب درج شده فوق رو در داخل اون مورد واكاوي قرار بديد

 

Private Sub cmdConnectToRemoteDB_Click()

On Error GoTo ConnectionError

Dim remoteConnection As New ADODB.Connection

With remoteConnection

.Provider = Microsoft.Jet.OLEDB.4.0

.Open Database Address Here ، For Example : C:\Sample.mdb

End With

MsgBox Remote connection successfully established.

remoteConnection.Close

Exit Sub

ConnectionError:

MsgBox There was an error connecting to the database. & Chr(13) _

& Err.Number & , & Err.Description

End Sub

در مثال فوق به دیتابیس فرضی Sample.mdb واقع در ریشه درایو C متصل شدیم

دقت كنيد هر اتصال / Connection  پس از انجام عمليات مد نظر شما بايد بسته بشه كه اين امر توسط دستور Close به انجام رسيده

از ساختار With/End With به جهت خلاصه سازي دستور استفاده شده

در فرصتی دیگه و بنا به نیاز در خصوص Provider توضيحات بيشتري ارائه خواهد شد

توضیح : در حال حاضر تنها با مسائل تئوریک آشنا میشیم و نیازی به ارائه مثال وجود نداره

موفق باشید

+ نوشته شده توسط نبيل پيروزمهر در جمعه 7 خرداد1389 و ساعت 22:13 |

سلام

بخشی دیگه از آموزش برنامه نویسی ADO رو در پیش میگیریم

توجه : در تمامي مراحل اين توجه رو داشته باشيد از آنجايي كه دستورات ADO بر مبناي كتابخانه ADO  نوشته ميشن ، به همين جهت از در انتخاب بودن كتابخانه Microsoft ActiveX Data Objects X.X Library اطمينان حاصل كنيد

Tools > References

X.X اشاره به نسخه مورد نظر از كتابخانه مورد استفاده داره .

قبل از اينكه شما به كمك ADO بتونيد اقدام به كار با اطلاعات كنيد لازمه كه در ابتدا اقدام به استقرار و برپايي يك ارتباط با ديتابيس مورد نظر داشته باشيد

همونطوري كه در قبل هم گفته شد ، شما اين كار رو به كمك آبجكت Connection به انجام ميرسونيد

از اونجا كه ADO قابليت اتصال به ديتا بيس كنوني ( ديتابيسي كه در حال حاضر در داخل اون هستيم ) و يا اتصال به ديتابيسهاي راه دور رو داره به همين جهت برخي مثالها در هر دو حالت مورد بررسي قرار ميگيرن

توضيح : اتصال راه دور رو به جايگريني اصطلاح Remote Connection به كار برديم ، در اين گونه اتصال فرض رو بر اين قرار ميديم كه شما به ديتابيسي غير از ديتا بيس جاري متصل ميشيد

در مثال اول نگاهي به نحوه اتصال به ديتابيسي كه در داخل اون هستيد و یا همون دیتابیس جاری ميندازيم تا با كليات اين نوع اتصال آشنا بشيد

در ابتدا اقدام به معرفي يك متغير ميكنيم كه بتونيم اين آبجكت رو معرفي و در مواقع لزوم بارگذاري و احيا كنيم

به كتابخونه ADODB وصل ميشيم و از داخل اون آبجكت Connection رو انتخاب ميكنيم پس متغیر رو معرفی میکنیم :

Dim localConnection As ADODB.Connection

اين دستور اقدام به معرفي يك متغير با نام localConnection و از نوع ADODB.Connection ميكنه

نام localConnection اختياري هستش و ميتونيد با توجه به نياز خودتون نام مناسبي رو انتخاب كنيد ولي نوع متغير كه ADODB.Connection هستش الزاماً بايستي به همين طريق معرفي بشه

در بخش بعدي شما نياز داريد كه توجه برنامه رو به سوي اين اتصال هدايت كنيد و آبجكت رو برپا كنيد ، از واژه كليدي Set جهت استقرار و بارگذاري آبجكت در حافظه سيستم كمك ميگيريم و آبجكت رو ايجاد ميكنيم

Set localConnection = CurrentProject.AccessConnection

به بخش دوم دستور توجه كنيد ، CurrentProject اشاره به پروژه جاري داره ، يعني همون پروژه اي كه در حال كار در داخل اون هستيم

در اينجا و در این مرحله فقط به صدور يك پيغام مبني بر موفق بودن اتصال اشاره ميكنيم

دستور كامل به صورت زير نوشته ميشه كه اون رو در داخل رويداد كليك يك دكمه پياده سازي كرديم

Private Sub cmdConnectToLocalDB_Click()

On Error GoTo ConnectionError

Dim localConnection As ADODB.Connection

Set localConnection = CurrentProject.AccessConnection

MsgBox “Local connection successfully established.”

Exit Sub

ConnectionError:

MsgBox “There was an error connecting to the database. “ & Chr(13) _

& Err.Number & “, “ & Err.Description

End Sub

کدها ممکنه در داخل ‌مرورگر به صورت به هم ریخته مشاهده بشن که با کپی به داخل برنامه به صورت صحیح به نمایش درخواهند اومد

توجه كنيد در هنگام كار با Connection ها و در مجموع هر گونه مدل برنامه نويسي ديتا بيس فرآيند Error Handler فراموش نشه ، کلیه خطاها بایستی مدیریت شده و به نحوی مناسب مورد تحلیل قرار بگیرن

عدم كنترل مناسب خطاها ميتونه منجر به بروز خطاهايي گاهاً مشكل ساز بشه

موفق باشید

+ نوشته شده توسط نبيل پيروزمهر در یکشنبه 2 خرداد1389 و ساعت 21:23 |

سلام

برنامه Classic Menu for Office 2010 جهت نمایش منوهای کلاسیک در داخل نرم افزار Office 2010 مورد استفاده قرار میگیره

این امر میتونه به کاربرانی که در کار با منوهای Ribbon دچار مشکل هستند کمک کنه

لینک دانلود مستقیم

+ نوشته شده توسط نبيل پيروزمهر در سه شنبه 28 اردیبهشت1389 و ساعت 21:25 |


ضمن سلام مجدد

بخش دوم آموزش برنامه نویسی ADO در مابکروسافت اکسس رو با هم پیش میگیریم

در این بخش شما رو به صورت مختصر , با واژه هاي كليدي مبحث ADO آشنا ميكنم ، به مرور با اين واژها و نحوه به كارگيري اونها بيشتر آشنا خواهيد شد و در اينجا تنها اين نياز وجود داره كه شما با كليات و تعاريف آشنا بشيد و بس

در تصویر زیر ساختار آبجکتهای اتصال در ADODB رو ملاحظه میکنید و در ادامه توضیحاتی مختصر در خصوص
هر یک :



Connection

نحوه رسيدن و دسترسي به Data Source در واقع توسط اين آبجكت تعريف ميشه ، شما در اين آبجكت مسير رو تعريف خواهيد كرد ، نحوه اتصال و شرايط برقراري اين اتصال رو كنترل ميكنيد

Command

دستورات و عملياتي كه بايد بر روي ديتابيس به انجام برسه رو از طريق اين پروسه به انجام ميرسونيد ، فرضاً يك دستور SQL رو به اجرا در مياريد تا اطلاعاتي رو حذف و يا به روز رساني كنه

پس شما توسط آبجكت Command ، دستورات ADO رو به مرحله عمل در مياريد

Field

ركوردستهاي ADO شامل يك و يا چند فيلد هستند ، فيلدها در ADO توسط آبجكت Field مورد هدف قرار ميگيرن ، توسط اين آبجكت شما قادر به انجام بسياري اعمال در خصوص فيلدهاي اطلاعاتي خواهيد بود

Parameter

اين آبجكت در ارتباطي مستقيم با آبجكت Command قرار داره ، و به شما اين امكان رو ميده كه پارامتري رو به صورت يك متغير به يك دستور SQL صادر كنيد

ADO از Parameter جهت انتقال يك متغير ورودي به يك پرس و جوي پارامتريك استفاده ميكنه

Recordset

اطلاعات برگردانده شده از سوي دستوري ، فرضاً از گونه SQL در ركورد ست ذخيره ميشه ، شما با كمك آبجكت Recordset قادر خواهيد بود در اطلاعات برگردانده شده تغييرات مورد نطرتون رو اعمال كنيد


توجه : واژه آبجكت در مبحث فوق مورد تاكيد واقع شده ، متاسفانه اين تصور نادرست در بين برخي برنامه نويسان و كاربران وجود داره كه آبجكت و يا شي ، تعريفي با اشاره به ماهيتي فيزيكي و قابل روئیت هستش ! به طور مثال خيلي ار كاربران يك دكمه رو كه با كشيدن در داخل يك فرم طراحي ميشه و يا آبجكتهايي از اين دست رو ، مبناي شي بودن ميدونن

اين احتمال وجود داره كه در آينده مطالبي در خصوص همين مبحث و در واقع برنامه نويسي مبتني بر شي گرايي – OOP در اکسس ، درج كنم

در حال حاضر تنها به همين امر بسنده كنيد كه كليه موارد فوق آبجكت بوده و با تعاريف ابن مبحث سازگار هستند

موفق باشید
+ نوشته شده توسط نبيل پيروزمهر در دوشنبه 27 اردیبهشت1389 و ساعت 10:28 |