تبلیغات
مقالات آموزشی برنامه نویسی و شبکه

طراحی متفاوت، رمز اصلی درخشیدن در میان رقباست


گروه نرم افزاری آرتاراکس

با ما متفاوت باشید

  • طراحی و ساخت انواع وب سایت با طراحی های متفاوت
  • طراحی و اجزای انواع نرم افزار
  • مشاوره، طراحی و ساخت انواع ایده های شما در حوزه نرم افزار
  • طراحی و ساخت انواع بازی (موبایل، کامپیوتر، PS4 و XBOX)

گزیده ای از نمونه کارهای ما:

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




نوشته شده در تاریخ دوشنبه 3 آبان 1395    | توسط: ح.م    |    | نظرات()


آموزش تصویری ارسال و دریافت ایمیل با نرم افزار outlook

اکثر ما دارای چندین اکانت ایمیل در سرور های مخنلفی مثل یاهو و جی میل هستیم و روزانه چندین مرتبه به ایمیل هامون سر میزنیم و اونارو چک می کنیم ، با توجه به سرعت پایین اینترنت چک کردن ایمیل ها از طریق وب میل (برین توی سایت جی میل و یا یاهو و یوزر و پسورد بزنین و لاگین کنین) خیلی خسته کننده و وقت گیره ، مخصوصا اگر مثل بنده چند تا سایت هم داشته باشین که هر کدوم هم یه آدرس ایمیل برای ارتباط با مشتریان و .... داشته باشن و بخواین مرتب این همه ایمیل رو چک کنین.
نرم افزار outlook یکی از نرم افزار های بسیار عالی در زمینه ارسال و دریافت ایمیل است ، بطوری که شما می تونین تمامی اکانت های ایمیلتونو روش ست کنین و با زدن یک دکمه ناقابل! کل ایمیل های تمامی اکانت هاتونو دریافت کنین.
مزیت دیگر این نرم افزار اینه که با زدن این دکمه ایمیل ها دانلود میشه و روی کامپیوتر خودتون قرار می گیره و می تونین هر زمان که دوست داشتین اونارو مطالعه کنین بدون اینکه نیاز به اینترنت!
یعنی یه بار به اینترنت وصل میشین و همه ایمیل های جدید دریافتیتون روی کامپیوترتون دانلود میشه و بعد هر زمان خواستین می تونین بصورت آفلاین (بدون نیاز به اینترنت) ایمیل هاتونو بخونین و ....
حتی می تونین در زمانی که به اینترنت وصل نیستین (دسترسی به اینترنت ندارین) ایمیل هایی که می خواین بفرستین رو آماده و ذخیره کنین و در زمانی که به اینترنت وصل شدین ، با زدن همون دکمه ای که در بالا گفتم ، عملیات ارسال/دریافت ایمیل رو استارت کنین تا ایمیل های ارسالی ارسال و ایمیل های دریافتی دریافت بشه ...

در آموزش قبل بصورت غیر تصویری نحوه ست کردن ایمیل بر روی نرم افزار outlook رو بیان کردم ، برخی دوستان تقاضای آموزش تصویری کرده بودند که براشون اینجا بصورت آموزش تصویری نحوه ست کردن ایمیل بر روی نرم افزار outlook رو قرار میدم.
دقت کنین که بنده روی نرم افزار outlook 2007 این کارارو انجام داده ام.



نوشته شده در تاریخ چهارشنبه 22 آبان 1392    | توسط: ح.م    | طبقه بندی: آموزش نرم افزارهای کاربردی،     | نظرات()


نوع داده ای nullable در سی شارپ

شاید شما هم در بسیاری از کدهای سی شارپ کدهایی همانند  int? i = 3 را دیده باشید و همیشه از خود پرسیده باشید که علامت سوالی که پس از عبارت int آمده است ، به چه معناست ؟

به راستی فرق بین int و ?int در چیست ؟

بگذارید مستقیم برم سر اصل ماجرا ... (بر خلاف اکثر سایت ها و کتابها ! ، در نت نیک اصلا تاریخچه نویسی و داستان گویی اعتقاد نداریم و صاف میریم سر اصل مطلب !)

در حالت عادی وقتی دارین متغیر هاتونو بوسیله دستوراتی مثل int و یا double و ... می نویسین متغیر هایی که می سازین نمی تونن مقدار null داشته باشن.
چون همانطور که می دونین ما دو نوع متغیر (نوع داده ای) در سی شارپ داریم:

  • Value Type
  • Refrence Type

نوع های داده ای value type  مثل همین int و double و .... می مونن که یک مقدار واحد رو درون خودشون نگهداری می کنن و بدین صورت هستند که با تعریفشون یک بخش از حافظه رم به متغیر شما اختصاص داده میشه و مقدار متغیر توی همون حافظه نگهداری میشه ...

نوع های داده ای refrence type همانند کلاس های سی شارپی مثل SqlConnection و یا کلاس های دست ساز خودتون می مونن که برای استفاده ازشون باید بصورت SqlConnection con = new SqlConncection() عمل کنین و باید حتما از دستور new استفاده کنین و این نوه های داده ای می تونن حاوی چندین خصوصیت (عدد و رشته و ...) و چندین تابع باشن (متد) و نوع پیشرفته تری نسبت به نوع های value type هستند.

استفاده از دستور new برای اینه که شما در اصل دارین یک نمونه (instance) از کلاستون می سازین.

بعنوان مثال من یک کلاس ماشین دارم که توی خودش خصوصیاتی مثل رنگ ، مدل ، اندازه ، حداکثر سرعت و .... داره.

حال می تونم ازش یک نمونه ماشین پراید بسازم  و بعد یک نمونه ماشین بنز بسازم و ....

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

خوب چطوریه که اطلاعات این نمونه ها روی رم قاطی پاطی نمیشه و این نمونه ها از هم مجزا میشن ؟

وقتی شما دارین یک نمونه (instance) از یک کلاس می سازین ، روی رم یک بخشی برای نگهداری اطلاعات نمونه ایجاد شده در نظر گرفته میشه و آدرس این بخش از رم درون نمونه شما قرار می گیره ، بنابراین در مثال بالا ، درون متغیر pride  و متغیر benz آدرسی از رم که اطلاعات رنگ و ... درونش ذخیره شده قرار می گیره.

NULL چیست ؟

وقتی که یک نمونه refrence type به هیچ آدرسی از حافظه اشاره نکنه ، با مقدار null پر میشه.

بنابراین null بدین معنی است که برای نمونه هنوز بخشی از حافظه اختصاص داده نشده و بنابراین نمونه ما به هیچ آدرسی از حافظه اشاره نمی کنه.


ضرورت نیاز به متغیرهای NULLABLE :

در برخی از موارد بالاخص مواقعی که با دیتابیس دارین کار می کنین ، وقتی بخواین داده ای از دیتابیس رو درون یک متغیر مثلا از نوع int بریزین ، این احتمال وجود خواهد داشت که مقدار null دریافت کنین و از اونجایی که متغیرهای value type نمی تونن مقدار null درون خودشون جای بدن ، با خطای مهلک مواجه خواهید شد.
(خطای مهلک خطایی است که کلا فعالیت سایت رو متوقف می کنه)
راه حل چیست ؟
برای جلوگیری از این مشکل ، مایکروسافت نوع های داده ای شبیه به ?int و ?double و .... رو معرفی کرده است ، درون این نوع های داده ای مقدار null هم می تونیم بریزیم ، بدون اینکه خطای مهلک دریافت کنیم ...

همانطور که بیان شد ضرورت نیاز به متغیر های nullable که بتونن مقدار null درون خودشون نگهداری کنن بیشتر در زمان کار با دیتابیس مشخص میشه ، زیرا اکثر فیلد های دیتابیس خاصیت قرار گرفتن NULL درونشون رو دارن و دریافت و استفاده از این اطلاعات و ریختن اونها درون متغیر های غیر nullable همیشه ممکنه موجب دریافت خطای مهلک بشه ...

برای اطلاعات بیشتر می تونین به مقاله زیر مراجعه نمایید:
موفق باشید

نوشته شده در تاریخ جمعه 17 آبان 1392    | توسط: ح.م    | طبقه بندی: آموزش سی شارپ،     | نظرات()


آموزش تغییر مقدار انتخاب شده در دراپ داون لیست (DropdownList) از طریق مقدار

در آموزش قبل روش تغییر مقدار انتخاب شده در دراپ داون لیست (DropdownList) از طریق متن رو آموزش دادم.
اما گاهی نیاز داریم که مثلا با داشتن مقدار آی دی (Value) گزینه انتخاب شده را تغییر دهیم، این مورد بیشتر در صفحات ویرایش خیلی نیاز است ، فرض کنید می خواهید یک خبر را ویرایش کنید ، وقتی روی دکمه ویرایش می روید فرمی شامل عنوان ، دسته بندی و متن خبر را خواهید دید ، حال آنکه در بخش دسته بندی از کنترل DropDownList باید استفاده نماییم تا کاربر بتواند دسته بندی کنونی خبر را ببیند و در صورت تمایل آن را تغییر دهد.

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

برای این کار خیلی راحت توسط کد زیر می توانیم این کار را انجام دهیم:


به همین سادگی شما می توانید دسته بندی کنونی خبر مورد نظر را درون دراپ داون لیست نمایش دهید (مقدار انتخاب شده ی دراپ داون لیست بر روی دسته بندی کنونی تنظیم می شود)
موفق باشید.

نوشته شده در تاریخ چهارشنبه 15 آبان 1392    | توسط: ح.م    | طبقه بندی: آموزش ASP.NET،     | نظرات()


آموزش ساخت تکست باکسی که فقط بشه توش فارسی بنویسیم در asp.net

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

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

خوب برای این کار باید از کنترل Expression Validator ای اس پی دات نت استفاده کنیم :


به همین سادگی ...
موفق باشید ...
در مقالات آموزشی بعدی کارهای بهتری با جی کوئری خواهیم کرد و جی کوئری ای جکس (jquery ajax) رو هم با هم فرا خواهیم گرفت.
فکر کنم وقتی قدرت و سرعت جی کوئری ای جکس رو ببینین دیگه سراغ روش های سرور ساید نرین و تمام پروژه هاتونو full ajax بزنین

نوشته شده در تاریخ چهارشنبه 1 آبان 1392    | توسط: ح.م    | طبقه بندی: آموزش ASP.NET،     | نظرات()


آموزش ساخت تکست باکسی که ارقام (اعداد) رو سه رقم سه رقم جدا کنه با جی کوئری

با سلام، فرم ها بخش مهمی از سایت ها می باشند . در سایت های فروشگاهی و مالی - حسابداری که با ارقام سرو کار دارند، با گذاشتن تکست باکسی که ارقام رو سه رقم سه رقم جدا کنه می تونین لذت کار با سایت رو به مشتریاتون هدیه بدید :)

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

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

خوب فرض کنین که من یه همچین تگی دارم :
حال برای اینکه کاری کنم که کاربر فقط توش عدد بتونه بنویسه :


به همین سادگی ...
دقت کنین که اگر به جای input دارین از کنترل TextBox خود asp.net استفاده می کنین ، باید حتما خصوصیت ClientIDMode اونو برابر با Static قرار بدین تا آی دی طرف کلاینت همون آی دی طرف سرور بشه. (وگرنه آی دی طرف کلاینتتون ممکنه به چیزی شبیه به Content_NetNic یا یه چیز عجیب تر تبدیل بشه!)

در آموزش بعدی نحوه ایجاد تکست باکس فارسی (فقط بشه توش فارسی بنویسیم) با ASP.Net Expression Validator رو یاد میدم...
موفق باشید

نوشته شده در تاریخ چهارشنبه 1 آبان 1392    | توسط: ح.م    | طبقه بندی: آموزش ASP.NET، آموزش jQuery،     | نظرات()


انواع سطوح دسترسی در سی شارپ

در سی شارپ دستوراتی داریم برای تنظیم نحوه دسترسی به توابع و متغیرهای برنامه مون.

در زیر این دستورات را مورد بررسی قرار می دهید.

 

- Public Access Modifier :

به این معنی كه هیچ گونه محدودیتی قائل نیستیم. وقتی من كلاس public تعریف می كنم به این معناست كه هر كسی چه داخل پروژه من و چه خارج از پروژه من امكان استفاده از كلاس من را دارد.

مثال : یک شخص که با بلند گو در یک مراسم صحبت میکند و همگان صدای او را میشنوند


-Protected Access Modifier :

وقتی درون یک کلاس مثل Person متغیر یا متدی را از نوع Protected تعریف کنیم فقط کلاس هایی که از person ارث بری دارن میتوانند از این متغیر ها یا متد ها استفاده کنند .

نکته : دقت داشته باشید كهProtected برای گروه آیتم های اول (كلاس ها و...) قابل استفاده نیست.

مثال : کلاس مهندسی نرم افزار را در نظر بگیرید ، اگر ثبت نام در این کلاس را به عنوان ارث بری فرض کنیم و ویدئو های ضبط شده در این کلاس را به عنوان متغیری از نوع protected در نظر بگیریم فقط افرادی که در کلاس مهندسی نرم افزار ثبت نام کرده اند قادر به استفاده و کپی از ویدئو ها میباشند


- Internal Access Modifier :

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

مثال : پروژه ای با نام A داریم که در آن  متغیری با نام Test با دسترسی Internal تعریف کرده ایم ، بدیهی است حتی اگر namespace پروژه A را در پروژه دیگری (مثلا پروژه B) اضافه نماییم ، به دلیل دسترسی Internal قادر نخواهیم بود ، به متغیر Test موجود در پروژه A دسترسی پیدا کنیم که اصطلاحا می گوییم متغیر Test از دورن پروژه B دیده نمی شود ...


-Modifier Protected Internal Access :

تلفیقی از Protected و Internal است .یعنی اگر متغیری از این نوع تعریف شود فقط در پروژه جاری و فقط در کلاس جاری و گلاس های فرزند کلاس جاری قابل دسترسی است .


مقالات آموزشی دانشجویی برنامه نویسی و الکترونیک و شبکه

-: Private Access Modifier

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

نکته : دقت داشته باشید كهPrivate  برای گروه آیتم های اول (كلاس ها و...) قابل استفاده نیست.

مثال : اگر در کلاس Person یک متغیر از نوع Private تعریف کنیم فقط در کلاس Person قابل استفاده است

نوشته شده در تاریخ چهارشنبه 1 آبان 1392    | توسط: ح.م    | طبقه بندی: آموزش سی شارپ،     | نظرات()


آموزش کامل انواع روش های واکشی اطلاعات در سی شارپ و asp.net - بخش سوم

در آموزش های قبلی برخی روش های دریافت اطلاعات از دیتابیس و نمایش اون در صفحات رو آموزش دادم.
امروز می خوام  روش های دیگر دریافت اطلاعات از دیتابیس (ado.net) رو آموزش بدم.

3- با استفاده از Entity Framework عزیز دلم

البته به زودی یک تالار مخصوص Entity Framework باز می کنم و بصورت کامل کامل این تکنولوژی عزیز و دوست داشتنیمو آموزش میدم.


در این روش ابتدا شما باید Add New Item بزنین و بعد یک فایل از نوع ADO.Net Entity Data Model به پروژتون اضافه می کنین و اون رو روی دیتابیستون تنظیم می کنین و Next میزنین تا آخر.
(اول کانشکن جهت اتصال به دیتابیس رو می گیره و بعد لیست تمامی جداول و پروسیجر های دیتبایستون رو میاره که همه رو تیک میزنین و تمام)

* دریافت یه عالمه دیتا (چندین سطر) از دیتابیس:

با فرض اینکه من مدلم رو با نام MyModel ساخته ام و entity خودمو هم با نام MyEntities ساخته ام، داریم:

ابتدا مدلم رو به صفحه ام اضافه می کنم:

سپس در رویداد لود داریم :

با توجه به حجم کم کدهای من ، فکر می کنم دلیل علاقه شدید بنده رو درک کرده باشید


* دریافت یک رکورد (یک سطر) از دیتابیس:

شایان ذکر است که کدهای Entity Framework رو به دو صورت میشه نوشت :

1- با دستورات LINQ
2- با دستورات Lambda


در بالا من به روش لامبدا نوشتم.
این روش هم کوتاه تره و هم باحال تره و هم اینکه وقتی شما با LINQ دستورات رو بنویسین ، در زمان اجرا این دستوران به زیان لامبدا تبدیل و سپس اجرا میشن ، پس اگر لامبدا کد بزنین هم جذاب تره و هم اینکه یک مرحله کار اجرا جلو می افته و مسلما سرعت اجرای دستوراتتون بالاتر میره.


* دریافت یه مقدار واحد از دیتابیس:

برای دریافت یک مقدار واحد 2 تا راه داریم که در بالا هر دو رو نوشته ام.

در روش اول من پروپرتی مورد نظر رو فقط از دیتابیس گرفته ام؛ این دستور موجب اجرای دستور SQL ای "SELECT Name FROM Members" رو دیتابیس میشه

در روش دوم من همه پروپرتی ها رو از دیتابیس گرفته ام و بعد فقط از Name اون استفاده کرده ام؛ این دستور موجب اجرای دستور SQL ای "SELECT * FROM Members" رو دیتابیس میشه

مسلما روش اول بهینه تره.

امیدوارم که از سری آموزش های روش های واکشی اطلاعات از دیتابیس من خوشتون اومده باشه
سری کامل مقالات آموزش ado.net رو می تونین از اینجا مشاهده نمایید.

نوشته شده در تاریخ شنبه 27 مهر 1392    | توسط: ح.م    | طبقه بندی: آموزش ado.net، آموزش Entity Framework، آموزش ASP.NET،     | نظرات()


آموزش کامل انواع روش های واکشی اطلاعات در سی شارپ و asp.net - بخش دوم

در آموزش های قبلی برخی روش های دریافت اطلاعات از دیتابیس و نمایش اون در صفحات رو آموزش دادم.
امروز می خوام  روش های دیگر دریافت اطلاعات از دیتابیس (ado.net) رو آموزش بدم.

ب) با استفاده از SqlDataAdapter :


می بینین که این روش چقدر باحاله و با کمترین کد یک گرید ویو رو پر کردیم

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

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

و دیگه نیاز نیست برای هر کاری به دیتابیس مراجعه کنید ، فقط کافیه که هر بار که در دیتابیس تغییری اعمال می کنین ، DataTable تونو یکبار رفرش کنین.

البته در سی شارپ یک کلاس با نام DataSet داریم که می تونه یک عالمه DataTable رو توی خودش نگداری کنه که بدین صورت شما می تونین یک کپی از کل اطلاعات دیتابیس داشته باشید

بدین صورت که کل اطلاعات هر یک جداولتون رو توی یک DataTable می ریزید (Fill می کنین) و بعد DataTable ها رو دونه دونه داخل یک DataSet می ریزید.

ج) با استفاده از Scalar :

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


در اینجا من اسم کسی که آی دی اش 2 است رو از دیتابیس گرفته ام و با توجه به اینکه ستون آی دی ما همیشه Identity است پس 100% مقدار این ستون منحصر به فرده ، پس خروجی دستور من یا null است و یا یک مقدار واحد رو برمی گردونه.

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

به همین سادگی.

در آموزش بعدی بهترین و زیبا ترین روش دریافت اطلاعات از دیتبایس که همانا Entity Framework است رو آموزش خواهم داد.




نوشته شده در تاریخ شنبه 27 مهر 1392    | توسط: ح.م    | طبقه بندی: آموزش ASP.NET، آموزش ado.net،     | نظرات()