رادیو مثبت , شروع یک تجربه جدید

پیشنهاد میکنم تجربه جدیدی از یادگیری رو , احساس کنید

بر روی تصاویر کلیک کنید

 

موفقیت در کسب و کار برنامه نویسی

ضمن سلام

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

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

جهت ورود به سایت بر روی تصویر و یا لینک کلیک نمایید

 

راه اندازی فروم تخصصی - پشتیبانی CPSD

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

دانلود اکتیو ایکس , کامپوننت , نرم افزارهای برنامه نویسی و کتاب

 

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

 

 

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

قفل نرم افزاری Trial Keeper Professional , Anti Piracy System

 

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

در این میانه آیا میدانید :
- چه میزان از سرمایه شما ( زمان + پول ) به دلیل کپی غیر مجاز برنامه نرم افزاریتان به هدر رفته است ؟
- مجهز نمودن برنامه نرم افزاریتان به یک سیستم قفل گذاری مناسب تا چه میزان در برگشت سود و سرمایه‌تان مؤثر است ؟
- هزینه فروش نرم افزار از طریق تهیه 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.8 , تاریخ انتشار 1395/02/03

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

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

Download Setup File

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

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

ادامه نوشته

مجموعه کتاب های برنامه نویسی اکسس و اکسل - CPSD VBA Pack 2

با سلام


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

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

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

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

ادامه مطلب

ویدئوی آموزش استفاده از مبدل تاریخ شمسی Persian Date Converter


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


فعال سازی غلطک ماوس در اکسس 2013 - 2007

ضمن سلام

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

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

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

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

ادامه مطلب

Microsoft Office Access 2007 Forms, Reports, and Queries

با سلام

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



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

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

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

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

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

مقایسه آفیس 32bit و 64bit

سلام

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

لینک مقاله

اکتیو ایکس مبدل تاریخ میلادی به شمسی و بالعکس

 

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

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

این مبدل در محیط 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 مراجعه فرمایید

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

افتتاح تالار اختصاصی محصول CPSD MultiBox

با سلام

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

لینک تالار

عرضه MultiBox , محصولی به جایگزینی InputBox

MultiBox چیست ؟

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

لینک مرتبط 1

لینک مرتبط 2


جداسازی اعداد از یکدیگر

در برخی موارد این نیاز وجود داره که در اسناد ( گزارشات ) ارقام به صورتی مجزا به نمایش در بیان ( به صورت ذیل )



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

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

تهيه نسخه پشتيبان از فايل اكسس

با سلام

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

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

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

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

محاسبه تفاضل تاريخ شمسي

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

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

چرا باید نسبت به ارائه نسخه آزمایشی اقدام نمایم ؟؟؟

بررسي اجمالي دلايل ارائه نسخه آزمايشي از يك محصول نرم افزاري در فروم ‍CPSD

لينك مقاله

جلوگیری از حذف فایلهای اکسس در شبکه

این مقاله را میتوانید در فروم CPSD مطالعه فرمایید

تابع IIf

بررسی تابع IIf در فروم CPSD

اکتیو ایکس چیست ؟

سلام

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

تابع LCase و UCase

بررسی تابع LCase و UCase در فروم CPSD

تابع Switch

بررسی تابع Switch در فروم CPSD

تابع Left

بررسی تابع Left در فروم CPSD

بررسی توابع داخلی اکسس

ضمن سلام

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

در نهایت :

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

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

موفق باشید

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

ضمن سلام

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

دانگل - Dongle

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

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

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

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

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

معایب :

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

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

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

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

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

موفق باشید

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

آموزش قفل نرم افزاری SerialShield

ضمن سلام

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

معرفي كتاب بخش چهارم

سلام

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

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

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


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

وب سایت

آموزش ADO بخش چهارم

ضمن سلام , با هم نگاهی به بخش چهارم آموزش برنامه نویسی 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 توضيحات بيشتري ارائه خواهد شد

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

موفق باشید

آموزش ADO بخش سوم

سلام

بخشی دیگه از آموزش برنامه نویسی 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 فراموش نشه ، کلیه خطاها بایستی مدیریت شده و به نحوی مناسب مورد تحلیل قرار بگیرن

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

موفق باشید