برگزیده های پرشین تولز

آموزش قدم به قدم C# از مبتدي تا حرفه اي

Mehdi.T

کاربر فعال برنامه نویسی
کاربر فعال
تاریخ عضویت
30 سپتامبر 2005
نوشته‌ها
506
لایک‌ها
3
محل سکونت
In Search of Sunrise
اين که مايکروسافت سال هاي زيادي در کد نويسي از زبان جاوا عقب هست ، شکي نيست

اما چارچوب زيباي اين سکو(دات نت) غير قابل انکار هست ، البته اين دو خوب با هم کار مي کنن(J2EE + .NET) :)

نظريه : البته يک حباب براي سکو هاي کد نويسي در حال شکل گيري هست ، و تنها بايد منتظر ماند و ديد کدام يک از اين غول ها جان سالم بدر مي برن ، و نظر بنده اينه که غول نرم افزار (مايکروسافت) بايد چاره اي بينديشد(به دلايل متعدد)
 

stack done!

کاربر تازه وارد
تاریخ عضویت
2 آپریل 2007
نوشته‌ها
5
لایک‌ها
0
are ketabai ke Mr nasir dare vaghean baray shro behtarine hatman bekhonid
 

aftab110

کاربر تازه وارد
تاریخ عضویت
25 ژوئن 2006
نوشته‌ها
37
لایک‌ها
0
اگه هدف صرفا" اين باشه كه برنامه هاي دات نت توي كامپيوترهايي كه دات نت فريم ورك ندارند هم اجرا بشه ، راههاي آسونتري هم از زمان دات نت 1.0 بوده تا حالا ! مثلا بعضي ابزارهاي محافظت از كد ، يكي از كارهاشون هم ساختن يك Native PE هست كه خب ديگه نيازي به دات نت فريم ورك نداره ... اين ابزارها رايگان نيست ! ولي اونهايي كه بايد داشته باشند ، دارندش !
approve.gif


ولي Ngen بحثش گسترده تره !
يكي از مواقعي كه به Ngen فكر ميشه ، وختيه كه افزايش سرعت و پرفورمنس برنامه اهميت پيدا ميكنه . چون همونطور كه ميدوني CLR كه خودش نمياد IL رو تفسير كنه ! بلكه از JIT استفاده ميكنه
ولي وختي از NGen استفاده كنيم CLR ديگه مجبور نيست كه اول مثلا با لود كردن mscorjit.dll و اينا ، stub هاي JIT را استفاده كنه تا كد را توليد كنه ... بلكه بدون نياز مستقيم به JIT ، اين كار را انجام ميده و خب نتيجه هم كه توي Native Image Cache ذخيره ميشه. ( مثلا ميتونيد مثل من بشينيد و از وخت اضافه اي كه با لاگين نكردن توي برخي فرومها بدست مياريد استفاده كنيد و كدنهايي كه Ngen توليد ميكنه را با كدي كه CLR توسط JIT توليد ميكنه مقايسه كنيد تا ببينيد كه جفتشون در نهايت از يك كد يكسان استفاده ميكنند !!!!! ) ... چون اين stub هاي JIT واقعا وخت گير هستند ، چون وقتي Virtual Table را براي JIT تشكيل ميشه ، اونوقت براي هر متدي يك stub پيدا ميشه كه بايد بره سراغ mscorjit.dll تا متده را ترجمه كنه و بعد دوباره Jump بزنه به slot اون متده توي VTable و .... اوووه !!

بقيش هم MSDN !!!.. خسته شدم واااه !:)

براي شروع ميشه نگاهي هم به اينجا انداخت !

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

نکته: باید ngen در کامپیوتر مشتری عمل تبدیل را انجام دهد نه کامپیوتر ما. چون کار اون اینه که برای cpu آن کامپیوتر برنامه را قابل اجرا می کند.
 

alireza sh

مدیر بازنشسته
تاریخ عضویت
2 ژانویه 2006
نوشته‌ها
2,775
لایک‌ها
70
سن
40
محل سکونت
نصف جهان
با تشکر از بحث . من بعد این بحث کمی پراکنده راجع به آن خواندم.
یک نکته می گم که اگر غلط بود دوستان بگن.

نکته: باید ngen در کامپیوتر مشتری عمل تبدیل را انجام دهد نه کامپیوتر ما. چون کار اون اینه که برای cpu آن کامپیوتر برنامه را قابل اجرا می کند.

درست فرمودید .
 

MS mass

کاربر تازه وارد
تاریخ عضویت
27 می 2004
نوشته‌ها
67
لایک‌ها
0
سن
44
محل سکونت
تهران
تا اونجایی که من فهمیدم برای ساخت و اجرای یک برنامه که با visual stadio و دات نت ساخته شده ، میتونیم از نرم افزار XenoCode استفاده کنیم. این نرم افزار میتونه برنامه ما رو بصورت Native Code تبدیل کنه و ما صاحب یک برنامه اجرایی مستقل از دات نت فریم ورک می شیم. البته هنوز من دنبالش نرفتم اما بعدا اقدام می کنم.

در ضمن گویا نمیشه از همه امکانات دات نت فریم ورک استفاده کرد و بعد اونو با NGEN به Native Code تبدیل کرد.

NGEN هم در دات نت فریم ورک 2 وجود داره. در این آدرس تقریبا:
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727

مسئله بعدی لطفا یک مثال از نحوه استفاده از NGEN رو اینجا بزارید.:shades2:
ممنون
 

alireza sh

مدیر بازنشسته
تاریخ عضویت
2 ژانویه 2006
نوشته‌ها
2,775
لایک‌ها
70
سن
40
محل سکونت
نصف جهان
اوضلا زیاد نمیتوان به ngen اعتماد کرد ف گاهی مواقع مشکلاتی ایجاد میکند که آدم بیخیال میشود و میبینید بهتر است همان فریمورک و CLR و JIT را داشته باشد بهتر است !
 

Dj Editali

کاربر تازه وارد
تاریخ عضویت
1 می 2007
نوشته‌ها
5
لایک‌ها
0
منهم مدت زیادی در این باره که برنامه رو بدون نیاز به دات نت فریم ورک اجرا کنیم تحقیق کردم.
ولی باید به سمع همگی برسونم که مایکروسافت ترتیبی داده که هیچ وقت نشه به طور کامل یک برنامه رو به یک برنامه مستقل از فریم ورک تبدیل کرد.
این آقا غوله هم میخواد همه چیز و همه کس و همه جا رو بخوره.:blink:
البته من جایی خوندم که یکی از راهها نوشتن برنامه تو 2005 و کپی کردن اون توی استودیوهای قدیمی است. ولی بازم جواب نمیده.:eek:

درضمن باید به دوستانم عرض کنم که چون ویستا از فریم ورک 3 استفاده میکنه احتیاجی به دات نت نداره.:hmm:
 

alireza sh

مدیر بازنشسته
تاریخ عضویت
2 ژانویه 2006
نوشته‌ها
2,775
لایک‌ها
70
سن
40
محل سکونت
نصف جهان
بله ، ngen صرفا برای یک برنامه کنسول بسیار ساده خوبه ! نه برای استفاده از name space های دات نت فریمورک !
 

nanoware

Registered User
تاریخ عضویت
19 آگوست 2005
نوشته‌ها
172
لایک‌ها
1
سلام به همه دوستان خوب و قديمي
چند وقتي ميشه كه برنامه نويسي ويژوال رو با VB.Net شروع كردم و البته برنامه هايي كه كارميكنم رو به #C هم تبديل ميكنم تا با #C هم آشنا شم، اينم بگم كه از قبل با ANSI C آشنايي دارم
يه سري دستورايي تو VB ديدم كه تو C بهشون برخورد نكردم و اين دستورات از VB.Net به C#.Net هم كانورت نميشن
مثلا يكيش كه خيلي كاربرديه و هميشه دنبالش بودم، استفاده از يه بازه تو ساختار Switch/Case هست
تو VB.Net ميشه از اين كد استفاده كرد:
کد:
Select Case dblVar
        Case IS < 5.5
               'TODO1
        Case IS >= 5.5
                'TODO2
ولي معادلش تو سي و #C رو نميدونم.
يكي ديگه آرايه هاي دايناميكه كه تو وي بي با دستور ReDim به كار گرفته ميشه، ولي معادلش تو سي رو نميدونم
يا پوينترها تو C كه تو وي بي معادل درست و حسابي نداره(يا شايد هم داره، مثل ByRef )

ميخواستم معادل اين دستورات و كلا اگه مرجعي براي مقايسه دستوراي اين دو زبون هست رو بدونم
يه مطلب ديگه هم اين كه تا اونجا كه من فهميدم اگه كسي يكي از زبوناي Net. رو بلد باشه، با بقيه زبوناي Net. هم ميتونه برنامه بنويسه، مخصوصا كه ديگه الآن ميشه كدها و پروژه ها رو از يه زبان به يه زبان ديگه تبديل كرد. حالا فرقي نميكنه منكه با VB.Net شروع كردم همون رو ادامه بدم يا اينكه بهتره برم سراغ #C?

ميبخشيد كه طولاني شد
 

saalek110

Registered User
تاریخ عضویت
10 آپریل 2007
نوشته‌ها
212
لایک‌ها
1
با سلام. من کمی سی شارپ کار کردم. کمی هم سی قبلا کار کردم.
دستور سلکت به این شکل در سی شارپ ندیدم.
آرایه دینامیک هم در سی شارپ کار نکردم هنوز.
در مورد پوینترها اون طور که من تابحال در کتابهای سی شارپ دیدم برای ساخت اشاره گر اون طور که در سی پلاس هست باید قسمتی از برنامه را unmanaged ساخت. تا بتوانیم از اشاره گر استفاده کنیم.
در مورد تبدیل از وی بی به سی شارپ هم باید بشه همه کدها را قائدتا تبدیل کرد. البته در namespace ئی بنام میکروسافت ویژوال بیسیک توابعی هست که مخصوص وی بی است. و احتمالا تفاوتهایی هم هست بین سی شارپ و وی بی دات نت ولی فکر کنم تعدادشان کم باشد و تبدیل براحتی صورت بگیرد چون به نظر من به این دلیل که بیشتر کارها با کلاسهای دات نت انجام میشه پس بیشتر قسمتها مشابه است. من از سی شارپ شروع کردم ولی می خواستم در وی بی دات نت هم کدها را امتحان کنم. که هنوز نرسیدم انجام بدهم.
دوستان دیگر اطلاعات کاملتر و صحیح تر دارند.

-----------------------------------------
راجع به سلکت کیس سرچ کردم. در ویکپدیا در مقایسه سی شارپ و وی بی دات نت داریم:
http://209.85.135.104/search?q=cach...harp+Switch+select+case+>=&hl=en&ct=clnk&cd=1
Comparison of C sharp and Visual Basic .NET

Features of Visual Basic .NET not found in C#

With keyword for using the same object repeatedly (this feature was intentionally not added to C# [1])
Named indexers (essentially, properties that take arguments)
The My namespace, which simplifies the use of many framework classes by encapsulating their functionality in a flatter, more accessible structure
More granularity with exception handling with the Catch…When clause, which allows for custom exception filters
The Handles keyword allows declarative wiring of events to functions; Imperative (C# style) event wiring is also available.
Optionally ignore ref/ByRef behavior for passing arguments. (C# requires a temp variable to do this.)
Optional parameter support is useful when using COM automation. This is especially important when working with Microsoft Office.
VB Select Case (switch statements) allow for ranges and even mathematical operations on each condition.
The MyClass keyword which performs a non-virtual method call on an overridden method
.
 

nanoware

Registered User
تاریخ عضویت
19 آگوست 2005
نوشته‌ها
172
لایک‌ها
1
ممنون از توضيحاتت
مقاله هم خيلي جالب بود، تشكر
 

resident

Registered User
تاریخ عضویت
5 دسامبر 2005
نوشته‌ها
96
لایک‌ها
2

alireza sh

مدیر بازنشسته
تاریخ عضویت
2 ژانویه 2006
نوشته‌ها
2,775
لایک‌ها
70
سن
40
محل سکونت
نصف جهان
اصلا در سی شارپ دستور select نداریم . از همان Switch , case استفاده میکنیم
 

H@SS@N 06

Registered User
تاریخ عضویت
4 آپریل 2006
نوشته‌ها
96
لایک‌ها
0
سلام بر همگی

اقا من کد C# یک برنامه را از یه جایی بدست اوردم که بخش aboutbox و formو ... داره . من اصلا در زمینه C# وارد نیستم . میخواستم این کد را کام÷ایل کنم تا برنامه EXE درست بشه . ممنون میشم منو کمک کنید :)
 

H@SS@N 06

Registered User
تاریخ عضویت
4 آپریل 2006
نوشته‌ها
96
لایک‌ها
0
خوب دات نت فریم ورک داری !؟ یا ترجیه ویژال استدیو ؟!

من قبل از اینکه بحث به قسمت تخصصیش برسه عرض کنم که من از برنامه نویسی و برنامه هاش چندان اطلاعاتی ندارم و یک مبتدی هستم :blush: من VISUAL C# دارم
 

H@SS@N 06

Registered User
تاریخ عضویت
4 آپریل 2006
نوشته‌ها
96
لایک‌ها
0
کسی نیست ؟؟؟

سوالمو یه جور دیگه می÷زسم . برای اینکه یک برنامه با ÷سوند exe در C# دزست کنم باید چه کارهایی بکنم . اگر بخوام aboutbox و form و... داشته باشه چه جوری باید تعریف بشن ؟

ممنون:)
 

H_R

مدیر بازنشسته
تاریخ عضویت
30 مارس 2005
نوشته‌ها
3,298
لایک‌ها
17
سن
42
محل سکونت
North Pole
برنامت رو با همون #VISUAL C که داری باز کن بعد کامپایلش کن بعد یه فایل Exe مسیازه میریزی توی یه همچین جاهایی :

C:\Documents and Settings\~YourUserNAme\My Documents\Visual Studio 2005\Projects\..~\bin

از همونجا بردار !
 

M_Shahamiri

کاربر تازه وارد
تاریخ عضویت
25 اکتبر 2007
نوشته‌ها
21
لایک‌ها
0
سلام به همه دوستان
من برنامه نویس زبان دلفی هستم . خیلی دلم می خواهد سی شارپ دات نت رو یاد بگیرم ولی می خواهم سریع تر یاد بگیرم که تغییر زبان بدم .
یه کتاب الکترونیکی 960 صفحه ای پیدا کردم ولی اصلا نمی تونم بخونمش . خسته میشم . آخه دلفی رو بصورت تجربی و استفاده از تجربه های دیگران یاد گرفتم .
چطور شروع کنم . آیا با زجر همین کتاب رو تمام کنم ؟؟؟
ممنون میشم کمک کنید .
 

M_Shahamiri

کاربر تازه وارد
تاریخ عضویت
25 اکتبر 2007
نوشته‌ها
21
لایک‌ها
0
سلام
از همه دوستان گلايه دارم
چرا اينقدر راكد ؟؟؟؟؟؟ پس كجا هستيد ؟؟؟؟
چرا هيچ كس بحثي سئوالي جواب مطرح نمي كنه
من به اين اميد كار با سي شارپ رو شروع كردم كه توي اينترنت و كلوپ هايي مثل اين بتونم از تجربيات دوستان استفاده كنم ولي ....
 
بالا