یادگیری Castle ActiveRecord با مثال – قسمت سوم

قسمت اول | قسمت دوم

در ادامه می خواهیم اعمال CRUD را برای هر یک از کلاس های برنامه پیاده سازی کنیم. اگر از هر یک از کلاس های دامین برنامه یک نمونه بسازید متوجه خواهید شد که به علت مشتق شدن تمامی این کلاس ها از کلاس ActiveRecordBase تمامی اعمال مورد نظر ما توسط CAR پیاده سازی شده اند! یعنی شما نیازی نیست برای انجام اعمال CRUD متدهایی جدیدی به کلاس های دامین برنامه اضافه کنید. در واقع Castle ActiveRecord یک لایه دسترسی به داده های کامل برای شما مهیا می کند. کافیست شما قوانین تجاری برنامه خود را با override کردن متدهای کلاس ActiveRecordBase اعمال کنید.

برای درک بهتر فرض کنید می خواهیم یک کتاب جدید ایجاد و به دیتابیس اضافه کنیم. کد زیر را برای این کار می نویسیم :

using (new SessionScope())
 {
 Book book = new Book()
 {
 BuyPrice = 1000,
 SalePrice = 1200,
 Title = "Castle ActiveRecord"
 };
 book.Categories = new List<Category>();
 Category category = new Category() { Title = "ORM" };
 category.Save();
 book.Categories.Add(category);
 Author author = new Author() { Title = "Iman Nemati" };
 author.Save();
 book.Author = author;
 Publisher publisher = new Publisher() { Title = "Farasun" };
 publisher.Save();
 book.Publisher = publisher;
 book.Save();
 }

خوشبختانه این کد آنقدر واضح است که نیازی به توضیح اضافه ندارد. یکی از مزایای مهم استفاده از یک ORM همین واضح بودن کدهاست. متد Save ابتدا شیء را برای داشتن یک ID معتبر بررسی می کند و سپس بر اساس آن عمل Insert یا Update را انجام خواهد داد. در اینجا از SessionScope برای Insert کردن آبجکت های مختلف استفاده کردیم. با این کار Castle ActiveRecord یک ISession را برای ذخیره کردن تمام آبجکت های ما در دبتابیس بکار می گیرد. برای ذخیره کردن یک آبجکت به تنهایی نیاز به استفاده از SessionScope ندارید.

حالا فرض کنید می خواهیم شیء کتابی که در بالا به دیتابیس اضافه کردیم را به روز رسانی کنیم. مثلاً عنوان کتاب را عوض کنیم. برای این کار ابتدا باید اطلاعات کتاب مورد نظرمان را در یک آبجکت Load کنیم، اطلاعات آن را تغییر دهیم و برای ذخیره به دیتابیس بفرستیم. کلاس ActiveRecordBase متدهایی مناسبی را برای خواندن و به روز رسانی اطلاعات در اختیارمان قرار می دهد. با متد Find می توانیم اطلاعات یک آبجکت را بوسیله ID یکتای آن از دیتابیس بخوانیم و پس از اعمال تغییرات با استفاده از متد Save تغییرات را به دیتابیس بفرستیم.

Book book = Book.Find(SelectedBookId);
 book.Title = "Learn Castle ActiveRecord with Example";
 book.Save();

همانطور که می بینید انجام اعمال CRUD با استفاده از CAR به سادگی انجام پذیر هستند. به همین ترتیب برای Delete و Update نیز متدهای مناسب وجود دارد. فقط باید توجه داشته باشید که برای انجام Delete و Update آبجکت شما باید دارای یک ID معتبر باشد، اما برای Insert احتیاجی به ID معتبر نیست.

بازیابی رکوردها (Retrive)

همانطور که در اولین قسمت این سری آموزشی گفته شد، در الگوی ActiveRecord متدهای استاتیک بر روی کل رکوردهای دیتابیس و متدهای داینامیک (آن هایی که حتماً باید اول نمونه سازی شوند و سپس مورد استفاده قرار گیرند) بر روی یک رکورد خاص عمل می کنند. کلاس ActiveRecordBase شامل یکسری متد استاتیک است که بیشتر به منظور یافتن رکوردها بر اساس یک شرط پیاده سازی شده اند. برای دستیابی به رکوردها در دیتابیس می توانید از متدهای استاتیک زیر کمک بگیرید :

  • Find : آبجکتی شامل اطلاعات رکوردی از دیتابیس با ID مشخص شده را برمی گرداند.
  • FindAll : آرایه ای از آبجکت ها شامل اطلاعات تمام رکوردهای موجود در دیتابیس برای این کلاس را بر می گرداند.
  • FindAllByProperty : آرایه ای از آبجکت ها شامل اطلاعات تمام رکوردهایی که با شرط Property = Value برابر باشند را برمی گرداند.
  • TryFind : مانند Find است با این تفاوت که اگر رکوردی که با ID پاس داده شده وجود نداشته باشد هیچ خطایی رخ نخواهد داد.

بحثی در مورد بقیه متدهای این کلاس نخواهیم کرد چون می خواهیم برای دستیابی به رکوردها از کوئری های LINQ استفاده کنیم. برای این کار در پروژه Model برنامه مثال به فایل Castle.ActiveRecord.Linq ارجاع دهید. با استفاده از این کتابخانه می توانید از قابلیت های معمولی Linq برای اجرای کوئری روی کلاس های مدل خود برخوردار شوید. متدهای زیر را به کلاس Book خود اضافه کنید : (یادتان نرود اول فضای نام Castle.ActiveRecord.Linq را using کنید)

public static Book GetByID(long id)
 {
 return (from x in ActiveRecordLinq.AsQueryable<Book>()
 where x.ID == id
 select x).First();
 }

 public static List<Book> GetByAuthor(long authorID)
 {
 return (from x in ActiveRecordLinq.AsQueryable<Book>()
 where x.Author.ID == authorID
 select x).ToList();
 }

 public static List<Book> SearchWithTitle(string title)
 {
 return (from x in ActiveRecordLinq.AsQueryable<Book>()
 where x.Title.Contains(title)
 select x).ToList();
 }

 public static List<Book> GetBooksByPriceBetween
(decimal lowPrice, decimal highPrice)
 {
 return (from x in ActiveRecordLinq.AsQueryable<Book>()
 where x.SalePrice >= lowPrice &&
 x.SalePrice <= highPrice
 select x).ToList();
 }

همانطور که مشاهده می کنید با استفاده از سینتاکس آشنای Linq هر نتیجه ای که بخواهید می توانید از اطلاعات موجود در دیتابیس بدست آورید. حالا باید خودتان بتوانید متدهای مورد نیاز برای دسترسی به رکوردها را برای بقیه کلاس های پروژه بنویسید. پس دست به کار شوید!

farasun.wordpress.com

این مطلب ادامه دارد…

برای اینکه مطالب بعدی را از دست ندهید، مشترک فید فراسان شوید!

9+ منبع برای میزبانی پروژه های اوپن سورس و یافتن سورس کد

اگر شما روی یک پروژه اوپن سورس و آزاد کار می کنید یا می خواهید نرم افزار خود را با مجوز آزاد ارائه کنید، حتماً احتیاج به یک سیستم مدیریت پروژه که با استانداردهای پروژه های آزاد و اوپن سورس سازگار باشد خواهید داشت. فرق پروژه های آزاد با پروژه های تجاری این است، که کاربران نرم افزارهای آزاد و برنامه نویسان به راحتی می توانند در بهبود و پیشبرد آن سهیم باشند. وب سایت یک پروژه آزاد باید به کاربرانش اجازه گزارش خطا، آپلود Patch، پیشنهاد امکانات جدید و رای دادن به آن ها را بدهد و به توسعه دهندگان امکان همکاری تیمی، مدیریت پروژه و کنترل نسخه های پروژه را بدهد. خوشبختانه سرویس های متعددی به صورت رایگان این امکانات را در اختیار پروژه های آزاد و اوپن سورس قرار می دهند. در این مطلب به معرفی چند سرویس معروف برای میزبانی پروژه های آزاد و اوپن سورس خواهم پرداخت.

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

Sourceforge.net

featured-sourceforge-logo

معروف ترین سیستم هاستینگ و مدیریت پروژه برای پروژه های اوپن سورس است. کمتر برنامه نویسی پیدا می شود که با آن آشنایی نداشته باشد. در این سایت می توانید پروژه اوپن سورس خود را تعریف کنید و به صورت تیمی یا انفرادی روی آن کار کنید، پروژه خود را مدیریت کنید، نسخه های پروژه خود و سورس کدهایش را کنترل کنید. کاربران می توانند خطاهای پروژه شما را گزارش کنند و پیشنهادات و نظرات خودشان را ثبت کنند. این سایت مرجع مناسبی برای جستجو در میان خیل عظیمی از کدهای نوشته شده در پروژه های اوپن سورس معروف و قدرتمند است.

CodePlex.com

logo-home

کد پلکس جامعه اوپن سورسی است که توسط مایکروسافت پشتیبانی می شود. بسیاری از پروژه های اوپن سورس مبتنی بر پلت فرم دات نت و حتی غیر دات نتی مانند PHP در این سایت میزبانی می شوند. کدپلکس برای مدیریت پروژه های اوپن سورس امکانات خوبی ارائه می کند و کار کردن با آن آسان است. برای یافتن پروژه ها و کدهای مورد نیازتان می توانید از جستجوی کدپلکس کمک بگیرید. پروژه های اوپن سورس معروف دنیای دات نت مانند دات نت نیوک در کدپلکس میزبانی می شوند.

Google Code

code_search_logo_lg

مگر میشود درباره «جستجو» نوشت و از گوگل حرفی نزد. سرویس جستجوی کد گوگل یکی از بهترین راهکارها برای یافتن سورس کد در وب است. متاسفانه این سرویس مانند بسیاری دیگر از سرویس های این شرکت برای کاربران داخل کشور ایران مسدود است. علاوه بر این سرویس جستجو، گوگل کد به توسعه دهندگان امکان میزبانی پروژه های اوپن سورس را در اینجا می دهد.

Launchpad

Launchpad_logo

این وب سایت برای مدیریت پروژه و کار کردن به صورت تیمی روی پروژه های نرم افزاری اوپن سورس و تجاری بوجود آمده است. Launchpad امکانات بسیار مناسب و پیشرفته ای را در اختیار توسعه دهندگان نرم افزارهای مختلف قرار می دهد و دارای مخزن کد بسیار ایمنی است. کدهایی که Launchpad میزبانی می کند را می توانید در اینجا جستجو کنید. جالبه که بدانید Launchpad یکی از محصولات شرکت Canonical تولید کننده و پشتیبان اوبونتو یکی از محبوب ترین توزیع های لینوکس است.

GitHub

github_logo

اگر شما برای کنترل نسخه های کدهای پروژه خود از Git استفاده می کنید، این وب سایت بهترین انتخاب برای میزبانی پروژه شما خواهد بود. امکانات مدیریت پروژه و تیمی خوبی دارد و از امنیت بسیار مناسبی برخوردار است. GitHub به شما اجازه می دهد تا در مخزن کدهای عمومی پروژه های اوپن سورس موجود در این سایت جستجو کنید و به نتیجه دلخواه خود برسید.

CodeFetch.com

cofe

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

Koders

logo_big_bd

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

Merobase

meroBaseLogo

این وب سایت خودش را Component Finder معرفی کرده است. فکر می کنم با همین دو کلمه کاربرد این سرویس را متوجه شده باشید. کامپوننت ها اجزای نرم افزاری آماده ای هستند که برنامه نویسان می توانند از آن ها برای سرعت بخشیدن به روند توسعه پروژه خود استفاده کنند. به طور مثال قبل از اینکه بخواهید یک کامپوننت «ساعت» برای خودتان بسیازید، ابتدا در این سرویس دنبالش بگردید، شاید یک نفر قبلاً این کار را انجام داده باشید!

DZone Snippets

dzlogo-tagline-small

کاربران DZone هر روز سورس کدهای جدیدی را در این وب سایت قرار می دهند. این سرویس پیشرفت فوق العاده ای از زمان تاسیس خود داشته و نسبت به سرویس های مشابه خود از کیفیت بهتری برخوردار است. در این سایت کدهای زبان های اوپن سورس مثل PHP, Python, Java, Ruby یافت می شود و از کدهای دات نتی خبری نیست!

farasun.wordpress.com

اگر شما هم منبعی برای یافتن پروژه های اوپن سورس و سورس کد سراغ دارید با من و خوانندگان وبلاگ در میان بگذارید.

مشترک فید فراسان شوید! نمی دانید فید چیست!؟

مطالب مرتبط :

[Code to look] یکشنبه 20 اردیبهشت 88

من اعتقاد دارم که یکی از بهترین راه های یادگیری قابلیت های زبان های برنامه نویسی و فناوری های جدید برنامه نویسی، نگاه کردن به سورس کدهای آماده ای است که برای منظورهای مختلف نوشته شده اند. سایت هایی مثل گالری کد MSDN و سایت CodeProject شامل کدهای نمونه بسیار خوبی در مورد زبان های سی شارپ و ویژوال بیسیک و فناوری های جدید پلت فرم دات نت هستند. از این پس هر 10 روز یکبار در این وبلاگ شاهد پست هایی با عنوان «[Code to look]» خواهید بود که شامل لینک به تعدادی کد نمونه جالب و آموزشی از وب سایت های فوق خواهند بود. سعی میکنم نظم 10 روز یکبار این پست ها را حتماً رعایت کنم.

Employee Info Starter Kit

این پروژه قابلیت مدیریت اطلاعات کارمندان یک شرکت کوچک را دارد و به شما نشان می دهد که چگونه یک برنامه تجاری کوچک بنویسید. با نگاه کردن به کدهای این پروژه نکات زیادی از ASP.NET و SQL Server یا خواهید گرفت.

دریافت کنید

Asynchronous Sockets

این کد با استفاده از کتابخانه Nito.Async امکان فرستادن و دریافت پیغام، با استفاده از پروتکل TCP/IP دارد. این کد نمونه، نحوه ایجاد یک برنامه کلاینت/سرور که قادر به ارتباط با یکدیگر توسط برنامه نویسی سوکت هستند، را به شما نشان می دهد.

دریافت کنید

C# Samples for Visual Studio 2008

کدهای نمونه سی شارپ 2008 که شامل نمونه کدهایی است که امکانات جدید سی شارپ 2008 را به شما یاد می دهند.

دریافت کنید

Visual Basic 2008 Samples

کدهای نمونه ویژوال بیسیک 2008 که شما را با امکانات جدید این زبان محبوب با استفاده از مثال های متعدد، آشنا می کند.

دریافت کنید

Chess Board

بازی شطرنج ساده ای که با استفاده از سی شارپ 2005 نوشته شده و حتماً مطالب زیادی برای یاد دادن به شما دارد!

دریافت کنید

Glass Button using GDI+

نحوه ایجاد یک دکمه زیبا که به Glass Button معروف است را به شما در سی شارپ 2005 آموزش می دهد.

دریافت کنید

Show Your Data on Google Map using C# and JavaScript

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

دریافت کنید

اگر می خواهید مطالب این وبلاگ را از دست ندهید، مشترک فيد فراسان شويد.

چطور مشترک شويم؟

آزمایشگاه پردازش تصاویر

برای ویرایش تصاویر نرم افزارهای بسیار زیادی وجود دارد. معروف ترین و قوی ترین آن ها شاید Photoshop باشد. انتخاب یک نرم افزار مناسب در این زمینه به جواب این سئوال بر میگردد که معیار شما برای انتخاب یک نرم افزار ویرایش عکس چیست؟

Image Processing Lab ابزاری است کوچک ولی کاربردی برای پردازش عکس های دیجیتالی که دارای فیلترهای مختلف و ابزارهای تحلیل تصاویر است. این نرم افزار کاملاً رایگان و اوپن سورس ارائه شده است و برای افراد حرفه ای و غیر حرفه ای می تواند مفید باشد. iplab به شما کمک می کند تا عکس هایتان را هرچه ساده تر در محیطی دوستانه ویرایش کنید و از آن ساده تر آن ها را چاپ کنید. برنامه قابلیت باز کردن چند عکس را به صورت یکجا در تب های محتلف به شما می دهد (دقیقاً مانند Photoshop) و کار کردن با آن بسیار ساده است.

مشکل بزرگی که این برنامه ندارد، نبودن ابزار Undo است که در مواردی این برنامه را غیر قابل تحمل می کند. اما چیزی که باعث شد یک پست این وبلاگ را به معرفی این برنامه اختصاص بدهم، نکات آموزشی آن برای برنامه نویسان دات نت است.

برای برنامه نویسان دات نت

این برنامه به زیان سی شارپ و تحت دات نت فریم ورک نسخه 2 نوشته شده است و از کتابخانه AForge.NET برای پردازش تصاویر بهره می برد. شما می توانید با دانلود کتابخانه AForge.NET، خواندن راهنمای آن و مشاهده کدهای iplab راه خود را برای برنامه نویسی گرافیکی و پردازش تصاویر در دات نت پیدا کنید. امیدوارم از نکات آموزشی این پروژه حداکثر استفاده را ببرید.

برای ویرایش تصاویر من نرم افزار Paint .NET را به شما پیشنهاد می کنم!

iplab در CodeProject

دریافت AForge.NET

farasun.wordpress.com

Subcribe to Farasun feedمشترک فراسان شويد

farasun.wordpress.com

مطالب مرتبط :

تاریخ شمسی قابل حمل!

نسخه ی قبلی برنامه مشکلات کوچکی داشت که با کمک دوستان (چه کسانی که لطف کردند ایمیل فرستاند و چه کسانی که در این پست نظر خودشان را ابراز کردند) حل شد و بر اساس پیشنهادات تغییرات هر چند کوچکی در برنامه اعمال شد. هر چند به نظرم آنچنان که باید به Datefa توجهی نشد. به هر حال در این نسخه یک سری از مشکلات نسخه ی قبل حل شده است. همچنان برنامه، فایل «راهنما» و آیکون اختصاصی ندارد، یک نفر قول همکاری داد ولی هنوز از ایشان خبری نشده (با تشکر از آقای مسعود میر زمانی که زحمت طراحی آیکون و فایل راهنما را قبول کردند). در قسمت «تنظیمات» یک فرمت جدید تاریخ اضافه شده که قابلیت مشاهده ی تاریخ به صورت «سه شنبه 14 اسفند 1386» را به شما می دهد، که این فرمت به پیشنهاد آقای بهمن اضافه شد.

دریافت Datefa نسخه ی به روز شده با حجم 700 کیلو بایت

دو ویرایش جدید از این برنامه را آماده کردم. یکی ویرایش «قابل حمل» (Portable)Portable Datefa و دیگری ویرایش «کنسول»(Console). همان طور که از نام ویرایش قابل حمل پیداست هیچ نیازی به نصب ندارد و حجم بسیار پایینی دارد و به زبان انگلیسی ارائه شده است تا با تمام ویندوزها همخوانی داشته باشد. از ویرایش قابل حمل می توانید در حافظه های فلش و هنگامی که نمی خواهید برنامه Datefa را نصب کنید استفاده کنید و از ویرایش کنسول برای استفاده از تاریخ شمسی در Command Line ویندور. بنده ویرایش کنسول را برای نیاز شخصی نوشته ام، امیدوارم بقیه هم از آن سود ببرند.

دریافت ویرایش «قابل حمل» با حجم 250 کیلوبایت

دریافت ویرایش «کنسول» با حجم 28 کیلو بایت

پ.ن : لینک های دانلود غیر مستقیم می باشند و همگی درسایت Box.net میزبانی می شوند.

تاریخ شمسی با طعم آزادی!

کاربران فارسی سیستم عامل ویندوز به صورت پیش فرض ار قابلیت تاریخ شمسی برخوردار نیستند، این امر باعث ایجاد برنامه های زیادی جهت جبران این کمبود شده است. چندی پیش نیز در همین وبلاگ برای رفع این نیاز نرم افزار Datefa معرفی شد.Datefa Package نسخه اول این برنامه با حجمی بسیار پایین و کارایی نسبتاً خوب انتخابی مناسب برای استفاده از تاریخ شمسی در سیستم عامل ویندوز بود. پس از گذشت دوسال، نوبت به عرضه نسخه دوم برنامه رسید. تصمیم گرفتم این بار توابع Datefa را در محیط دلفی پیاده سازی کنم (نسخه اول با استفاده از ویژوال بیسیک نوشته شده بود). حوشبختانه قبل از این کار با کلاس TFarDate که توسط آقای سالار خلیل زاده نوشته شده بود آشنا شدم. از آنجا که توابع این کلاس کامل و بی نقص بودند نیازی به تغییر یا دوباره نویسی توابع تاریخ شمسی ندیدم و نسخه ی دوم Datefa را بر پایه TFarDate توسعه دادم و برای بخش های دیگر برنامه از کامپوننت های JVCL استفاده کرده ام. نتیجه کار به نظر خودم رضایت بخش بود و چند وقتی است که از آن استفاده می کنم. تصمیم گرفتم این نسخه را تحت مجوز GPL منتشر کنم تا هر کسی بر اساس نیازهای خودش قادر به سفارشی کردن Datefa باشد. نسخه ی جدید Datefa به غیر از امکان تبدیل تاریخ میلادی سیستم شما به شمسی دارای ویژگی های زیر می باشد :

  • مبدل تاریخ میلادی به شمسی و بالعکس
  • مبدل اعداد به حروف فارسی (توسط سعید رضائی، تصحیح شده توسط سالار خلیل زاده)
  • تنظیم زنگ هشدار
  • تعیین تنظیمات نرم افزار
  • اجرای خودکار نرم افزار هنگام بالا آمدن ویندوز
  • پشتیبانی از ویندوزهای ویستا، XP و 2003 (روی ویندوزهای دیگر تست نشده است)
  • کاملاً رایگان و اوپن سورس تحت مجوز GPL
استفاده از برنامه
پس از نصب و اجرای برنامه صفحه ی اول Datefa مطابق شکل زیر به مدت چند ثانیه به نماش در خواهد آمد. شما می توانید در قسمت «تنظیمات» برنامه این زمان را تغییر دهید.
سپس آیکون جدیدی کنار ساعت ویندوز شما (System Tray) ایجاد خواهد شد. از این پس شما قادر خواهید بود تا با دابل کلیک کردن روی آیکون مورد نظر، تاریخ شمسی را مشابه شکل زیر مشاهده نمایید. برای دسترسی به منوی نرم افزار روی همین آیکون کلیک راست کنید.
Ballon tip on XP
نسخه ی جدید Datefa تا اطلاع بعدی به صورت آزمایشی ارائه شده است تا پس از رفع مشکلات و نواقص احتمالی به عنوان یک نرم افزار کامل ارائه گردد. شما می توانید با آزمایش کردن این برنامه و ارائه نظرات خودتان در پیشبرد این پروژه سهیم شوید.
کمک به این پروژه
این پروژه مانند سایر پروژه های آزاد و اوپن سورس نیاز به همکاری کاربران متخصص و غیر متخصص برای کامل تر شدن دارد. منظور از کمک، به هیچ وجه کمک مالی نیست. شما می توانید با استفاده از راه های زیر در پیشبرد این پروژه همکاری نمایید :
  • این برنامه در مرحله آزمایشی (Public Beta) به سر می برد. شما می توانید با امتحان کردن این برنامه و گزارش خطاهای احتمالی و ارائه پیشنهادات و انتقادات سازنده در جهت رفع مشکلات برنامه، کمک بزرگی به ما بکنید.
  • اگر شما برنامه نویس هستید، می توانید با گزارش خطاهای برنامه نویسی و ارائه راه حل های مناسب برای افزایش کارایی برنامه قدم بزرگی برای پیشرفت این برنامه بردارید.
  • اگر وب سایت یا وبلاگ دارید می توانید این برنامه را به مخاطبان خود معرفی کنید.
  • این نرم افزار هنوز دارای یک «راهنما»ی مناسب نیست. هرکس مایل به نوشتن یک فایل «راهنما» برای این نرم افزار است با من تماس بگیرد. (ایمیل : imnemati -at- gmail.com)
  • این نرم افزار نیاز به یک «آیکون» اختصاصی با مضمون «تاریخ شمسی» دارد. هر کس توانایی این کار را دارد با من تماس بگیرید. (ایمیل : imnemati -at- gmail.com)
  • معرفی Datefa به دیگران و دادن یک نسخه از این برنامه به دوستان و آشنیان خود
اگر مایل به همکاری در زمینه های بالا هستید، در قسمت نظرات یبان کنید و یا با من تماس بگیرید. به امید آنکه این برنامه برای کاربران ایرانی سیستم عامل ویندوز مفید واقع گردد.
تصاویر برنامه : تنظیمات | زنگ هشدار| مبدل

دانلود برنامه «بانک سئوالات»

خیلی از دوستان برای دانلود برنامه بانک سئوالات مشکل داشته و دارند. از من درخواست داشتن که این برنامه را در یک هاست دیگر آپلود کنم. امروز این برنامه را می توانید از Box.net دانلود نمایید.

بانک سئوالات نرم افزاری بسیار کم حجم، ساده و کدباز برای نگهداری، مدیریت و دسته بندی سئوالات چهار گزینه ای است که شما می توانید به صورت رایگان از آن استفاده کنید و یا کد آن را به دلخواه خود تغییر داده و به نام خود منتشر نمایید. البته طراحی این برنامه به صورت بسیار ساده در محیط دلفی انجام شده است و قصد من از توزیع آن فقط جهت استفاده از نکات آموزشی آن بوده است.

دانلود نرم افزار بانک سئوالات (لینک غیرمستقیم) | توضیحات بیشتر