PDA

نسخه کامل مشاهده نسخه کامل : سوالات و اشکالات من در سی شــــــــــــــــارپ



سونامی
05-10-2010, 22:40
مشکل قطعه کد زیر چی هست :دی

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

maxeemo
06-10-2010, 00:53
سلام.

Filter باید قبل از فراخوانی ShowDialog مقداردهی بشه.
ShowDialog تابعه، باید () انتهاش باشه.
در ضمن بعد از فراخوانی ShowDialog درست تره که DialogResult رو چک کنید.


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

خط آخر ظاهرا اشکال نداره.



:40::40::40::40::40:

سونامی
06-10-2010, 08:56
خوب زمانی که کاربر فایلی رو انتخاب نمیکنه و cancel میزنه ارور میده برنامه برای رفع این ارور باید از کد


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
استفاده کرد یا

چه کدی :دی ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟؟؟؟؟؟؟

maxeemo
06-10-2010, 20:06
خوب زمانی که کاربر فایلی رو انتخاب نمیکنه و cancel میزنه ارور میده برنامه برای رفع این ارور باید از کد

...

استفاده کرد یا

چه کدی :دی ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟؟؟؟؟؟؟

خوب کدی که تو پست قبلی هست جوابگوئه. به این شکل بهتره؛


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

کدی رو که بعد از باز شدن فایل باید اجرا بشه، تو بخش اصلی if قرار بدید. اینطوری ارور پیش نمیاد. بخش else هم مربوط به وقتی هست که دکمه ی cancel تو دیالوگ باکس فشرده میشه و معمولا کدی تو این قسمت قرار نمیگیره. استفاده از خاصیت FileName برای بررسی فشرده شدن دکمه ی Cancel مناسب نیست.



:40::40::40::40::40:

سونامی
06-10-2010, 20:16
دوست عزیز متوجه نشدم :دی

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

خوب این برای باز شدن هست و خوب میشه یک بیشتر توضیح بدید درباره کدتون ؟ یا کدی ساده تر برای cancel
>> من تازه دارم c# یاد میگیرم :دی <<

سونامی
06-10-2010, 21:50
اعصابم رو خورد کرده شما بی زحمت یه برنامه بنویس که یه فایل تکست رو باز کنه و اگر cansel زد ارور نده

:19:

maxeemo
07-10-2010, 01:36
ساده تر از این نمیشه. شما یه کنترل OpenFileDialog با نام dlgOpen تو فرم داشته باش، و یک دکمه. کد زیر رو تو رویداد کلیک دکمه وارد کن. در انتها هم متن خونده شده از فایل تکست تو strContent ذخیره میشه. اگه کاربر دکمه ی Cancel رو بزنه، هیچ اتفاقی نمی افته، خطایی هم رخ نمیده. تنها خطای ممکن تو کد زیر، یکی از خطاهای متد ReadAllText هست که شما فعلا ازش صرف نظر کن...


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید



:40::40::40::40::40:

سونامی
07-10-2010, 17:20
سلام.

Filter باید قبل از فراخوانی ShowDialog مقداردهی بشه.
ShowDialog تابعه، باید () انتهاش باشه.
در ضمن بعد از فراخوانی ShowDialog درست تره که DialogResult رو چک کنید.


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

خط آخر ظاهرا اشکال نداره.


:40::40::40::40::40:


از کد قبلی تون استفاده کردم منتها فایل رو لود نمی کرد از این کدم خواستم استفاده کنم که مشکل لود شدن فایل تکست در ریچ تکست داره :دی

maxeemo
08-10-2010, 02:47
از کد قبلی تون استفاده کردم منتها فایل رو لود نمی کرد از این کدم خواستم استفاده کنم که مشکل لود شدن فایل تکست در ریچ تکست داره :دی

منظورتون رو متوجه نمیشم. پست 7# محتویات فایل تکست رو درون strContent قرار میده. و شما می تونید این محتوای strContent رو به هر چیزی منتسب کنید. مثلا متن Rich Textbox و یا هر چیز دیگه... مشکل دقیقا کجاست؟



:40::40::40::40::40:

سونامی
10-10-2010, 21:24
خوب این انتساب رو چطوری :دی دادا من مثل شما حرفه ای نیستم تازه دارم یاد میگیرم :دی

مشکل اینجاست که یه فایل متنی رو باز کنه تو ریچ تکست :دی همین + مشکلاتی که حل شد ( شما گفتید )

maxeemo
10-10-2010, 23:53
خوب این انتساب رو چطوری :دی دادا من مثل شما حرفه ای نیستم تازه دارم یاد میگیرم :دی

مشکل اینجاست که یه فایل متنی رو باز کنه تو ریچ تکست :دی همین + مشکلاتی که حل شد ( شما گفتید )

این 2 تا راه حل؛

اولی کامل شده ی کد پست 7#:


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

راه دوم، با استفاده از متد LoadFile از ریچ تکس باکس که خودتون ازش استفاده کردید. منتها متوجه شدم که این متد LoadFile انگار فایل های تکست غیر ASCII رو نمیخونه (مثلا UTF-8 یا Unicode) و خطا میده. شاید شما با این خطا مواجه شدید. تو کد زیر هر گونه خطای بازدارنده مهار شده و شما فقط یک پیغام دریافت می کنید:


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

هر کدوم از 2 تا کد بالا جواب میده، اما دومی کامل تره و البته دخالت شما کمتر... :31:



:40::40::40::40::40:

سونامی
11-10-2010, 12:15
ممنون مشکلم بر طرف شد : دی :دی

سونامی
11-10-2010, 12:28
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

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


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

maxeemo
11-10-2010, 20:14
برای ذخیره کردن از این کد استفاده میکنم ولی وقتی بازش میکنم نوشته ها اینطوری میاد


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

متد SaveFile بدون پارامتر فایل رو در قالب RTF ذخیره میکنه. اون کدی که تو پست شما هست، کد قالب فایل RTF هست. به هر حال... این اتفاق وقتی می افته که شما با یک فایل RTF مثل یک فایل متنی معمولی (بدون قالب) رفتار کنید.

یه تغییراتی باید ایجاد کنید. تو دیالوگ SaveFile باید اکستنشن و نوع فایل رو به RTF تغییر بدید. فایل های با اکستنشن txt به طور پیش فرض با Notepad بازمیشن. اگه یک فایل RTF با اکستنشن txt ذخیره بشه، هنگام باز شدنش همون اتفاقی می افته که شما دیدید.

یه سوال؛ چه اصراری به کار با ریچ تکست باکس هست؟ شما با یک تکست باکس معمولی هم میتونید با فایل های Plain Text کار کنید.



:40::40::40::40::40:

سونامی
11-10-2010, 21:13
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

هیچ اصراری :دی

آخه تا حالا با plain text کار نکردم وطبق عادت

تو وی بی 6 که از ریچ استفاده میکنم( شباهت دستورات ) استفاده میکنم .

الان من مشکل در save دارم چطوری از فایل های plain text استفاده کنم

نحوه باز کردن چه در ریچ چه در تکست رو یاد گرفتم حالا نوبت ذخیره است :دی



برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

maxeemo
12-10-2010, 03:11
باید نوع فایل ها رو کاملا مشخص کنید. دو کد کاملا مشابه برای هر دو عمل میشه نوشت. این برای Open؛


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

و این برای Save؛


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید



:40::40::40::40::40:

سونامی
14-10-2010, 11:48
دوستان مشکل این تیکه کد چی هست

معادله درجه دو هست


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

maxeemo
16-10-2010, 02:31
سلام. اینطوری درسته؛


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

اشکال های کد شما؛

نوع A و B و C و ... نباید int باشه. معادله ی درجه 2 باید روی اعداد حقیقی کار کنه. یا double یا float. حتی اگه اجباری برای استفاده از عدد حقیقی نباشه، شما برای کار با اکثر توابع Math روی اعداد int به casting (تبدیل نوع) نیاز دارید.

برای عمل ساده ای مثل B^2 از Pow استفاده نکنید. هر چند محاسبات #C از دقت بالایی برخورداره، اما بنا به دلایلی که تو بحث آنالیز مطرح میشه، تا جایی که ممکنه باید محاسبات اعشاری رو تا حد ممکن ساده انجام بدید.

سمی کالن بعد if عملا if رو از کار میندازه.

if هایی که شما نوشتین، بلوک ندارن. فقط برای یک واحد دستوری میشه بلوک به کار نبرد. که البته پیشنهاد من اینه که برای هر بخش از دستوراتی که روی بلوک کار میکنن، بلوک به کار ببرید.

تو C عملگر انتساب با تساوی فرق می کنه. تساوی (==) عملگر شرطیه و انتساب (=) عملگر محاسباتی.

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

تو بلوک دلتای صفر یک محاسبه ی اضافی انجام دادید. البته چند میکرو یا نانو ثانیه اصلا مهم نیست، اما اصول نانوشته ی برنامه نویسی :31: بهمون میگه که هیچ کار نالازمی رو انجام ندیم.

متغیرهای پایه رو مقدار دهی نکردید. این کار هم خطای کامپایلری پیش میاره و هم خطای منطقی. A و B و C رو میگم.

و اینکه C به حالت حروف حساسه. IF برای C نامفهومه.



:40::40::40::40::40:

سونامی
16-10-2010, 09:58
ممنون از توضیحاتتون

کامل و جامعتون خیلی کمک کرد :دی


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

اینجا خودتون مقدار دهی کردید

خوب برای این که کاربر عدد بده این درسته ؟

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
چون اینا خودتون A , B , C رو از نوع DOUBLE گرفتید ؟


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید


بعد این 0D یکم نا مفهوم هست ؟ در باره این قسمت ها یکم توضیح بدید

maxeemo
16-10-2010, 11:33
مقدارها رو اینطوری باید دریافت کنید؛


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

فرقی نمی کنه double یا float، به هر حال باید حقیقی باشه. شما دارید روی معادله ی درجه 2 کار می کنید دیگه... طبیعتا همه ی مقادیر باید حقیقی باشن...

0D یعنی 0 دوبل یا 0 با دقت مضاعف. یک پسوند عددی بامعناست برای #C. پسوندهای عددی رایج تو C شارپ:

d یا D: حقیقی با دقت مضاعف مثل 2D
f یا F: حقیقی با دقت معمولی مثل 3.2F
l یا L: صحیح طویل مثل 45L

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



:40::40::40::40::40:

سونامی
18-10-2010, 13:15
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

نقش
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید چی هست

سونامی
18-10-2010, 13:31
خوب جواب درستی نمیدهد

دوست عزیز من
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید قرار میدهم وباید جواب -3 و +3 باشد در صورتی که

مقدار ریشه ها را درست نشان نمی دهد

maxeemo
22-10-2010, 00:16
سلام.

String.Format فرمت کننده ی رشته ای تو #C هست شبیه چیزی که تو ++C می بینیم.

برای a=4، b=5 و c=1 جوابها اینه؛

d=9
x1=-1
x2=-1/4

نه 3 و 3-! اشتباه محاسبه می کنید. کد هم جواب ها رو درست میده.



:40::40::40::40::40:

سونامی
25-10-2010, 14:29
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید برای حرکت دادنش

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


در ضمن در برنامه قبلی که از

D استفاده شد عدم استفاده تغییری در برنامه نمید هد

_H2_
30-10-2010, 22:33
سلام
پیشنهاد میکنم سوالات #C را در انجمن مرتبط تر Framework ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]) مطرح فرمائید



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


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

نمونه بحث مرتبط:
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
موفق باشید.