PDA

View Full Version : سوال: سوالات يك تازه كار در مورد C#‎



Programmer 1
شنبه 11 مهر 1388, 06:11 صبح
سلام ،

من تازه شروع به برنامه نويسي C#‎ كرده ام و اين تاپيك را زدم تا سوالات خود را در آن قرار دهم و اميدوارم كه شما دوستان به سولات جواب دهيد ،

ااين هم سوال اول ، من حدود 2 روز قبل سوالي را از سايت p30pedia پرسيدم و دوستان براي جواب سوالم مرا به اين سايت ارجاع دادند ، لينك زير آخرين سوال من بود ( پست 8 ) لطفا به آن پاسخ دهيد ( در همين جا )

http://forum.p30pedia.com/showthread.php?p=94930#post94930

با تشكر /.

mahdi_7610
شنبه 11 مهر 1388, 07:02 صبح
دوست عزیز این نوع سوال پرسیدن درست نیست .

چون برای دیدن لینک ها فعال اون سایت باید عضو اون سایت شد .

Parham.D
شنبه 11 مهر 1388, 12:03 عصر
در این سایت بهتر است که اول سوال خود را جستجو کنید. بخصوص برای کسانی که مبتدی هستند موارد مورد نظر به راحتی پیدا میشن.

Programmer 1
یک شنبه 12 مهر 1388, 07:14 صبح
سلام ،

اين هم اون سوالي كه مي گفتم :

1) در ويرايشگر كد ويژوال استوديو براي اينكه به محل تعريف يك تابع پرش كنيم چه كليد تركيبي بايد استفاده شود ؟ از طريق كليك راست و انتخاب go to definetion را بلدم فقط آيا كليد تركيبي براي اين كار وجود دارد و كليد تركيبي نيز براي برگشت به عقب وجود دارد ؟ (VS 2008)

چون مشكلات به وجود امده زياد بود يك فرم ساده شده طراحي كردم تا شما بتونيد از روي اون جواب سوالات من رو بدهيد :

فرم های زیر را در نظر بگیرید

http://img2.tinypic.info/files/r38clwljgp9jttsacc5s.png (http://img2.tinypic.info/)

http://www.gigaimage.com/images/ypy2sc8dqshcg5nn6rc9.png (http://www.gigaimage.com/)

2) مشکل اول این است که الان من در رويداد لود فرم اول ،‌ دستورات اتصال به بانك اطلاعات را نوشته ام و به هنگام اجرا بدون هيچ خطايي اطلاعات در DataGridView نمايش داده مي شود ، در هنگام كليك بر روي دكمه افزودن نيز اطلاعات وارد شده به درستي وارد شده و در جدول نمايش داده مي شوند ، كد مربوط به دكمه ذخيره تغييرات هم اين است كه براي به روز رساني بانك اطلاعات است : da.update(ds,"List"); ( da شي اي از نوع DataAdapter است و ds یک دیتاست است )

اگر دكمه ذخيره تغييرات زده نشود اطلاعات موجود در ديتا ست در بانك اطلاعاتي ذخيره نمي شود ، حال مشكلي كه هست اين است كه با انجام تغييراتي در DataGridView و زدن دكمه ذخيره تغييرات ، از دستور بالا خطا گرفته مي شود و جالب اين جاست وقتي كه مثلا اطلاعات جديدي وارد مي شود و همان اطلاعات را در DataGridView تغيير دهيم و دكمه ذخيره تغييرات را بزنيم اطلاعات ويرايش شده به درستي ذخيره مي شود ولی تغییر دادن سایر اطلاعات جدول و زدن دکمه ذخیره تغییرات باعث بروز خطا می شود و خطا نیز از همان دستور بالا گرفته می شود .

3) مشکل بعدی اینه که من قصد دارم كه وقتي هيچ اطلاعاتي در فیلدها وارد نشود و دکمه افزودن زده شود پيامي در پنجره About در برچسب تعيين شده نمايش داده شود براي اين كار دستورات زير را نوشتم ولي باز هم خطا داده ميشود : ( این دستورات را در رویداد کلیک دکمه افزودن قرار داده ام )


Form objMessage=new frmMessage();
objMessage.lblMessage.text="Message";
objMessage.show();

بعضي دوستان در سايت developercenter مشكل اين خطا را در عمومي تعريف نكردن خاصيت modifier دانستند و براي رفع خطا گفتند كه خاصيت modifier برچسب را public قرار دهيد ولي بازم خطا داد ، دوباره گفتند كه بايد در فرم message يك پراپرتي تعريف كنيد ولي باز هم نشد ، مشكل كجاست ؟

4) من يك تابع براي بررسي خالي بودن فيلدهاي اطلاعاتي نوشته ام به اين صورت :


public bool IsEmptyForm()
**
if (txtFirstName.Text == string.Empty)
**
return true;
}




خطاي داده شده در خط اول تابع بالا : Error not all code paths return a value
و وقتي در جايي از برنامه مي خواهم از اين تابع استفاده كنم دوباره خطا مي دهد :

مثلا :


if (IsEmptyForm == true)
**
//Commands
}

خطاي داده شده : Operator '==' cannot be applied to operands of type 'method group' and 'bool'

کلا شد خطا این برنامه !!! ، انشاء الله که سوالات من روشن بوده باشد ، اگر هم در جایی ، منظور از سوالم روشن نبود ، بگویید تا اطلاعات بیشتری ارائه دهم .

syntax کدها هم درست هست ، فقط به علت کپی و پیست ممکن است به هم ریخته باشند

آقا حتما جواب بديد ، الان يك هفته است كه كارم گيره .


با تشكر /.

Reza_Yarahmadi
یک شنبه 12 مهر 1388, 10:57 صبح
1- فکر نمیکنم کلید میانبری واسه این کار باشه!! سریعترین راه دسترسی به متدها استفاده از کمبو باکس بالا و سمت راست در VS است.
2- از کدوم دستور خطا میگیره؟ اینجا که چیزی معلوم نیست!!
3- این کد بصورت دستی نوشته شده و احتمالا Syntaxاش ایراد داره (همیشه خاصیت Text حرف اولش بزرگه!!)، بعد از Public کردن لیبل دوباره همین کد رو بنویسید. اگه VS بعد از زدن هر نقطه (.) و نوشتن چند حرف از شئ ، خاصیت ، متد ... مورد نظرتون ، نام اون شئ رو نشون داد مشکلی نیست ولی اگه نشون نده یعنی یه جای کار میلنگه و باید بررسیش کنید.
4- احتمالا شما فقط توی یک شرط دستور return رو نوشتید در حالی که باید طوری بنویسید که در هر حالت مقدار بازگشتی داشته باشه( یعنی یه else هم بذارید و مقدار False رو برگشت بدید)
برای استفاده از متدها باید بعد از اسمشون پرانتز باز و بسته () بذارید.

اَرژنگ
یک شنبه 12 مهر 1388, 13:33 عصر
لطفا سوالها را در تپیکهایه جدا با عناوین مخصوص به خود بفرستید، در برنامه نویسی هم قسمت بندی زندگی را آسانتر میکنه.

جواب دادن ۴ تا سوال در یک تپیک گیج کننده است (برایه من )

1) در ويرايشگر كد ويژوال استوديو براي اينكه به محل تعريف يك تابع پرش كنيم چه كليد تركيبي بايد استفاده شود ؟ از طريق كليك راست و انتخاب go to definetion را بلدم فقط آيا كليد تركيبي براي اين كار وجود دارد

http://www.dofactory.com/ShortCutKeys/ShortCutKeys.aspx

F12

و كليد تركيبي نيز براي برگشت به عقب وجود دارد ؟ (VS 2008)
http://www.dofactory.com/ShortCutKeys/ShortCutKeys.aspx


Ctrl-+
Goes back to the previous location in the navigation history. (For example, if you press Ctrl-Home to go to the start of a document, this shortcut will take the cursor back to wherever it was before you pressed Ctrl-Home.) Ctrl-Shift-+
Moves forward in the navigation history. This is effectively an undo for the View.NavigateBackward operation