X
تبلیغات

طراحی سایت

قالب وبلاگ

نرم افزار ايران

طراحی سایت


نرم افزار ايران
 
نرم افزار برنامه نویسی و کاربردی و تحت وب
نوشته شده در تاريخ دوشنبه بیست و پنجم شهریور 1392 توسط امير بلالي

حتما خيلي از شما دوستان -كه كمي هم حرفه اي هستيد- با تخم مرغ برنامه ها آشنايي داريد …

ولي براي آندسته از دوستاني كه با اين قضيه زياد آشنا نيستند ميگم كه معمولا در برنامه هاي ويندوزي يك قسمتهايي هست كه دور از دسترس كاربران عادي هست و در اون قسمتها معمولا نام برنامه نويسان اون محصول و همچنين تيمهاي كاري كه روي اون محصول كار كردن رو نشون ميده…

مثلا تو اينترنت اكسپلورر هم از اين چيزا هست كه مي تونيد نام برنامه نويسان رو ببينيد. تازه اسم دو يا 3 نفر ايراني هم تو اونا هست كه البته اين مال ورژن 5 بود و من الان ديگه نگاه نكردم…

حالا از اينا كه بگذريم ميرسيم به دلفي خودمون تو اين مقاله بهتون ميگم كه چطوري ميتونيد نام برنامه نويسان و ديگر گروههاي كاري بورلند رو حتي عكس دسته جمعي اونا رو ببينيد…

1- دلفي 7 رو اجرا كنيد. از منوي Help/About رو انتخاب كنيد حالا همونطور كه موس روي پنجره About هست دكمه Alt رو نگه داريد و تايپ كنيد developers حالا بصورت Scroll نام برنامه نويسان دلفي رو ميبينيد.

2- در همون پنجره Help/About كليد Alt رو نگه داريد و تايپ كنيد team حالا اسم همه كارمندان و اونهايي كه به نحوي در دلفي درگير بودن رو ميبينيد.

3- تو همون پنجره Alt رو بگيريد و تايپ كنيد quality حالا نام افراد ديگر و پستهاي آنها رو مبينيد. اسم يكنفر هم هست كه احتمالا ايراني اصل بايد باشه چون فاميليش احتشام زاده هست…

4- همونطور كه ميدونيد JEDI يك گروه بسيار بزرگي هست كه ابزار بسيار مفيد و با ارزشي رو براي برنامه نويسان دلفي تهيه كرده (اگر شما حرفه اي باشيد ختما از ابزارهاي اون در برنامه هاتون استفاده كردين) و از همه بهتر هم اينكه انها رو بصورت OpenSource در اختيار همه قرار داده. براي همين هم تو همين قسمت اگر Alt رو بگيريد و تايپ كنيد JEDI بورلند هم از افراد اين گروه تشكر كرده و در آخر هم سايت گروه رو قرار داده …

حالا ميرسيم به قسمت داغ ماجرا كه ميدونم همه منتظر اين قسمت بودين !!!

ديدن عكسهاي تيم دلفي. خوب براي ديدن اين قسمت لازم نيست بريد تو Help/About . براي ديدن عكسها بايد وقتي كه دلفي رو اجرا ميكنيد همون لحظه كه پنجره Splash داره مياد كليدهاي Ctrl+shift رو نگه داريد … چند بار اينكارو بكنيد و نتيجه رو ببينيد …

منبع: http://iranbefa.blogfa.com


برچسب‌ها: دلفی, امیربلالی, کبودراهنگ
نوشته شده در تاريخ دوشنبه بیست و پنجم شهریور 1392 توسط امير بلالي
الگوريتم تبديل تاريخ ميلادي به تاريخ شمسي :

تبديل تاريخ ميلادي به شمسي بسيار راحتتر از تبديل تاريخ شمسي به ميلادي است. براي نوشتن اين الگوريتم به اختلاف روزهاي ميان اولين روز سال ميلادي و اولين روز سال شمسي نياز داريم که اين اختلاف روز (در صورتي که سال کبيسه باشد يا نباشد) "79" روز است. براي تشخيص کبيسه بودن يا نبودن سال از روش زير استفاده مي کنيم:
"اگر سال داده شده بر100و 400 بخشپذير باشد" يا بر" 100 بخشپذير نباشد بر 4 بخشپذير باشد" آنگاه سال کبيسه است، در غير اين صورت سال کبيسه نيست.با توجه به کبيسه بودن يا کبيسه نبودن سال مشخص مي کنيم که در کدامين روز سال ميلادي قرار داريم.دو حالت پيش مي آيد:

• روزي که در آن قرار داريم از 79 بيشتر است 
به اين معني است که در ماههاي بعد از فروردين قرار داريم.حال بايد مشخص کنيم که در 6 ماه اول سال شمسي قرار داريم يا در 6 ماه دوم سال قرار داريم،براي اينکار ابتدا 79 روز از تعداد روزها کم مي کنيم تا در اول فروردين قرار بگيريم حال اگر تعداد روزها از "186" (31*6) کمتر باشد يعني در 6 ماه اول سال شمسي قرار داريم در غير اينصورت در 6 ماه دوم قرار داريم.

1. اگر در 6 ماه اول سال قرار گرفته باشيم :تعداد روزها را بر "31" تقسيم مي کنيم (6 ماه اول در سال شمسي 31 روزه است.)اگر باقيمانده اين تقسيم صفر شد خارج قسمت تقسيم برابر با ماه شمسي مي شود و روز شمسي برابر با 31 مي شود.اگر باقيمانده صفر نشود ماه شمسي برابر با خارج قسمت باضافه يک مي شود و روز شمسي همان باقيمانده است.

2. اگر در 6 ماه دوم سالقرار گرفته باشيم : "186" روز از تعداد روزها کم مي کنيم و آن را بر "30" تقسيم مي کنيم .اگرباقيمانده اين تقسيم صفر شد خارج قسمت تقسيم باضافه"6" برابر با ماه شمسي مي شودو روز شمسي برابر با30 مي شود.اگر باقيمانده صفر نشود ماه شمسي برابر با خارج قسمت باضافه "7" مي شود و روز شمسي همان باقيمانده است. سال شمسي از تفاضل سال ميلادي با "621" بدست مي آيد.

• روزي که در آن قرار داريم کمتر از "79" است :
که اين به اين معني است که درروزهايي بين اولين روزسال ميلادي تا اولين روز شمسي (ماههاي دي ،بهمن و اسفند)قرار داريم.اختلاف روز بين اولين روز سال ميلادي داده شده و اولين روز دي ماه در سال شمسي را در نظر مي گيريم که اين اختلاف براي سال کبيسه"11" و براي غير کبيسه "10" است.*دقت کنيد که در اين الگوريتم براي مشخص کردن اين اختلاف بايد سال قبل از  سال داده شده را در نظر بگيريم زيرا سال قبل بر روي اولين روز سال ميلادي تاثير مي گزارد.* 
اختلاف روز با تعداد روز محاسبه شده جمع مي کنيم ، آن را بر"30" تقسيم مي کنيم(3 ماه آخر سال شمسي 30 روزه است.).
اگر باقيمانده اين تقسيم صفر شود خارج قسمت تقسيم باضافه"9" برابر با ماه شمسي مي شودو روز شمسي برابر با "30" مي شود.اگر باقيمانده صفر نشود ماه شمسي برابر با خارج قسمت  باضافه"10"مي شودو روز شمسي همان باقيمانده است.در اين حالت سال شمسي از تفاضل سال ميلادي با"622" بدست مي آيد.(زيرا در سال قبل قرار داريم.)

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

Function MiladiToShamsi(var Year, Month, Day: Word): String;
const
  count_days : array[1..12] of Byte = (31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
var
  i: Byte;
  st: String;
  day_year: Integer;
begin
  day_year:= 0;
  for i:= 1 to month - 1 do
    day_year:= day_year + count_days[i];
  day_year:= day_year + day;

  if IsLeapYear(Year) and (month > 2) then
    Inc(day_year);

  if (day_year <= 79) then
  begin
    if ((Year - 1) mod 4 = 0) then
      day_year:= day_year + 11
    else
      day_year:= day_year + 10;

    Year:= Year - 622;

    if (day_year mod 30 = 0) then
    begin
      Month:= (day_year div 30) + 9;
      Day:= 30;
    end
    else
    begin
      Month:= (day_year div 30) + 10;
      Day:= day_year mod 30;
    end;
  end
  else
  begin
    year:= year - 621;

    day_year:= day_year - 79;
    if (day_year <= 186) then
    begin
      if (day_year mod 31 = 0) then
      begin
        Month:= (day_year div 31);
        Day:= 31;
      end
      else
      begin
        Month:= (day_year div 31) + 1;
        Day:= day_year mod 31;
      end;
    end
    else
    begin
      day_year:= day_year - 186;
      if (day_year mod 30 = 0) then
      begin
        Month:= (day_year div 30) + 6;
        Day:= 30;
      end
      else
      begin
        Month:= (day_year div 30) + 7;
        Day:= day_year mod 30;
      end;
    end;
  end;   // else  .

  st:= IntToStr(Year) + '/';
  if (Month < 10) then
    st:= st + '0';
  st:= st + IntToStr(Month) + '/';
  if (Day < 10) then
    st:= st + '0';
  st:= st + IntToStr(Day);

  Result:= st;
end;

منبع:http://iranbefa.blogfa.com


برچسب‌ها: تبدیل تاریخ میلادی به شمسی, امیربلالی
نوشته شده در تاريخ دوشنبه بیست و پنجم شهریور 1392 توسط امير بلالي
تاریخچه دلفی

در سال 1995 اولین نسخه Delphi با نام Delphi 95 توسط شرکت Borland به بازار عرضه شد. در این ده سال فعالیت شاهد تغییرات زیادی در ساختار و معماری این ابزار قوی برای برنامه نویسی و توسعه نرم افزارها بودیم. اول با Delphi 95 که امکان طراحی برنامه های اجرایی هم در محیط Win32 و هم Win16 (مانند Windows 3.1) را داشت شروع شد و با پیشرفت روز به روز صنعت نرم افزار و تکنولوژی های برنامه نویسی Delphi هم رشد کرد.


سال 1996 در نسخه دوم Delphi 2 ابزارهایی برای گزارشگیری و رسم نمودار وجود داشت که توانست خیلی بالاتر از دیگر رقبا به بازار وارد شود. و از این نسخه بود که Delphi دیگر فقط برای Win32 استفاده میشد.


در سال 1997 با به بازار آمدن Delphi 3 یک جهش اساسی در ابزار RAD بوجود آمد که باعث شد بسیاری از برنامه نویسان به Delphi روی آورند. اما نکته ای که برنامه نویسان ایرانی را تا آن زمان آزار میداد نبودن امکاناتی برای برنامه نویسی فارسی بود. به همین دلیل هنوز هم بسیاری از برنامه نویسی ایرانی با اینکه به قدرت و سرعت Delphi پی برده بودند اما برای برنامه نویسی ساده تر و فارسی هنوز با محصول صرفا آموزشی مایکروسافت به نام VB کار میکردند. و این مهمترین دلیل پایین بودن سطح برنامه نویسی تحت Windows در آن روزگار بود. که البته در همان سالها بود که نمایندگی رسمی شرکت بورلند نیز به دلیل تحریم ایران توسط آمریکا تعطیل شد.


 اما در سال 1998 که یک سال رویایی برای برنامه نویسان ایرانی بود Delphi 4 پا به عرصه بازار برنامه نویسی ویندوز گذاشت. (در همین سال هم بود که Borland اولین نسخه Kylix برای Linux را نیز به بازار داد) برای اولین بار وقتی که Delphi 4 نصب شد اولین چیزی که در کترلهای آن توجه هر برنامه نویس ایرانی را به خود جلب میکرد گزینه ای بود به نام BiDiMode. بله این همان چیزی بود که ما منتظرش بودیم با استفاده از این امکان بود که تعداد زیادی از Componentهای فارسی نویسی با امکان از چپ به راست نویسی به برنامه های تحت ویندوز اضافه شد. البته این امکان باعث شد که Internationaliztion نیز در برنامه های نوشته شده با Delphi نیز بوجود بیاید که نه تنها در ایران بلکه در بسیاری از کشورهای دیگر نیز مورد استقبال قرار گرفت. در آن زمان تنها برتری که VB و VC نسبت به Delphi داشتند امکان نوشتن VBA (VB for Application) بود که با استفاده از آن میشد برای محصولات Office برنامه هایی نوشت که البته در Delphi هم با استفاده از OLE Container امکان استفاده از آن نرم افزارها وجود داشت ولی کمی مشکل بود و احتیاج به سواد بالایی از برنامه نویسی داشت.


 سال 1999 با آمدن Delphi 5  به بازار علاوه بر تغییرات بسیار جالب و مفیدی که در محیط IDE بوجود آمده بود یک Tab هم به قسمت ابزار Delphi اضافه شده بود با نام Server که این دقیقا همان امکاناتی بود که برای برقراری ارتباط با Office مورد استفاده قرار میگرفت. در این نسخه از دلفی نیز امکانات زیادی برای اتصال به بانکهای اطلاعاتی ایجاد شد علاوه بر آن امکاناتی برای برنامه نویسی اینترنت بوجود آمد و همچنین استفاده از WinSock نیز بسیار راحتتر شده بود و مهمتر از همه Quick Report هم تمامی نیازهای گزارشگیری برنامه نویسان را جواب میداد.


 سال 2000 که Delphi 6  به بازار آمد (البته این نکته را هم عنوان کم که در Turbo Pascal و تا Delphi 5 یک امکانی وجود داشت که شما می توانستید Constantهایی که در برنامه تعریف میکنید را در قسمتهایی از برنامه بنا به خواست خود تغییر دهید که البته این بیشتر به این دلیل بود که ما از همان زمانی که با Pascal کار میکردیم عادت کرده بودیم که اگر می خواهیم متغییری بسازیم که بتوان به آن مقدار اولیه داد از Constant استفاده می کردیم. برای همین هم با برداشتن این امکان که خوب منطقی هم بود (چون Constant یعنی همین که تغییر نکند!!!!)

 به سال 2001 رسیدیم سالی که Borland حجت را بر برنامه نویسان Win32 تمام کرد و تمام امکانات و قدرتهای برنامه نویسی در Windows و Internet و هر چیز دیگری که می توانید فکرش بکنید را فراهم کرد. در این سال بود که من بالاخره دل از Delphi 5 کندم و زندگی را با Delphi 7  پی گرفتم !  امکانات بسیار زیاد برای برنامه نویسی اینترنت مانند IntraWeb, WebServices, NSAPI-ISAPI, WEBSnap, Indy, ... باعث شد که Delphi 7 بعنوان قویترین ابزار برای برنامه نویسی اینترنت خودنمایی کند. البته Borland در سی دی دوم Delphi 7 یک کمپایلر و یک سری ابزار دیگر قرار داد که شاید اول توجه هیچ کس را به خود جلب نکرد اما در سال 2003 همان ابزارها باعث شد که Delphi 7 بعنوان بهترین و سریعترین ابزار برای برنامه نویسی و توسعه برنامه ها در NET. در بیاید. بله حتی بالاتر از محصولات VisualStudio که برای NET. ایجاد شده بودند.  همین امر سبب شد تا در سال 2002 Borland تمام تلاش خود را متوجه حرکت از Win32 به سمت NET. بکند. و در این سال هیچ محصولی به بازار عرضه نشد.


 در سال 2003 تقریبا اواخر سال بود که بورلند اعلام کرد اولین محصول خود را که برای برنامه نویسی NET. تولید شده است را به بازار می دهد و همینطور هم شد. پس از دو سال انتظار Delphi 8 به بازار آمد محصولی که هر برنامه نویس Delphi که برای اولین بار آنرا اجرا میکرد مدتی فقط محو تغییرات بسیار عمده ای میشد که در آن داده شده بود. بطوریکه تمام ساختار IDE که در نسخه های پیشین فقط با تغییرات جزیی به بازار می آمد، حال کاملا عوض شده بود. و همین باعث این بود که در این نسخه Borland زیاد موفق نباشد چرا که سرعت پایین در اجرا شدن برنامه و داشتن یک سری مشکلات ریز و درشت در IDE ان و همچنین نبودن امکانی برای برنامه نویسی WIN32 باعث شد که بسیار از برنامه نویسان فعلا با همان Delphi 7 کار کنند و منتظر محصول بعدی بمانند. و در همین سال بود که Borland یک Update برای Delphi 7 منتشر کرد.

و حال میرسیم به بزرگترین و جادویی ترین محصولی که حتی ابر مرد نرم افزار جهان (بیل گیتس) اعلام کرد این محصول برای ما یک چالش اساسی ایجاد خواهد کرد، با نام DiamondBack در کنفرانس Borcon2004 مطرح شد و در سپتامبر سال 2004 Delphi 2005 متولد شد. امکانات و ابزارهای بسیار و از همه مهمتر راهنما و اموزشهای کافی و  ساده که هماره این نسخه بود باعث شد که مورد توجه بسیاری از برنامه نویسان قرار بگیرد.

منبع:http://iranbefa.blogfa.com


برچسب‌ها: دلفی, امیربلالی, کبودراهنگ
نوشته شده در تاريخ دوشنبه بیست و پنجم شهریور 1392 توسط امير بلالي

یادگیری Asp.NET را از کجا و چگونه شروع کنیم؟

اکنون باید زبان برنامه نویسی خود را انتخاب کرده باشید که ما زبان c#را برگزیده ایم، در اینجا چند مبحث زیر را ارائه خواهم کرد :

  1.  نصب و راه اندازی Visual Studio.NET
  2. آشنایی با محیط نرم افزار
  3. اشنایی با نحوه کار AspNET
  4. نکات کلی

برای شروع کافیست یکی از نسخه های Visual Studio.NET را تهیه کنید

نصب نرم افزار Visual Studio یا VS  توضیح خاصی ندارد ، مانند همه نرم افزار ها خیلی ساده با چند مرحله Next زدن نصب می شود ، پس از پایان نصب نرم افزار را اجرا نمایید .

وقتی برای بار اول نرم افزار اجرا شود سوالی مبنی بر تنظیمات محیط از شما پرسیده می شود ، پیشنهاد می کنم شما گزینه Web Development را انتخاب نمایید .

برای ایجاد یک پروژه وب جدید وارد منوی File > New Website شوید ، در این پنجره تنظیمات وب سایت جدید شما قرار دارد ، دو گزینه مهم در این قسمت Location و Language می باشد ، شما برای Location سه انتخاب دارید :

  1. File System : در این حالت بدون نیاز به نصب IIS میتوانید پروژه وب خود را در آدرس فیزیکی هارد دیسک ایجاد کنید
  2. Http : فقط در حالتی که IIS نصب شده است کاربرد دارد .
  3. Ftp : از این گزینه برای ایجاد یک وب سایت به از طریق پروتوکل FTP در یک سرور دیگر استفاده می شود که کاربرد زیادی ندارد .

همچنین یک لیست بازشو برای انتخاب ورژن Dotnet Framework نیز قرار داده شده است ، پیشنهاد می کنم حتی المقدور با آخرین ورژن آن کار کنید .

سپس Language خود را طبق زبانی که انتخاب کرده اید برگزینید و پروژه را ایجاد کنید .

 به صورت پیشفرض یک صفحه وب به نام Default.aspx به پروژه شما اضافه خواهد شد ، در مورد این صفحه در ادامه بیشتر صحبت خواهیم کرد .

اکنون یک پروژه وب جدید در اختیار داریم ، بهتر است کمی با پنجره های این نرم افزار آشنا شویم :

 

نرم افزار VS.NET داری 4 پنجره بسیار مهم می باشد :

  1. پنجره Solution Explorer : برای نمایش این پنجره مسیر  View > Solution Explorer را انتخاب کنید . این پنجره وظیفه نمایش تمامی فایل های پروژه شما را بر عهده دارد ، از طریق این پنجره شما قادر خواهید بود صفحات مختلف را باز کرده ، ویرایش و مدیریت نمایید . همانطور که در تصویر زیر ملاحظه می کنید این پنجره در سمت راست بالای تصویر قرار گرفته است .
  2. پنجره ToolBox : برای نمایش مسیر View > Toolbox را بمیپایید ، در این پنجره تمامی ابزار لازم جهت طراحی فرم ها در اختیار شما قرار داده می شود ، همانطور که در تصویر ملاحظه می کنید این پنجره در سمت چپ تصویر قرار دارد .
  3. پنجره Properties : برای ظاهر کردن این پنجره  View > Properties Window را انتخاب نمایید ، این پنجره تمامی خواص و رویداد های یک شی را نمایش می دهد ، در مورد خواص و رودیداد در قسمتهای بعدی به تفصیل صحبت خواهد شد ، همانطور که ملاحظه می کنید این پنجره در سمت راست پایین صفحه قرار گرفته است .
  4. پنجره اصلی : این پنجره که در تصویر در وسط صفحه قرار گرفته است شامل بخش های اساسی جهت طراحی و کد نویسی می باشد ، همانطور که مشاهده می کنید در بالای این پنجره صفحات مختلف شما به صورت Tab در کنار هم قرار گرفته اند که شما به راحتی میتوانید آنها را انتخاب نمایید ، در قسمت پایین این پنجره 3 گزینه وجود دارد :  
  • Design : با انتخاب این گزینه یک صفحه سفید در اختیار شما قرار داده خواهد شد ، شما میتوانید از منوی ابزار، اشیا مورد نظر را داخل این فضا Drag نمایید . همچنین میتوانید از منوی Table که در بالای نرم افزار VS.NET قرار گرفته جداول مختلفی در این فضا ایجاد نمایید .
  • Source : هر چیزی که شما در بخش Design به صفحه اضافه نمایید یک کد معادل خواهد داشت که در این بخش نمایش داده می شود ، این صفحه بر اساس و پایه HTML طرح ریزی می شود بنابراین یادگیری HTML در فهم این کدها و به تبع آن طراحی بهتر شما کمک خواهد کرد .
  • Split : این صفحه همانطور که از نامش پیداست ترکیبی از دو نحوه نمایش فوق را به نمایش می گذارد .

نکته ای در مورد این پنجره ها :

  1. پنجره ها خاصیتی برای Auto hide شدن دارند که در قسمت فوقانی هر پنجره با شکل قرار گرفته است، که فضا را برای کد نویسی باز تر خواهد کرد .

همانطور که ملاحظه کردید به صورت پیشفرض یک صفحه به نام Default.aspx به پروژه شما اضافه شد که میتوانید آن را از طریق Solution Explorer باز نمایید ، لازم به ذکر است که صفحات وب در Asp.NET با پسوند aspx شناخته می شوند ، برای اضافه کردن یک صفحه جدید به پروژه روی نام صفحه وب در Solution Explorer کلیک راست کرده و سپس گزینه Add New Item را انتخاب کنید(و یا وارد منوی Website شده و گزینه Add New Item را برگزینید )، در پنجره باز شده لیستی از تمام آیتم هایی که شما قارد هستید به پروژه اضافه کنید نمایش داده می شود ، از بین این آیتم ها گزینه اول یعنی Web Form را انتخاب کرده در فیلد Name یک نام لخواه مثلاpage.aspx برای این صفحه انتخاب کنید ، از لیست Language زبان مورد نظر را انتخاب کرده و حتما تیک Place Code In Seperate File را علامت دار کنید ، این کار باعث میشود که صفحه طراحی شما از صفحه کد نویسی شما جدا شود . در مورد گزینه Select Master Page هم بعدا صبحت خواهد شد .

پس از تایید ، صفحه جدید به پروژه اضافه شده و به صورت پیشفرض در حالت Source در پنجره اصلی گشوده می شود ، با کلیک بر روی گزینه Design به حالت طراحی وارد شوید ، اکنون میخواهیم یک فرم ساده ایجاد کنیم و چند خط کد نویسی خیلی ساده انجام دهیم .

بدین منظور از پنجره Toolbox و از بخش Standard ابزار Textbox را پیدا کرده و آن را در صفحه اصلی Drag نمایید (همچنین با Double Click کردن بر روی هر کدام از آیتم ها نیز ابزار مورد نظر به صفحه اضافه می شود) ، سپس یک Button هم به همین صورت به صفحه اضافه نمایید .

هر یک از این ابزار که شما داخل صفحه انداختید از این پس یک شی محسوب می شود ، شما میتوانید خواص مختلف هر یک از این اشیا را تغییر دهید ، برای این کار روی شی مورد نظر  (مثلا Button که در صفحه قرار داده اید)  کلیک کنید تا انتخاب شود ،سپس در پنجره Propertiesخواص انرا بررسی و تغییر دهید (ویا روی شی مورد نظر  کلیک راست کرده و گزینه Properties را برگزینید) :

همانطور که ملاحظه می کنید خواص این Button در پنجره Properties نمایش داده خواهد شد ،هر شی خواص مختص به خود را داشته و برخی خواص مانند BackColor و... در بین همه اشیا مشترک هست ، این خواص به چند دسته مختلف تعیین شده است ، خواص ظاهری ، خواص که مربوط به رفتار شی است و... برخی از خواص مهم تر بوده و کاربرد بیشتری دارد ، مانند خاصیت Text و خاصیت ID ، خاصیت Text متن نوشته شی را مشخص می کند و خاصیت ID شناسه شی است و نمیتواند تکراری باشد .

نکته : از آنجایی که خاصیت ID شناسه هر شی می باشد و ما در کد نویسی اشیا را با ID پیدا می کنیم ، همیشه سعی کنید خاصیت ID تمام اشیا روی صفحه را تغییر دهید ، مثلا اگر یک Textbox برای دریافت ایمیل کاربر قرار دادید ID آن را txtEmail بگذارید ، اگر یک Label برای نمایش نام کاربر قرار دادید ID آن را lblName قرار دهید و اگر یک Button برای تایید فرم گذاشتید ID آن را btnSubmit قرار دهید .

منبع: http://tajiki-m.blogfa.com



برچسب‌ها: asp, net, امیربلالی, کبودراهنگ
نوشته شده در تاريخ پنجشنبه هفتم شهریور 1392 توسط امير بلالي

 کاربران گرامی جهت دانلود مقالات و پروژه  های برنامه نویسی به لینک زیر مراجعه نمایید

لینک


برچسب‌ها: امیربلالی, نرم افزار ایران, برنامه نویسی, پروژه
نوشته شده در تاريخ سه شنبه بیست و یکم آذر 1391 توسط امير بلالي
آموزش زبان php - آرایه ها (Array) در php
آرایه چیست ؟
آرایه عبارتست از یک سری خانه های به هم پیوسته حافظه که همه آنها هم جنس هستند و با یک نام به آنها رجوع می شود .
این تعریف یک تعریف کلی در اکثر زبانهای برنامه نویسی است . البته در php شرط هم جنس بودن وجود ندارد .
مثلا فرض کنید بخواهید یک برنامه بنویسید که در آن قرار است اطلاعات یکسری از دانشجویان یک کلاس را در یکسری متغیر قرار دهیم و پردازشی روی آن انجام شود چه کار باید انجام دهیم ؟ آیا به ازاء هر دانشجو یک متغیر بگیریم ؟ آیا اصلا تعداد دانشجویان را از قبل می دانیم ؟ اگر تعداد آنها مرتب تغییر کند و پویا باشد چه ؟ اصلا فرض کنیم تعداد را هم بدانیم اگر تعداد آنها زیاد بود چه کنیم مثلا در مورد یک دانشگاه که ممکن است ده هزار نفر دانشجو داشته باشد به تعداد این متغیر ها فکر کرده اید ؟ ضمن اینکه احتمالا پردازش همه آنها شامل عملیات یکسانیست ولی با تعریف یک متغیر برای هر دانشجو عملا از کامپیوتر هیچ بهره ای نبردیم . چرا که آن عملیات را برای هر ده هزار نفر باید تکرار کنیم  (یعنی کد را کپی و پیست کنیم) . حال لگر برای هر دانشجو بخواهیم فقره های اطلاعاتی مختلفی از جمله شماره دانشجویی ، نام ، نام خانوادگی و ... را ذخیره کنیم شرایط به مراتب بد تر هم می شود .
فلسفه وجودی آرایه همینست که قرار است یکسری پردازش مشخص بر روی تعدادی (احتمالا زیاد) شیء هم جنس انجام شود . یعنی برای تک تک اشیاء عملیات یکسان خواهد بود . حال بهینه ترین راه برای دستیابی به این اشیاء استفاده از ساختمان داده ایست که همه را تحت یک نام ذخیره کرده و بعد با یک آفست یا شماره یا هر مکانیزم دیگری بتوان به آنها دسترسی داشت .
برای تعریف آرایه در PHP می توان از دستور زیر استفاده کرد :
$array = array();
?>
با این کار (استفاده از دستور array) یک آرایه ایجاد کرده ایم . حتی می توانیم به هنگام ایجاد آرایه مقادیر خانه های آنرا نیز مشخص کنیم . ولی نکته ای که در همین ابتدا باید به آن اشاره کنم اینست که آرایه در PHP بسیار منعطف تر از آرایه در زبان های دیگری مانند c است . چرا که هم این متد را می توانید بدون پارامتر بکار برید و هم با پارامتر . همچنین در تعداد پارامتر ها محدودیتی وجود ندارد می توانید تا دلتان بخواهد پارامتر به این متد بدهید و لزومی هم ندارد که تعداد خانه های آرایه از قبل مشخص باشد و حتی می توانید بعد از تعریف آرایه خانه ای به آن بیفزائید .  به مثال زیر توجه کنید :
$cars = array("BMW" , "Audi" , "Benz");
$countries = new array("Iran" , "Germany" , "Egypt" , "The U.S");
?>
همانطور که می بینید در خط اول ، آرایه ای با 3 عضو و در خط دوم آرایه ای با 4 عضو تعریف شده است .
در زبان PHP سه نوع آرایه وجود دارد :
1- آرایه های عددی (Numeric Array)
2- آرایه های انجمنی (Associative Array)
3- آرایه های چند بعدی (Multidimensional Array)

1- آرایه های عددی در PHP
آرایه عددی یا Numeric Array آرایه ایست که در اکثر زبان های برنامه نویسی وجود دارد . در این آرایه ، به کل آرایه یک نام می دهیم بدین ترتیب هر یک از خانه های آرایه یک شماره ایندکس می گیرد و با آن شماره خاص می توانیم به یک خانه خاص آرایه دست بیابیم. به مثال زیر توجه کنید :
$cars = array("BMW" , "Audi" , "Benz");
$countries = new array("Iran" , "Germany" , "Egypt" , "The U.S");
echo "Our cars are : ".$cars[0]." , ".$cars[1]." , ".$cars[2];
$cars[3] = "Opel";
?>
همانطور که می بینید به خانه های آرایه با یک شماره که به نام آرایه اضافه شده است دسترسی پیدا کردیم . این شماره اندیس آرایه یا ایندکس (index) یا آفست نام دارد . اندیس آرایه از شماره صفر شروع می شود و همانطور که می بینید در خط آخر این برنامه یک خانه به آرایه اضافه شده است به همین سادگی ! بدون آنکه از قبل و در هنگام تعریف آرایه فکرش را کرده باشیم . البته پیمایش آرایه یا دستیابی به خانه های آرایه معمولا به این شکل انجام نمی شود بلکه با استفاده از دستور foreach (حلقه foreach) این کار قابل انجام است . اگر میخواهید راجع به دستور foreach بیشتر بدانید، مطلب حلقه های تکرار while و for از همین سایت را مطالعه فرمائید.

2- آرایه های انجمنی (Associative Array)
آرایه انجمنی آرایه ایست که در آن به ازاء هر مقدار (هر خانه) یک فیلد بنام کلید نیز در نظر گرفته می شود که این کلید باید در بین کلید های خانه های دیگر منحصر به فرد و یکتا باشد . برای دستیابی به خانه های یک آرایه انجمنی ، دیگر از اندیس عددی استفاده نمی شود بلکه از فیلد کلید به عنوان رشته کلیدی دستیابی استفاده می شود . به مثال زیر توجه کنید :
$ages =  array("Ali" => 21 , "Ahmad" => 24 , "Akbar" => 19);
echo $ages["Ali"];
?>
این کد یک آرایه انجمنی با سه عضو ایجاد می کند و بعد به هنگام استفاده از کلید هایی که به هنگام تعریف داده شده برای دستیابی به عضو مربوطه استفاده می شود در اینجا باید حواستان باشد که این کلید مانند سایر موارد دیگر در PHP به حروف بزرگ و کوچک حساس است (Case Sensitive).
آرایه های انجمنی نقش عمده و مهمی در PHP بازی می کنند . اکثر کارها در PHP از دریافت پارامترهای ارسالی از صفحات وب گرفته تا واکشی اطلاعات از دیتابیس همه و همه از آرایه های انجمنی استفاده می کنند . آرایه هایی مانند $_GET ، $_POST ، $_SESSION ، $_COOKIE و ... نمونه هایی از آرایه های انجمنی هستند .

3- آرایه های چند بعدی (Multidimensional Array) :
این نوع آرایه ، آرایه ایست که هر عضو آن می تواند خود آرایه باشد . در حقیقت این نوع آرایه همانست که به آن آرایه ای از آرایه ها می گویند . حال این آرایه می تواند عددی باشد ، می تواند انجمنی باشد . در هر دو نوع آرایه چند بعدی وجود دارد . حتی بعد های مختلف می توانند انواع مختلف داشته باشند مثلا بعد اول انجمنی باشد و بعد دوم عددی مانند مثال زیر :
$families = array(
"Alavi"=>array("Ali" , "Ahmad" , "Akbar") ,
"Akbari=>array("Hasan" , "Mahdi"),
"Ahmadi"=>array("Zahra" , "Majid" , "Maryam" , "Meisam")
);
echo "Second Member of Alavi family is : ".$families['Alavi'][1];
?>
این آرایه دارای بعد اول انجمنی و بعد دوم عددیست . در حقیقت در سطح اول یک آرایه انجمنی داریم که دارای سه عضو است : خانواده های Alavi ، Akbari  و Ahmadi . و در سطح دوم هر یک از این خانواده های اعضای خود را دارند که در داخل هر خانواده با شماره (ایندکس) به آنها دست می یابیم بنابراین سطح دوم عددیست .
همانطور که از مثال فوق نیز پیداست یکی از تفاوت های عمده ای که آرایه در PHP با آرایه در سایر زبانها دارد اینست که در آرایه های چند بعدی PHP لازم نیست تعداد اعضای بعد های دوم به بعد با هم برابر باشند مانند مثال فوق که یک آرایه دو بعدیست که اولین عضو بعد اول دارای 3 عضو در بعد دوم و دومین عضو بعد اول (خانواده Akbari) دارای دو عضو در بعد دوم است .
 
*************************
تابع چیست ؟
آیا تا به حال شده که از انجام یک کار تکراری در برنامه نویسی خسته شده باشید و پیش خود بگوئید ای کاش یکبار این کار را به کامپیوتر می گفتم و هر موقع دلم میخواست از او می خواستم که آن کار را انجام دهد ؟ اگر جواب مثبت است تابع همان چیزیست که شما آرزوی آنرا داشتید . (اگر هم جواب منفی است به این معنیست که شما هنوز در اصول پایه ای برنامه نویسی مشکل دارید بهتر است به عقب برگردید و اصول برنامه نویسی ساخت یافته را دقیق تر و با تمرین بیشتری یاد بگیرید) .
تابع در حقیقت قطعه کدیست که یکبار آنرا می نویسید و برای آن یک اسم انتخاب می کنید و هربار احساس نیاز کردید کدی که داخل تابع نوشته اید باید اجرا شود می توانید فقط با صدا زدن نام تابع (خواهیم دید) آن تابع و در حقیقت دستورات داخل آنرا اجرا کنید . کد زیر شکل کلی تعریف تابع است :
function ()
{
//Do Somethings
}
?>
برای اجرا و اصطلاحا فراخوانی تابع فوق به شکل زیر عمل می کنیم :
();
?>
نام تابع چه به هنگام تعریف و چه به هنگام فراخوانی حداقل با یک زوج پرانتز باز و بسته همراهی می شود . این زوج پرانتز برای نگهداری لیست پارامتر ها یا آرگومان های تابع است که در ادامه معنی و لزوم وجود آنها را خواهیم دید . فرض کنید بخواهیم تابعی بنویسیم که فقط وظیفه چاپ یک پیغام را دارد و هیچ آرگومانی دریافت نمی کند تعریف و فراخوانی این تابع به شکل زیر خواهد بود :
function printName()
{
echo "Mohammad Abdollahi";
}
echo " Your Name is ";
printName();
?>
این تابع وظیفه نوشتن نام را بر عهده دارد و تا وقتی که فراخوانی نشود اجرا نخواهد شد . در حقیقت نوشتن یک قطعه کد داخل بلوک تابع ضمانت نی کند که به هنگام لود صفحه و تا وقتی که تابع فراخوانی نشود آن قطعه کد اجرا نگردد . بنابراین پس از اجرای خط اول برنامه پیام Your Name is چاپ شده و سپس در خط بعدی با فراخوانی تابع قطعه کد داخل تابع اجرا شده و عبارت Mohammad Abdollahi چاپ می شود .
همانطور که شما نیز متوجه شدید اینگونه استفاده از تابع کارایی آنرا کاهش میدهد (بلکه موجب افزایش کد نویسی نیز می شود) . از آنجا که فلسفه ایجاد تابع تقسیم یک کار به بخش های کوچک تر است باید تابع را به گونه ای نوشت که کارها را زیادتر نکند و اصطلاحا بار اضافی وارد ننماید . مثلا فرض کنید برنامه ای نوشته اید که در یک سازمان در حال کار است . می خواهید هر فرد در سازمان پس از ورود به سیستم با پیغام فوق مواجه شود اگر به شکل بالا کدنویسی کنید باید برای چاپ نام هر فرد داخل سازمان یک تابع بنویسید بنابراین برای سازمانی با 2000 نفر پرسنل نیاز به 2000 تابع فقط برای چاپ نام هایشان دارید !!!! برای فائق آمدن بر این مشکل از پارامترهای تابع استفاده می کنیم . در حقیقت با این کار ، روال و منطق کار را از داده ها جدا می کنیم . به مثال زیر که تغییر یافته مثال بالا است توجه کنید :
function printName($userName)
{
echo $userName;
}
$name = "Mohammad Abdollahi";
echo " Your Name is ";
printName($name);
?>
در مثال فوق تابعی تعریف کرده ایم که یک پارامتر بنام userName دریافت کرده و آنرا چاپ می کند . به هنگام فراخوانی ، برای این پارامتر تابع یک آرگومان بنام name ارسال کرده ایم . در اینجا چون مثال ما صرفا جهت آموزش استفاده از پارامتر است متغیر name را دستی مقدار دهی کرده ایم ولی مثلا می تواند از دیتابیس پر شود . متغیر name که به تابع ارسال می شود در بدنه تابع نام userName به خود می گیرد . در حقیقت از این متغیر یک کپی در حافظه گرفته می شود و به آن در بدنه تابع userName گفته می شود و دیگر با متغیر اصلی ارسال شده کاری نداریم . حال برای چاپ نام هر نفر کافیست فقط نام وی را به این تابع ارسال کنیم و خود تابع را فقط یکبار می نویسیم .  نکته مهم در مطالعه PHP اینست که هر جا به عبارت پارامتر برخورد کردید منظور متغیریست که به هنگام تعریف تابع در سرآیند (Header) تابع معرفی شده است و هر گاه بنام آرگومان برخورد کردید منظور متغیر یا عبارتیست که به هنگام فراخوانی تابع استفاده شده است .

بازگشت مقدار از تابع با استفاده از دستور return :
اكثر اوقات لازم است كه تابع وظيفه اي كه بر عهده دارد را انجام داده و نتيجه آنرا به صورت خروجي به نقطه اي از برنامه كه تابع را فراخواني كرده بازگرداند . اين مهم با استفاده از دستور return قابل انجام است . بدين شكل كه مقدار بازگشتي از تابع را جلوي دستور return مي نويسيم . هر تابع مي تواند يك يا چند return داشته باشد ولي فقط يكي از آنها اجرا خواهد شد . چرا كه با اجراي اولين دستور return اجراي تابع خاتمه يافته و كنترل اجراي برنامه به كد فراخواني كننده باز مي گردد. به مثال زير دقت كنيد :
function add($num1 , $num2)
{
$sum = $num1 + $num2;
return $sum;
}
echo add(1,2);
?>
 
***************************
چيزي كه تا كنون بر روي اين سايت از زبان PHP ياد گرفته ايد شايد دقيقا چيزي نبوده كه شما به دنبال آن بوده ايد . زبان PHP به پويايي و تعامل با كاربر شهره است و اين كار را مي تواند به بهترين نحو انجام دهد . اگر بخواهيم با كاربر تعاملي داشته باشيم يعني ورودي از كاربر بگيريم يا چيزي شبيه اين بايد حتما ياد بگيريم كه چگونه با فرم ها كار كنيم . براي طراحي فرم ها از يكسري كنترل هاي برنامه نويسي استفاده مي كنيم . اكثر اين كنترل ها با تگ input زبان HTML قابل ايجاد هستند . منتها بايد بدانيم كه تا وقتي اين كنترل ها را در يك فرم قرار ندهيم به هنگام ارسال صفحه به سرور ، اطلاعاتي كه كاربر در اين كنترل ها وارد كرده به سمت سرور ارسال نخواهد شد . براي ايجاد يك فرم بايد از تگ فرم در HTML استفاده كرد . به شكل زير :
همانطور كه مي بينيد تگ فرم دو خصيصه مهم دارد . يكي خصيصه method و ديگري خصيصه action .
خصيصه method مشخص مي كند اطلاعات داخل فرم به چه شكلي سمت سرور ارسال شوند . اين خصيصه دو مقدار مي گيرد . اگر مقدار اين خصيصه get باشد اطلاعات داخل url قرار گرفته و سمت سرور ارسال مي شوند . اگر مقدار اين خصيصه post باشد اطلاعات داخل بسته هاي http قرار گرفته و به سرور ارسال مي شوند .
خصيصه action مشخص مي كند اطلاعات اين فرم براي پردازش به چه فايلي بايد ارسال شوند و به هنگام دريافت اطلاعات اين فرم توسط سرور كدام فايل سرور بايد اجرا شود . در حقيقت خصيصه method هم مشخص مي كند اطلاعات به چه شكلي بايد به دست اين فايل برسند و اين فايل به چه صورت به اطلاعات ارسالي از سمت client دسترسي پيدا كند .
براي درك بهتر اين مطلب مثالي را با هم مرور مي كنيم . منتها قبل از مطالعه و بررسي مثال اگر با تگ input در html آشنايي نداريد مطلبي با همين عنوان را در بخش آموزش HTML از همين سايت مطالعه كنيد .
حال فرض كنيد يك صفحه وب داريم كه داراي دو كنترل از نوع input و يك كنترل از نوع submit است . مي خواهيم در اين دو كنترل از نوع input عددي وارد كرده و با كليك بر روي دكمه submit وارد صفحه جديدي شده و حاصل جمع دو عدد وارد شده را به همراه پيغام مناسبي ببينيم . براي اين كار يك فايل ايجاد مي كنيم بنام data.php . يادتان باشد چون اين فايل حاوي كدهاي PHP نيست حتي مي تواند با پسوند html ذخيره گردد :
First Number :

Second Number :

هنگامي كه بر روي دكمه Add كليك شود ، چون كنترلي از جنس submit است اطلاعات آن به صورت خودكار به سرور ارسال مي شود . اگر يكي از input هاي فوق بيرون تگ form باشد اطلاعات مربوط به آن input به سمت سرور فرستاده نمي شود . هنگام ارسال به سمت سرور و به محض كليك بر روي دكمه Add (با فرض اينكه عدد اول 3 و عدد دوم 4 باشد) چون خصيصه action اين فرم با مقدار result.php مقدار دهي شده و خصيصه method آن نيز با get تنظيم شده است آدرسي كه در نوار آدرس مرورگر مشاهده خواهد شد عبارت خواهد بود از :
result.php?txtFirstNumber=3&txtSecondNumber=4
همانطور كه قبلا گفته شد، هنگامي كه از متد get استفاده شود اطلاعات فرم از طريق url ارسال خواهند شد . روال اين كار بدين شكل است كه كنترل ها بر اساس خصيصه name (و نه id) خود و سپس با يك علامت = و بعد مقداري كه در كنترل وارد شده در url ظاهر مي شوند .براي جدا كردن نام كنترل ها از نام صفحه از علامت سئوال ? استفاده مي شود و پس از علامت سئوال بلافاصله نام اولين كنترل و مقدار آن قرار مي گيرد .و بعد براي مرز بندي بين مقدار يك كنترل و نام كنترل بعدي براي كنترل هاي دوم به بعد قبل از نام آنها يك علامت & قرار مي گيرد .
واضح است كه متد get براي ارسال اطلاعاتي كه عامل امنيت براي آنها اهميت دارند استفاده نمي شود . مثلا اگر قرار باشد فرمي نام كاربري و كلمه عبور كاربران را دريافت كند آن فرم نبايد با استفاده از متد get سمت سرور ارسال شود .
حال در فايل result.php چه كاري بايد انجام دهيم ؟ اين فايل مي تواند مخلوطي از كدهاي PHP براي پردازش اطلاعات ارسالي از كلاينت و كد هاي HTML براي قالب بندي صفحه و نمايش اطلاعات باشد . بهتر است كه حتي اگر براي قالب بندي و نمايش اطلاعات از كد HTML استفاده نمي كنيد از تگ هاي HTML ، Head و body براي استاندارد سازي صفحات استفاده كنيد . نمونه اي از پياده سازي فايل result.php را با هم در زير مي بينيم :
$sum = $_GET['txtFirstNumber'] + $_GET['txtSecondNumber'];
echo "The Sumation of ".$_GET['txtFirstNumber']." and ".$_GET['txtSecondNumber']." is ".$sum;
?>
براي دريافت اطلاعات از فرمي كه توسط متد get ارسال شده بايد از آرايه انجمني $_GET استفاده كرد . توجه داشته باشيد كه به هنگام نوشتن تگ فرم عبارت get را به هر نحو (از نظر بزرگي و كوچكي حروف) كه دوست داشته باشيد مي توانيد بنويسيد زيرا تگ فرم به زبان HTML نوشته مي شود و اين زبان Case Sensitive نيست . اما در PHP نام اين آرايه حتما بايد به همين شكل (يعني با حروف بزرگ) نوشته شود . ضمن اينكه اين آرايه ، يك آرايه انجمني است  يعني به عناصر آرايه بايد با يك كليد دسترسي پيدا كرد . حال اين كليد چيست ؟ مقدار خصوصيت name كه در تگ input در فرم HTML به كار رفته است .
اگر همين مثال را بخواهيم با متد post انجام دهيم كافيست در فرم HTML در قسمت method به جاي get ‌بنويسيم post . و در فايل result.php نيز به جاي آرايه $_GET از آرايه $_POST كه آن نيز انجمني است استفاده شود . توجه داشته باشيد كه در بسياري جاها از اين دو آرايه با نام تابع ياد شده است كه اشتباه است . در PHP تابع $_GET يا تابع $_POST نداريم . هنگامي كه اين مثال را با متد post بازنويسي كنيد مي بينيد كه به هنگام كليك بر روي دكمه Add آدرس نهايي result.php خواهد بود و هيچ گونه پارامتري در url ارسال نخواهد شد .
حال كه با اين دو متد ارسال صفحات وب يعني متد get و متد post آشنا شديد ببينيم اين دقيقا چه تفاوتهايي با هم دارند :
تفاوت متد get و متد post :
از آنجايي كه متد get تمامي كنترل ها و مقادير آنها را از طريق url به سمت سرور ارسال مي كند واضح است كه اولين تفاوت get و post اينست كه از طريق متد get تنها مي توان اطلاعات متني را ارسال كرد و اطلاعاتي از قبيل فايل ، عكس و ... را تنها مي توان با متد post ارسال نمود .
دومين تفاوت متد ارسال get و متد ارسال post اينست كه متد get نا امن است . چرا كه همانطور كه گفتيم اطلاعات ارسالي را به صورت clear text يعني متن صريح نشان مي دهد . بنابراين براي گرفتن كلمه عبور كاربر حتي اگر از كنترل input از نوع password استفاده كنيم كه هنگام گرفتن كلمه عبور آنرا نشان نمي دهد ، به هنگام ارسال اين كلمه عبور در url نشان داده خواهد شد .
تفاوت سوم اينست كه بالاخره ميزان اطلاعات ارسالي توسط متد get محدود است و معمول نيست كه طول url بيش از 2000 كاراكتر باشد . چرا كه مرورگري مانند IE تنها 2048 كاراكتر اول آدرس را در نظر مي گيرد . (در تئوري متد get چنين محدوديتي وجود ندارد و اين محدوديت فقط در عمل و به خاطر رفتار مرورگر IE است) . ولي هنگام استفاده از متد post مي توانيد به طور پيش فرض حداكثر تا 8Mbyte اطلاعات سمت سرور ارسال كنيد كه البته اين مقدار قابل تغيير است . براي تغيير اين مقدار بايد در فايل php.ini كه فايل پيكربندي PHP است مقدار متغير محيطي post_max_size را بر حسب مگابايت تغيير دهيد (اين متغير به طور پيش فرض برابر است با 8Mbyte).
همانطور كه ديديم براي ارسال يك فرم دو متد بيشتر وجود ندارد . get و post . اگر فرم با متد get ارسال شده باشد در PHP از آرايه $_GET و اگر فرم با متد post ارسال شده باشد در PHP از  آرايه $_POST استفاده مي شود و آرايه $_GET براي فرمي كه با متد post ارسال شده قابل استفاده نيست (و برعكس). اما صرفنظر از متد ارسال فرم در PHP مي توان از آرايه ديگري نيز استفاده كرد و آن آرايه $_REQUEST است. اين آرايه تمام كنترل هايي كه با استفاده از هر دو متد، ارسال شده باشند را دريافت مي كند .اين متد معمولا براي نوشتن وب سرويس هايي كه قرار است سرويسي به برنامه هاي نوشته شده توسط ساير برنامه نويسان دهد استفاده مي شود چرا كه يك برنامه نويس ممكن است از متد post استفاده كند و ديگري از متد get ولي شما كه نويسنده وب سرويس هستيد بايد پارامترهاي ارسالي هر دو را دريافت كنيد .
نکته مهم دیگری که در کار با فرم ها حائز اهمیت است اینست که کنترل کنید کاربر چگونه به صفحه ای مانند result.php وارد شده است ؟ آیا واقعا قبلا در صفحه کلاینت شما بوده و فرم را پر کرده و دکمه submit را زده که وارد این صفحه شده یا مستقیما آدرس این صفحه را در بخش نوار آدرس وارد کرده است ؟ اگر حالت دوم باشد آرایه های GET و POST هر دو خالی هستند و برنامه شما با مشکل مواجه می شود . برای فهمیدن این موضوع می توانید  از تابع isset استفاده کنید . این تابع بررسی می کند یک دکمه ، چک باکس و یا دکمه رادیویی و امثال اینها کلیک یا انتخاب شده است یا خیر . بنابراین کد به شکل زیر تغییر می یابد :
if(isset($_POST['btnSend']))
{
$sum = $_GET['txtFirstNumber'] + $_GET['txtSecondNumber'];
echo "The Sumation of ".$_GET['txtFirstNumber']." and ".$_GET['txtSecondNumber']." is ".$sum;
}
else
{
echo "You must fill empty elements in the form";
}
?>
 
منبع:

محمد عبداللهي

كارشناس كامپيوتر - نرم افزار

فارغ التحصيل از دانشگاه صنعتي اصفهان

http://www.abdollahi.us


نوشته شده در تاريخ سه شنبه بیست و یکم آذر 1391 توسط امير بلالي
آي تي چيست ؟


شايد بسياري واژه رايانه – کامپيوتر را معادل اي تي يا همان فناوري اطلاعات مي دانند با اينکه اين مقوله جدا ازهم نيستند اما تعريف واحد و يکساني ندارند و با يکديگر تفاوت فاحشي دارند.
آشنايي کامل با رشته تحصيلي مهندسي فناوري اطلاعات – دوره کارشناسي
شايد بسيار واژه رايانه – کامپيوتر را معادل اي تي يا همان فناوري اطلاعات مي دانند با اينکه اين مقوله جدا ازهم نيستند اما تعريف واحد و يکساني ندارند و با يکديگر تفاوت فاحشي دارند.
در رشته هاي تحصيلي دانشگاهي هم مابين مهندسي کامپيوتر گرايش سخت افزار و نرم افزار با مهندسي فناوري اطلاعات با گرايشهاي ده گانه اش تفاوت ماهوي و معنايي زياد وجود دارد و به طور کامل ازهم مستقل است.
از ابتداي دهه 1380 با اوج گرفتن مباحث مربوط به سيستمهاي اطلاعاتي و فناوري اطلاعات در ايران، دانشگاههاي کشور در صدد برآمدند تا دوره هاي مختلف تحصيلي را در اين رشته ها برگزار نمايند.
اين خواسته با تصويب رشته مهندسي فناوري اطلاعات در دوره کارشناسي و کارشناسي ارشد و رشته مديريت فناوري اطلاعات در دوره کارشناسي ارشد به تحقق پيوست.
 فناوري اطلاعات Information Technology چيست؟
Information Technology يک واژه نسبتاً جديد است و شايد جايگزين مناسب و خوبي نباشد که به زبان انگليسي اضافه شده است.
مترادف آن در فرانسه Informatique و در روسي Informatika مي باشد. براي بسياري از مردم، فناوري اطلاعات مترادف با يک فناوري جديد است که از وسايل داراي ريز پردازنده استفاده مي کند.
مانند: ريزکامپيوترها، تجهيزات اتوماتيک، واژه پردازها و غيره . اما استفاده از دست ساخته هاي بشر براي گردآوري، توليد، ارتباطات، ثبت و ضبط، بازآرايي و استخراج اطلاعات به زماني فراتر از زمان حاضر باز مي گردد.
براي حرفه اي ها، به معناي معرفي يک دوره جديد است. فناوري اطلاعات، انديشه اي است براي آنکه اصول، رويه و واژگان کار با اطلاعات مي تواند در يک الگوي سيستماتيک متحد رفتار کنند.
بدبينان ممکن است بگويند که واژه فناوري اطلاعات فقط تلاش مي کند که برخي از پيشرفتهاي هدفمند تجاري الکترونيک و حرکات هدفمند سياسي براي کنترل دستيابي به اطلاعات را ارزشمند سازد.
مهندسي فناوري اطلاعات
در بيشتر کشورها دانش »فناوري اطلاعات« در دانشگاه‌ها با عنوان رشته »فناوري اطلاعات« (Information Technology) شناخته مي شود، در حاليکه در ايران بر اساس تصميم سازمان آموزش عالي کشور عنوان »مهندسي فناوري اطلاعات« براي اين رشته بکار برده مي‌شود و رشته‌اي با عنوان فقط »فناوري اطلاعات« وجود ندارد.
همچنين رشته? ميان‌رشته ديگري با عنوان رشته »مديريت فناوري اطلاعات« در دانشگاه‌هاي ايران و ديگر کشورها وجود دارد که از ترکيب دو رشته »مديريت« و »فناوري اطلاعات«به وجود آمده است.
رشته مهندسي فناوري اطلاعات به چگونگي سازماندهي و ساماندهي داده‌ها مي‌پردازد و رشته مديريت فناوري اطلاعات به چگونگي تدوين سيستم و استفاده از داده‌ها مي‌پردازد.
اخيراً نيز رشته اي تحت عنوان مهندسي فناوري اطلاعات و ارتباطات (ICT) در ايران ايجاد شده که در واقع از چند سال پيش در دانشگاههاي دنياتدرس شده و علاوه بر مباحث سازماندهي و مديريت داده ها به مباحث ارتباطي و تکنولوژيهاي جديد ارتباطي از قبيل NGN و غيره در اين رابطه ميپردازد.
گرايش‌هاي رشته مهندسي فناوري اطلاعات
گرايش‌هاي رشته مهندسي فناوري اطلاعات در دانشگاه‌هاي ايران به شرح زير اند:
تجارت الكترونيكي، سيستم‌هاي چند‌رسانه‌اي، مديريت سيستم‌هاي اطلاعاتي، امنيت اطلاعات ،شبكه‌هاي كامپيوتري، فناوري اطلاعات (IT)، طراحي و توليد نرم افزار ،تکنولوژي ارتباطات و فناوري اطلاعات (ICT)
کاربرد فناوري اطلاعات
از جمله کاربردهاي فناوري اطلاعات مي‌توان استفاده بهينه از اطلاعات براي كاربردهاي مختلف دانست، يعني متخصص اين رشته بايد بتواند اطلاعات را جمع‌آوري، دسته‌بندي و پردازش كرده و به موقع از آن استفاده نمايد. از همين رو كارشناس اين رشته بايد مباني رايانه را بداند.
به عبارت ديگر هستـه اصلي اين رشته همان هسته اصلي مهندسي رايانه است، ولي چون يكي از توانمندي‌هاي اصلي كارشناسي اين رشته بهره‌وري به موقع و صحيح از اطلاعات است، دانشجو بايد داراي اطلاعات جنبي در زمينه‌هاي مختلف باشد.
براي مثال، فردي كه مي‌خواهد از اين فناوري در تجارت الكترونيكي استفاده كند بايد مديريت بداند يا فردي كه مي‌خواهد از آن در آموزش از راه دور بهره ببرد، بايد با روش‌هاي آموزش آشنا باشد.
 
منبع: هفته نتمه امانت

نوشته شده در تاريخ پنجشنبه شانزدهم آذر 1391 توسط امير بلالي
سلام
نوشته شده در تاريخ دوشنبه یکم آبان 1391 توسط امير بلالي

  1.Title Bar: نوار عنوان بالاترین میله یا نواری است که در برنامه ی ویژوال بیسیک6 قرار دارد. همانند همه ی نرم افزار ها با کلیک روی Close برنامه، بسته می شود و کلا کارکرد این نوار مانند نرم افزار های دیگر است.


  2.Menu Bar: منوی نرم افزار ویژوال بیسیک مانند بیشتر نرم افزارها دسته بندی شده است و کارکرد هر یک از منوها و زیرمنوها مانند منوهای برنامه های دیگر است.


  3.Standard Toolbar: نوار ابزار استاندارد در زیر نوار منو قرار گرفته و از آن جهت دسترسی به گزینه های مورد نیاز استفاده می شود. تمامی گزینه های نوار ابزار در منو ها هم وجود دارند. اگر نوار ابزارتان به دلیلی از بین رفت یا در واقع در مکان اشاره شده قرار نداشت، میتوان آن را از این روش دوباره ظاهر نمود:

                               Standard ← ToolBars ← View


  4.form: قسمت خاکستری رنگی که با یک شبکه نقطه ای پوشیده شده است فرم نام دارد. فرم ها در واقع همان پنجره های برنامه ی شمایند که در حالت غیر اجرا، عملکردی نسبت به کار هایی که روی آنها انجام میدهید ندارند و برای آنکه بتوانید برنامه ی خود را مشاهده کرده و با انجام هر کاری عکس العمل برنامه تان را ببینید، باید برنامه را اجرا کنید.(برای اجرا کردن برنامه راه های مختلفی وجود دارد که ساده ترین آنها فشردن دکمه ی F5 است.)


  5.Project Explore: در قسمت بالا و در سمت راست پنجره ی ویژوال بیسیک، پنجره ی پروژه قرار دارد که اجزای تشکیل دهنده ی برنامه؛ مانند پروژه ها و فرمها به صورت ساختار درختی نمایش میدهد. با استفاده از این بخش، میتوان اعمال ویرایش، حذف، ذخیره سازی و... را بر رویاجزای آن انجام داد. اگر پنجره ی پروژه ی شما غیرفعال است میتوانید با فشردن کلیدهای ترکیبی ctrl+R یا گزینه ی Project Explore از منو ی View فعال کنید.
 
منبع:
http://visualstudio6.blogfa.com

نوشته شده در تاريخ دوشنبه یکم آبان 1391 توسط امير بلالي

سی‌شارپ (C#) زبانی شیءگرا و سطح بالا (high level) از خانوادهٔ زبان‌های چارچوب دات‌نت شرکت مایکروسافت است.

زبان #C، یک زبان برنامه نویسی چند الگویی است و منظم شده مدل‌های تابعی، امری، عمومی، شی گرا و جز گرا می‌باشد. این زبان توسط مایکروسافت و جزئی از دات نت به وجود آمد و بعداً استانداردهای ECMA و ISO را نیز در بر گرفت. #C یکی از ۴۴ زبان برنامه نویسی ای است که توسط زمان اجرای زبان مشترک از .NET Framework پشتیبانی می‌شوند و در همه جا به وسیله مایکروسافت ویژوال استودیو شناخته می‌شود.

این زبان برپایه سادگی، مدرن بودن، همه منظوره و شی گرا بودن ساخته شد.Anders Hejlsberg، طراح زبان برنامه نویسی دلفی، سرپرستی تیم طراحان زبان #C را بر عهده داشت.این زبان دارای دستوری شی گرا مشابه ++C است و به شدت از زبان‌های جاوا و دلفینیازمندمدرک تاثیر پذیرفته‌است. در ابتدا نام این زبان COOL بود که مخفف C like Object Oriented Language بود، هر چند در جولای ۲۰۰۰، زمانی که مایکروسافت پروژه را عمومی اعلام کرد، اسم آن به #C تغییر پیدا کرد.آخرین نسخه آن نسخه ۵.۰ است که همزمان با دات‌نت ۴.۵ در آگوست ۲۰۱۲ منتشر شد.


.: Weblog Themes By Pichak :.


تمامی حقوق این وبلاگ محفوظ است | طراحی : پیچک
  • قالب وبلاگ