وبلاگ تخصصی سی شارپ و ای اس پی | C# & ASP Learning

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

Code:


01.<?php02.$con = mysql_connect("localhost","<SPAN style="FONT-WEIGHT: bold">username</SPAN>","<SPAN style="FONT-WEIGHT: bold">pass</SPAN>");03.if (!$con)04. **05. die('Could not connect: ' . mysql_error());06. }07.// Create database08.if (mysql_query("CREATE DATABASE my_info",$con))09. **10. echo "Database created";11. }12.else13. **14. echo "Error creating database: " . mysql_error();15. }16.// Create table17.mysql_select_db("my_info", $con);18.$sql = "CREATE TABLE Persons19.(20.FirstName varchar(15),21.LastName varchar(15),22.Age int23.)";24.// Execute query25.mysql_query($sql,$con);26.mysql_close($con );

 

الان با کد زیر میتونید در همون بانک اطلاعاتی که در قبل ایجاد کردیم اطلاعات بفرستیم و ذخیره کنیم
کد:


Code:
01.<?php02.echo date("D d M Y");03.$con = mysql_connect("localhost","<SPAN style="FONT-WEIGHT: bold">username</SPAN>","<SPAN style="FONT-WEIGHT: bold">pass</SPAN>");04.if (!$con)05. **06. die('Could not connect: ' . mysql_error());07. }08.mysql_select_db("my_info", $con);09.mysql_query("INSERT INTO Persons (FirstName, LastName, Age) 10.VALUES ('Peter', 'Griffin', '35')");11.mysql_query("INSERT INTO Persons (FirstName, LastName, Age) 12.VALUES ('Glenn', 'Quagmire', '33')");13.mysql_close($con);14.?>

منبع: iranpanel.com


برچسب‌ها: ساخت دیتابیس php, اتصال به دیتابیس php, ساخت دیتابیس mysql, اتصال به دیتابیس mysql
+ نوشته شده در  یکشنبه ٢٤ دی ۱۳٩۱ساعت ۱:٢٢ ‎ب.ظ  توسط Milad  نظرات ()

باید Mysql.h رو هم داشته باشیم چون mysql یه دیتابیس اوپن سورسه ، راحت بری سایتش و آخرین ورژن رو دانلود کنی ... اما ... چون شرکت Sun Micro Systems حامیش شده ، آی پی های ایرانی رو فیلتر فرموده و نمی تونی دانلود کنی

نمونه:

http://c-programming.suite101.com/articl...ses_with_c


برچسب‌ها: c++, mysql
+ نوشته شده در  دوشنبه ٢٠ شهریور ۱۳٩۱ساعت ٥:۳٢ ‎ب.ظ  توسط Milad  نظرات ()

جهت ارتباط با بانک اطلاعاتی My Sql در سی شارپ 2 روش عمومی وجود دارد.
1-استفاده از کانکشن ODBC که این کار به وسیله برنامه mysql-connector-odbc-5.00.11-beta-gpl-win32(2).msi که از سایت MySql دانلود می شود امکان پذیر می باشد.
2-استفاده از mysql.data.dll که این روش که مورد بحث این جلسه است .

روش کار :ابتدا برنامه mysql-connector-net-1.0.9 را از سایت mysql دانلود و بر روی کامپیوتر خود نصب کنید
در مرحله دوم در قسمت Add Reference تابع کتابخانه ای mysql.data.dll را از مسیر
C:\Program Files\MySQL\MySQL Connector Net 1.0.9\Binaries\.NET 1.1 در برنامه خود اضافه می کنیم
در مرحله سوم namespace مربوطه با نام MySql.Data.MySqlClient را وارد صفحه می کنیم .
using MySql.Data.MySqlClient
در مرحله چهارم کدهای ارتباطی با mysql را به شرح زیر می آوریم اساس کار از این به بعد دقیقا شبیه ارتباط با microsoft sql می باشد.
string myconstring = "Server=localhost; UserId=root; Password=pass; Database=repair;";

MySqlConnection mycon = new MySqlConnection();

mycon.ConnectionString = myconstring;

MySqlDataAdapter myda = new MySqlDataAdapter("SELECT * FROM Customers", mycon);

DataSet myds = new DataSet();

mycon.Open();

myda.Fill(myds,"Customers");
mycon.Close();
dataGrid1.DataSource=myds
در مثال بالا یک دیتا گرید را از جدول Customer بانک اطلاعاتی Repair موجود در دیتابیس MySql پر کرده ایم.
جهت توضیحات و یا سوال به وبلاگ پیشرو آی تی وارد شوید


برچسب‌ها: آموزش سی شارپ, آموزش c#, mysql
+ نوشته شده در  دوشنبه ٢٠ شهریور ۱۳٩۱ساعت ٥:٢٦ ‎ب.ظ  توسط Milad  نظرات ()

اکنون 10 سال از انتشار کامپایلر VC++‎6 گذشته است، کامپایلری که از مهم ترین قابلیت هایش برنامه نویسی unmanaged یا همان غیر دات نتی بود حال به شیوه MFC یا Win32 API.
اما نکته ای که باید به آن توجه کرد آن است که در طی این سال ها قابلیت های زیادی به زبان استاندارد ++C/C و به API های سیستم عامل های جدید اضافه شده است، که برخی از این امکانات در قالب SDK جدید و قابل دانلود، هر چند ماه عرضه شده است و این در حالی است که با نصب و استفاده از هر یک از کامپایلرهای ++Visual C نسخه های بعد از VC6، می توان از تمامی این امکانات و SDK جدید بهره مند شد. (که بسیاری از آن ها از جمله کتابخانه های استاندارد و با کیفیت ++C خریداری شده اند)
اما متاسفانه هر روزه با تعداد زیادی از برنامه نویسان در کشور مواجه می شوم که همچنان این تفکر اشتباه در ذهنشان وجود دارد که نسخه های بعد از VC6 دیگر میبتنی بر .NET شده اند و یا اینکه اشتباها VC6 را یک زبان و آن هم مختص همین نسخه کامپایلر می دانند. (از فارغ التحصیلات کامپیوتر گرفته تا برنامه نویسان تازه کار C++‎ و حتی حرفه ای در سایر زبان های برنامه نویسی) و در بیان برنامه نویسی غیر دات نتی از طریق C++‎ و توصیه هایشان می گویند به سراغ VC6 برو !
حتی برخی ++VC را فقط MFC می دانند و از مهم ترین بخش آن ( لایه زیرین MFC) یعنی برنامه نویسی win32 API غفلت می کنند.
لذا برای روشن شدن موضوع نسخه های ارائه شده بعد از Visual C++‎ 6 و برخی از قابلیت های مهم آن ها را بررسی می کنیم:


1) Visual C++‎ 6.0: (سال 1998 ، دات نت هنوز عرضه نشده است)
- پشتیبانی از MFC 6.0
- پشتیبانی از برنامه نویسی win32 و همین طور کنسولی


2) Visual C++‎ .NET 2002 :
- پشتیبانی از MFC 7.0 ( بدون .NET)
- پشتیبانی از برنامه نویسی win32 و همین طور کنسولی ( بدون .NET)
- پشتیبانی از برنامه نویسی .NET نسخه 1.0 از طریق managed C++‎ extensions

Visual C++‎ .NET 2003 (3:
- پشتیبانی از MFC 7.1 ( بدون .NET)
- پشتیبانی از برنامه نویسی win32 و همین طور کنسولی ( بدون .NET)
- پشتیبانی از برنامه نویسی .NET نسخه 1.1 از طریق managed C++‎ extensions

:Visual C++‎ 2005 (4
- پشتیبانی از MFC 8.0 ( بدون .NET)
- نیازمند تغییرات اندکی در پروژه های MFC نوشته شده توسط VC++‎6
- پشتیبانی از برنامه نویسی win32 و همین طور کنسولی ( بدون .NET)
- پشتیبانی از برنامه نویسی.NET نسخه 2.0 از طریق C++‎/CLI با تغییرات زیادی در syntax برنامه نویسی .NET
- امکان برنامه نویسی برای دستگاه های موبایل و PDA شامل windows mobile

:Visual C++‎ 2008 (5
- پشتیبانی از MFC 9.0 ( بدون .NET)
- پشتیبانی و ارائه هزاران API برای سازگاری بیشتر با ویندوز Vista و افزودن سبک ویندوز Vista در طراحی Dialog box
- امکان استفاده محدود از Class Designer در برنامه نویسی native (همانند برنامه نویسی #C)
- پشتیبانی از برنامه نویسی .NET نسخه 3.5 از طریق C++‎/CLI
- پشتیبانی از برنامه نویسی win32 با ارائه هزاران API جدید و همین طور کنسولی ( بدون .NET)
- عدم پشتیبانی از کامپایل و اجرا شدن برنامه در Windows 95, Windows 98, Windows ME و Windows NT

اما تذکرات:

نکته 1) از آنجایی که این کامپایلرها با نام NET. عرضه شدند (همین طور خود بسته Visual Studio .NET) اشتباها این تفکر را در برنامه نویسان ایجاد کرده است که برنامه نویسی ++C در این نسخه ها فقط از طریق دات نت می باشد، در حالی که چنین نیست، بلکه این فقط یک نام برای کامپایلرهای جدید ++VC می باشد که با پسوند NET. عرضه شدند و برای رفع این تفکرات غلط در نسخه های 2005 به بعد، این نام به حالت قبل تغییر داده شد و پسوند نام NET. حذف شد و شما همانطور که مشاهده کردید همچنان می توانید از نسخه های جدیدتر برنامه نویسی MFC یا win32 بدون نیاز به NET Framework. استفاده کنید و اصلا نیازی به برگشتن به محیط قدیمی VC++‎6 نیست.

نکته 2) احتمالا اکثر کاربران اشتباها کامپایلر VC6 را همانند Visual Basic 6 فرض می کنند. در حالی VB یک زبان برنامه نویسی هست.

نکته 3) از طریق همه این کامپایلرها (به جز VC6)در صورت تمایل می توانید کدهای native کنونی خود را (مانند MFC و win32) با برنامه نویسی .NET از طریق C++‎/CLI ترکیب کنید و از مزایای دات نت نیز بهره مند شوید.

نکته 4) توجه داشته باشید که کامپایلر VC++‎6 (سال 1998) با نسخه های جدید ویندوز از جمله XP مشکلاتی بسیاری دارد و حداقل نیازمند نصب جدبدترین سرویس پک می باشد (آخرین نسخه SP6) و در ویندوز ویستا نیز پشتیبانی نمی شود، لذا با گذشت 10 سال دیگر این کامپایلر از طرف مایکروسافت پشتیبانی نخواهد شد، همانطور که نسخه های ویندوز زیر 2000 از این پس پشتیبانی نخواهند شد.

پس راهکار استفاده از نسخه های جدید کامپایلر ++Visual C هست، چیزی که بدون پرداخت هزینه زیادی در کشور قابل یافت می باشد و کدهای شما فقط در برخی موارد جزئی با تفاوت بسیار اندک قابل انتقال به نسخه های بعد می باشد.

نکته 5) برخی از کاربران نیز به خاطر مطالعه کتاب ها و منابع قدیمی MFC همچنان اصرار بر استفاده از VC6 دارند در حالی که تنها تفاوت قابل لمس آن تغییر مکان Class wizard می باشد که فقط Tab ها آن wizard، به چندین دیالوگ جداگانه با همان نام ها مانند Add variables و غیره تقسیم شده است و فراگیری آن کمتر از نیم ساعت زمان نیاز دارد. (پست بعد را مشاهده کنید)

نکته 6) برخی از کاربران دیگر نیز به دلیل تغییرات ایجاد شده در ارتباطات با پایگاه داده های جدید (مانند نسخه MSSQL 2008) برای سازگاری به نسخه VC++‎6 روی آوردند که همچنان می توانستند از نسخه های جدید تر مانند 2003 استفاده کنند.
منبع: barnamenevis.org


برچسب‌ها: c++
+ نوشته شده در  شنبه ۱۸ شهریور ۱۳٩۱ساعت ۱٢:۳٢ ‎ب.ظ  توسط Milad  نظرات ()

اکنون 10 سال از انتشار کامپایلر VC++‎6 گذشته است، کامپایلری که از مهم ترین قابلیت هایش برنامه نویسی unmanaged یا همان غیر دات نتی بود حال به شیوه MFC یا Win32 API.
اما نکته ای که باید به آن توجه کرد آن است که در طی این سال ها قابلیت های زیادی به زبان استاندارد ++C/C و به API های سیستم عامل های جدید اضافه شده است، که برخی از این امکانات در قالب SDK جدید و قابل دانلود، هر چند ماه عرضه شده است و این در حالی است که با نصب و استفاده از هر یک از کامپایلرهای ++Visual C نسخه های بعد از VC6، می توان از تمامی این امکانات و SDK جدید بهره مند شد. (که بسیاری از آن ها از جمله کتابخانه های استاندارد و با کیفیت ++C خریداری شده اند)
اما متاسفانه هر روزه با تعداد زیادی از برنامه نویسان در کشور مواجه می شوم که همچنان این تفکر اشتباه در ذهنشان وجود دارد که نسخه های بعد از VC6 دیگر میبتنی بر .NET شده اند و یا اینکه اشتباها VC6 را یک زبان و آن هم مختص همین نسخه کامپایلر می دانند. (از فارغ التحصیلات کامپیوتر گرفته تا برنامه نویسان تازه کار C++‎ و حتی حرفه ای در سایر زبان های برنامه نویسی) و در بیان برنامه نویسی غیر دات نتی از طریق C++‎ و توصیه هایشان می گویند به سراغ VC6 برو !
حتی برخی ++VC را فقط MFC می دانند و از مهم ترین بخش آن ( لایه زیرین MFC) یعنی برنامه نویسی win32 API غفلت می کنند.
لذا برای روشن شدن موضوع نسخه های ارائه شده بعد از Visual C++‎ 6 و برخی از قابلیت های مهم آن ها را بررسی می کنیم:


1) Visual C++‎ 6.0: (سال 1998 ، دات نت هنوز عرضه نشده است)
- پشتیبانی از MFC 6.0
- پشتیبانی از برنامه نویسی win32 و همین طور کنسولی


2) Visual C++‎ .NET 2002 :
- پشتیبانی از MFC 7.0 ( بدون .NET)
- پشتیبانی از برنامه نویسی win32 و همین طور کنسولی ( بدون .NET)
- پشتیبانی از برنامه نویسی .NET نسخه 1.0 از طریق managed C++‎ extensions

Visual C++‎ .NET 2003 (3:
- پشتیبانی از MFC 7.1 ( بدون .NET)
- پشتیبانی از برنامه نویسی win32 و همین طور کنسولی ( بدون .NET)
- پشتیبانی از برنامه نویسی .NET نسخه 1.1 از طریق managed C++‎ extensions

:Visual C++‎ 2005 (4
- پشتیبانی از MFC 8.0 ( بدون .NET)
- نیازمند تغییرات اندکی در پروژه های MFC نوشته شده توسط VC++‎6
- پشتیبانی از برنامه نویسی win32 و همین طور کنسولی ( بدون .NET)
- پشتیبانی از برنامه نویسی.NET نسخه 2.0 از طریق C++‎/CLI با تغییرات زیادی در syntax برنامه نویسی .NET
- امکان برنامه نویسی برای دستگاه های موبایل و PDA شامل windows mobile

:Visual C++‎ 2008 (5
- پشتیبانی از MFC 9.0 ( بدون .NET)
- پشتیبانی و ارائه هزاران API برای سازگاری بیشتر با ویندوز Vista و افزودن سبک ویندوز Vista در طراحی Dialog box
- امکان استفاده محدود از Class Designer در برنامه نویسی native (همانند برنامه نویسی #C)
- پشتیبانی از برنامه نویسی .NET نسخه 3.5 از طریق C++‎/CLI
- پشتیبانی از برنامه نویسی win32 با ارائه هزاران API جدید و همین طور کنسولی ( بدون .NET)
- عدم پشتیبانی از کامپایل و اجرا شدن برنامه در Windows 95, Windows 98, Windows ME و Windows NT

اما تذکرات:

نکته 1) از آنجایی که این کامپایلرها با نام NET. عرضه شدند (همین طور خود بسته Visual Studio .NET) اشتباها این تفکر را در برنامه نویسان ایجاد کرده است که برنامه نویسی ++C در این نسخه ها فقط از طریق دات نت می باشد، در حالی که چنین نیست، بلکه این فقط یک نام برای کامپایلرهای جدید ++VC می باشد که با پسوند NET. عرضه شدند و برای رفع این تفکرات غلط در نسخه های 2005 به بعد، این نام به حالت قبل تغییر داده شد و پسوند نام NET. حذف شد و شما همانطور که مشاهده کردید همچنان می توانید از نسخه های جدیدتر برنامه نویسی MFC یا win32 بدون نیاز به NET Framework. استفاده کنید و اصلا نیازی به برگشتن به محیط قدیمی VC++‎6 نیست.

نکته 2) احتمالا اکثر کاربران اشتباها کامپایلر VC6 را همانند Visual Basic 6 فرض می کنند. در حالی VB یک زبان برنامه نویسی هست.

نکته 3) از طریق همه این کامپایلرها (به جز VC6)در صورت تمایل می توانید کدهای native کنونی خود را (مانند MFC و win32) با برنامه نویسی .NET از طریق C++‎/CLI ترکیب کنید و از مزایای دات نت نیز بهره مند شوید.

نکته 4) توجه داشته باشید که کامپایلر VC++‎6 (سال 1998) با نسخه های جدید ویندوز از جمله XP مشکلاتی بسیاری دارد و حداقل نیازمند نصب جدبدترین سرویس پک می باشد (آخرین نسخه SP6) و در ویندوز ویستا نیز پشتیبانی نمی شود، لذا با گذشت 10 سال دیگر این کامپایلر از طرف مایکروسافت پشتیبانی نخواهد شد، همانطور که نسخه های ویندوز زیر 2000 از این پس پشتیبانی نخواهند شد.

پس راهکار استفاده از نسخه های جدید کامپایلر ++Visual C هست، چیزی که بدون پرداخت هزینه زیادی در کشور قابل یافت می باشد و کدهای شما فقط در برخی موارد جزئی با تفاوت بسیار اندک قابل انتقال به نسخه های بعد می باشد.

نکته 5) برخی از کاربران نیز به خاطر مطالعه کتاب ها و منابع قدیمی MFC همچنان اصرار بر استفاده از VC6 دارند در حالی که تنها تفاوت قابل لمس آن تغییر مکان Class wizard می باشد که فقط Tab ها آن wizard، به چندین دیالوگ جداگانه با همان نام ها مانند Add variables و غیره تقسیم شده است و فراگیری آن کمتر از نیم ساعت زمان نیاز دارد. (پست بعد را مشاهده کنید)

نکته 6) برخی از کاربران دیگر نیز به دلیل تغییرات ایجاد شده در ارتباطات با پایگاه داده های جدید (مانند نسخه MSSQL 2008) برای سازگاری به نسخه VC++‎6 روی آوردند که همچنان می توانستند از نسخه های جدید تر مانند 2003 استفاده کنند.
منبع: barnamenevis.org


برچسب‌ها:
+ نوشته شده در  شنبه ۱۸ شهریور ۱۳٩۱ساعت ۱٢:۳٢ ‎ب.ظ  توسط Milad  نظرات ()

از آنجایی که بسیاری از کاربران، از کتاب های فارسی یا منابع قدیمی کامپایلر ++Visual C شامل MFC , console , win32 و غیره استفاده می کنند، هنگام کار با نسخه های جدید مانند 2008/2005 با تغییراتی روبرو می شوند.

لذا تصمیم گرفته شد تا در این تاپیک لینک های مطالب توضیح داده شده قبلی را قرار دهیم تا کاربران تازه کار بتوانند به راحتی حتی با مطالعه کتاب های قدیمی، در جدیدترین نسخه visual ++C نیز همان کدها را بنویسند و از تغییرات آگاهی پیدا کنند.

1- تغییر در انتقال پنجره "جادوگر کلاس" در MFC / VC++‎6 به class view در نسخه های جدید
2- تعریف پیام ها (messages) و تعریف مجدد توابع مجازی (Override)
لینک موارد مورد بحث فوق
3- فارسی نویسی در دیالوگ های Visual C++‎/MFC، متغیرهای رشته ای (یونیکد)، EditBox و سایر کنترل ها
4- لینک اول: اجرای فایل اجرایی در کامپیوترهای دیگر، ساخت setup و نصب dll های مورد نیاز / dynamic linking
لینک دوم : لینک static کتابخانه های ++visual C و ایجاد یک فایل exe بدون نیازمندی به سایر dll ها static linking /
5- تبدیل char به CString در MFC
6- بروز خطا در رشته ها در نسخه های جدید، مانند LPSTR، char که باید به TCHARو LPTSTR تبدیل شوند. یا پیام خطا تبدیل به wchar_t :
لینک تاپیک اول با توضیحات کامل
لینک تاپیک دوم
7- UNICODE یا ASCII کامپایل شدن پروژه ها
( VC++‎6 پیش فرض در حالت ASCII و VC++‎2005/2008 در حالت UNICODE کامپایل می کند)
تذکر: مورد 6 و 7 فوق زمانی رخ می دهد که مثلا شما از کتاب ها و مقالات قدیمی استفاده می کنید و با کامپایل آن خطا برای رشته ها دریافت می کنید.
8- آموزش های محیط Visual C++‎2005/2008 و نحوه کار با debugger
9- تغییرات مورد نیاز در توابع کنسولی یا استاندارد ++C بعد از VC++‎6 ، مانند iostream.h
10 - عدم وجود MFC در نسخه غیر تجاری (express) نسخه های جدید کامپایلر

11- تبدیل رشته ها به اعداد و یا اعداد به رشته ها
لینک اول
لینک دوم
12 - ذخیره مسیر برای فایل ها، و کارکترهای \\ ، n\ و غیره
لینک اول
لینک دوم
13- معادل های gotoxy ، clrscr و مانند آن در ++Visual C
14- کم کردن حجم پروژه های ++visual C به منظور نگهداشت یا ارسال از اینترنت
15- کاربرد های ATL
16- تفاوت های بین MFC ، win32 و C++‎‎‎‎‎/CLI یابه قولی همان VC++‎‎‎‎‎‎.Net
17- مفهوم کد مستقل از پلتفرم (توضیحات پایه ای در مورد native و CLR)
18 - نحوه خواندن و نوشتن پورت سریال - COM port
کپوننت های قدیمی VB6 برای خواندن از پورت
19- کاربرد و نحوه عمل Precompiled Headers یا همان stdafx.h و تفاوت main و tmain
20- نحوه اعمال Visual Style ویندوزهای XP/vista/7 به برنامه ها یا به نوعی اعمال Skin یا theme ویندوز
21 - کار با رجیستری ویندوز در پروژه MFC
لینک اول
لینک دوم
22- نحوه رمز نگاری و رمز گشایی، الگوریتم های hash و غیره
23- data grid های پیشرفته برای ارتباط با پایگاه داده در C++‎‎‎ مانند Ultimate Grid

24- تغییر رنگ زمینه، تغییر رنگ کنترل ها و دیالوگ:
لینک 1
لینک 2
لینک 3
25 - ضبط و پخش صوت، کار با دستورات MCI
26- از بین بردن پرش تصویر در انیمیشن (flicker) - روش Off-Screen DC
27- تغییر اندازه فرم ها و کنترل ها با تغییر اندازه تصویر یا دیالوگ:
لینک 1
لینک 2
لینک 3
28- خواندن و نوشتن در فایل (اسکی و باینری)
29-نمایش عکس BMP در VC++‎‎ یا دریافت اطلاعات آن
لینک 1
لینک 2
30- کار با Ribbon و کنترل ها

منبع: barnamenevis.org


برچسب‌ها: c++
+ نوشته شده در  شنبه ۱۸ شهریور ۱۳٩۱ساعت ۱٢:٢٤ ‎ب.ظ  توسط Milad  نظرات ()

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

پلاتفرم های زبان برنامه نویسی جاوا
4 پلاتفرم مختلف برای زبان جاوا وجود دارد :
Java Platform, Standard Edition (Java SE)

Java Platform, Enterprise Edition (Java EE)

Java Platform, Micro Edition (Java ME)

JavaFX

تمام پلاتفرم های جاوا شامل یک ماشین مجازی جاوا (VM) و یک رابط برنامه نویسی کاربردی (API) هستند. ماشین مجازی جاوا یک برنامه برای یک سخت افزار خاص و پلات فرم نرم افزاری است.
که برنامه ها با تکنولوژی جاوا را اجرا می کند یک api مجموعه ایی از جز های نرم افزار ی است که شما می تونید از آنها برای ساخت یک جزء نرم افزاری جدید یا برنامه کاربردی استفاده کنید.هر پلاتفرم جاوا یک ماشین مجازی و یک api فراهم می کند و این به برنامه هایی که روی آن پلاتفرم نوشته می شوند اجازه میدهد بتوانند روی هر سیستم سازگار با آن پلاتفرم با تمام مزایای زبان برنامه نویسی جاوا از قبیل مستقل از سکو بودن , قدرت , پایداری , توسعه راحت و امنیت اجرا بشوند.

Java SE
زمانی که بیشتر مردم در مورد زبان جاوا فکر می کنند آنها در اصل Java SE API را در نظر دارند. Java SE's API هسته توابع زبان برنامه نویسی جاوا را فراهم می کند و در آن هر چیزی را از نوع های پایه و اشیاء زبان برنامه نویسی جاوا تا کلاس های سطح بالا که برای شبکه , امنیت , دسترسی به پایگاه داده , واسط کاربری گرافیکی و تجزیه xml استفاده می شود را تعریف می شود .
علاوه بر هسته API پلاتفرم SE شامل یک ماشین مجازی , ابزرا توسعه , تکنولوژی های توسعه و کلاس کتابخانه ها و ابزار معمولی استفاده شده در برنامه هاییی با استفاده از تکنولوژی جاوا می شه.

Java EE
پلاتفرم Java EE بر روی پلاتفرم SE سوار شده است .این پلاتفرم API و محیط بلادرنگ برای توسعه و اجرای برنامه هایی تحت شبکه با مقیاس بزرگ , چند لایه , مقایسه پذیر , قابل اعتماد , و امن را فراهم می کند.

Java ME
این پلاتفرم یک API و یک ماشین مجازی جمع و جور برای اجرای برنامه های جاوا روی دیوایز های کوچک شبیه موبایل ها فراهم می کند . API های این پلاتفرم یک زیر مجموعه از Java SE API است بجز یکسری کلاس های خاص که برای دیوایز ها کوچک و اختصاصی طراحی شده در بیشتر موارد برنامه های Java ME به عنوان کلاینت هایی هستند که از سرویس هایی که با پلاتفرم Java EE طراحی شده استفاده می کنند.

JavaFX
این پلاتفرم یک API رابط کاربری سبک برای ساخت صفحات اینترنتی است. برنامه های JavaFX از شتاب دهنده سخت افزاری (کارت گرافیک) و media engines برای تدارک دیدن مزیت و عملکرد بیشتر استفاده می کنند و یک دید همانند API های سطح بالا برای اتصال به منابع داده شبکه ایی دارند . برنامه های JavaFX شاید کلایت ها و استفاده کننده از سرویس های پلاتفرم Java EE باشند.

منبع: barnamenevis.org


برچسب‌ها: جاوا, java ee, java se
+ نوشته شده در  یکشنبه ۱٢ شهریور ۱۳٩۱ساعت ۱۱:٢٩ ‎ق.ظ  توسط Milad  نظرات ()

اکنون بیش از 15 سال از انتشار کامپایلرهایی همچون ++Turbo C برای توسعه در محیط DOS می گذرد و در طی این سال ها امکانات و کتابخانه های بسیاری به زبان های C و ++C اضافه شده است از جمله STL در ++C که بسیاری از الگوریتم های معروف و پرکاربرد مانند پشته ، لیست پیوندی ،انواع صف ، انواع مرتب سازی ها و غیره را بدون نیاز به پیاده سازی در اختیار شما قرار می دهد که برای بهره مندی از این امکانات می بایست از کامپایلرهای جدید و به روز 32/64 بیتی استفاده کرد، از جمله:
++Visual C و ++minGW/Dev C (کد باز و رایگان) و C++‎Builder و ...

نکته: امروزه در محیط های آموزشی سراسر دنیا از نسخه های رایگان این کامپایلرها و یا کامپایلرهای کد باز به عنوان جایگزینی برای ++Turbo C استفاده می کنند.

نمی توان از توابع گرافیکی قدیمی graphics.h در محیط های جدید برنامه نویسی مانند Visual C++ /Borland C++‎builder / gcc / mingw و ... استفاده کرد. این توابع از جمله توابع 16 بیتی قدیمی و منسوخ شده بورلند می باشند که برخلاف تفکر برخی از نوآموزان، جزئی از این زبان نیست.

لذا برای توسعه های جدید، چندین راه وجود دارد:

روش 1) اولین و بهترین روش برای کار با گرافیک مخصوصا برای دانشجویان، روی آوردن به نوشتن برنامه های غیر کنسولی می باشد (با زبان C++‎/C) همانند سایر برنامه های ویندوز اما فقط در سطح ساده و برای نمایش اشکال گرافیکی و البته بدون داخل شدن در مباحث های پیشرفته واسط کاربری. (به این شکل که پنجره ای ایجاد نموده و در آن شروع به رسم اشکال گرافیکی کنید)

در ویندوز دوستان می توانند با توابع گرافیکی GDI و +GDI از طریق شیوه های win32 و MFC با کامپایلرهای ++VC و ++DevC و یا از طریق VCL با کامپایلر C++‎Builder این کار را انجام دهند.
توجه کنید که با مطالعه بخش گرافیکی یکی از لینک های زیر در مدتی بین دو هفته تا یک ماه قادر به ایجاد برنامه های گرافیکی، بازی ساده گرافیکی و همین طور کار با mouse و keyboard خواهید بود:

برای win32 (سطح پایین ،اما یادگیری با مراجع زیر بسیار راحت می باشد):
http://www.functionx.com/win32/index.htm
http://www.winprog.org/tutorial/

برای MFC (کمی ساده تر از مورد فوق)
http://www.functionx.com/visualc

برای VCL

http://www.functionx.com/bcb/index.htm


-------------------------------
روش 2) استفاده از توابع کنسولی مایکروسافت برای command prompt ویندوز ، لیست این توابع در لینک زیر موجود می باشد:
لیست توابع کنسولی مایکروسافت

در این روش شما باید معادل توابع graphics.h را که در محیط Turbo C و کامپایلر های سری قدیم بورلند وجود داشت را با توابع 32 بیتی کنسولی مایکروسافت پیاده سازی کنید، به عنوان مثال برای gotoxy و clrscr لینک زیر را مشاهده کنید:
معادل توابعی مثل gotoxy و clrscr در ++VC

توجه به این مورد ضروری می باشد که محیط command prompt ویندوز محیطی کاملا متفاوت از محیط 16 بیتی DOS می باشد و نباید انتظار داشته باشید که تمامی امکانات 16 بیتی قدیمی توسط این کامپایلرها به همان شکل در اختیار شما قرار گیرد، از جمله رسم اشیاء گرافیکی همانند قبل در این روش امکان پذیر نیست و جداول و اشکال ساده می بایست توسط خطوط و کارکترها پیاده سازی شوند، اما این قابلیت در اختیار شما قرار می گیرد که بتوانید از اکثر توابع پیشرفته سیستم عامل در محیط کنسول استفاده کنید.

لینک زیر شامل مثال ها و آموزش های کامل در زمینه استفاده از همین توابع کنسولی win32 می باشد، پس قبل از هر کاری ابتدا نگاهی به نمونه های پیاده سازی شده در این سایت بیاندازید:
http://www.adrianxw.dk/SoftwareSite/index.html

-------------------------------
روش 3) روش ساده تر از مورد قبل، استفاده از کتابخانه های 32 بیتی آماده غیر استاندارد و معادل graphic.h می باشد که برخی از آن ها open source (کد باز) نیز می باشد، مانند WinBGI که می توانید فایل های آن را از صفحه زیر دانلود کرده و استفاده کنید:
فایل های مربوط به WinBGI به همراه یک نمونه مثال

توجه کنید که این کتابخانه از توابع گرافیکی win32 استفاده می کند و برای نمایش آن ها پنجره سیاه دیگری همانند کنسول باز می شود که قادر هستید در آن اشکال گرافیکی را همانند برنامه های ویندوز به سادگی برنامه های گرافیکی Turbo C رسم کنید.

-------------------------------
روش 4) آخرین و بدترین روش برگشتن به محیط قدیمی ++Turbo C و استفاده از همان توابع گرافیکی graphics.h می باشد که در برخی کتاب ها از جمله کتاب C جعفرنژاد قومی به آن پرداخته شده است. (البته امیدوارم به عنوان یک دانشجو و یا حتی کسی که می خواهد در حد پروژه های ساده با این زبان آشنا شود این گزینه را انتخاب نکنید)

منبع: barnamenevis.org


برچسب‌ها: برنامه نویسی گرافیک, c, c++
+ نوشته شده در  شنبه ۱۱ شهریور ۱۳٩۱ساعت ٩:۱٥ ‎ب.ظ  توسط Milad  نظرات ()