PDA

View Full Version : سوال: کوتاه کردن کد دارای دستورات شرطی If



bastakboys
پنج شنبه 03 بهمن 1387, 20:01 عصر
دوستان بجای کد زیر کدی کوتاه تر میشه نوشت؟



If drdg.HasRows = TrueThen
drdg.Read()
'---------------------
TbIdf.Text = drdg("idF")
'-------¬©ل ©ںی ¦ںéی ي§ë----
If drdg("ax").ToString = ""Then
PbF.Image = CigNetArchive.My.Resources.Resources.axn
Else
PbF.ImageLocation = drdg("ax")
EndIf
'-----------------------------
If drdg("ename").ToString = ""Then
Else
TbEname.Text = drdg("ename")
EndIf
'-----------------------------
If drdg("fname").ToString = ""Then
Else
TbFname.Text = drdg("fname")
EndIf
'-----------------------------
If drdg("st").ToString = ""Then
Else
TbSt.Text = drdg("st")
EndIf
'-----------------------------
If drdg("janr").ToString = ""Then
Else
TbJanr.Text = drdg("janr")
EndIf
'-----------------------------
If drdg("af").ToString = ""Then
BtFilm.Enabled = False
Else
fil = drdg("af")
BtFilm.Enabled = True
EndIf
'-----------------------------
EndIf

mostafaaa
پنج شنبه 03 بهمن 1387, 21:09 عصر
سلام دوست من
زمانی که توی طرح کردن یک شرط فقط یک نتیجش برامون اهمیت داره بهتره که از جمله شرطی درست استفاده کنیم نه اینکه حالت کلی در نظر بگیرم و با استفاده از Else به مقصودمون برسیم.
برای مثال میتونی به جای این :

If drdg("st").ToString = ""Then
Else
TbSt.Text = drdg("st")
EndIf


از این :

If Not drdg("st").ToString = "" Then TbSt.Text = drdg("st")
یا این :

If drdg("st").ToString <> "" Then TbSt.Text = drdg("st")

یا این استفاده کنی :

If Not drdg("st").ToString.Equals(String.Empty) Then TbSt.Text = drdg("st")

یا علی

bastakboys
پنج شنبه 03 بهمن 1387, 22:01 عصر
دوست عزیز
اما منظور من درست استفاده کردن if نیست
من می خواهم یک کدی باشه که این شرط کلی که در همه تکرار شده را در یک انجام بدم.

رضا نانوا
جمعه 04 بهمن 1387, 08:55 صبح
میتونی از یه زیر برنامه یا ماژول استفاده کنی و هربار که خواستی اونو فراخوانی کنی

shahrdar
جمعه 04 بهمن 1387, 11:48 صبح
سلام
دوست عزيز وقتی وريانت دستور If برای يک شی بيشتر از 2 تا ميشه ميتونی از Select case استفاده کنی
اينجوری



Select Case drdg("ename").ToString
Case ""

Case "ename"

Case ...

End Select