PDA

View Full Version : سوال: برگرداندن چند مقدار در یک تابع



oliya24
دوشنبه 25 مهر 1390, 14:27 عصر
سلام دوستان چطور میشه که یه تابع چند مقدار رو برگردونه ؟؟؟لطفا مثالی بزنید
فراخوانی با by ref رو بلد نیستم

sina_saravi1
دوشنبه 25 مهر 1390, 19:09 عصر
با byref یه آبجکت رو ارسال میکنید و عملیات رو خود آبجکت انجام میشه
مثلا شما یه تباع میسازید که آبجکتی از نوع رنگ دریافت میکنه و رنگ اونو تغییر میده
حالا شما پراپرتی BackColor فرم رو به تابع ارسال کنی میبینی BackColor فرم تغییر کرده

M.KH-SH
دوشنبه 25 مهر 1390, 19:12 عصر
یک مثال اگه لطف کنی

sina_saravi1
دوشنبه 25 مهر 1390, 19:28 عصر
اینم یه مثال ساده از ارسال آرگومانت به صورت ByRef

M.KH-SH
دوشنبه 25 مهر 1390, 19:40 عصر
خوب این که میشه همون تابع نویسی خودمون.
مرسی

sina_saravi1
دوشنبه 25 مهر 1390, 19:41 عصر
خوب این که میشه همون تابع نویسی خودمون.
مرسی
اینجا که نوشته هنوز دانلود نشده ...

M.KH-SH
دوشنبه 25 مهر 1390, 19:47 عصر
اون واسه خودش میگه

بیا کدش :::::


Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
ChangeColor(Me.BackColor)
End Sub

Private Sub ChangeColor(ByRef ObjColor As Color)
ColorDialog1.Color = ObjColor
If ColorDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
ObjColor = ColorDialog1.Color
End If
End Sub
End Class

Hossein Bazyan
دوشنبه 25 مهر 1390, 20:08 عصر
اون واسه خودش میگه

بیا کدش :::::


Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
ChangeColor(Me.BackColor)
End Sub

Private Sub ChangeColor(ByRef ObjColor As Color)
ColorDialog1.Color = ObjColor
If ColorDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
ObjColor = ColorDialog1.Color
End If
End Sub
End Class

سلام
منم دانلود کردم اما نوشته 0 !!!!

مرتضی تقدمی
دوشنبه 25 مهر 1390, 20:41 عصر
سلام دوستان چطور میشه که یه تابع چند مقدار رو برگردونه ؟؟؟لطفا مثالی بزنید
سلام
فکر کنم منظور دوستمون اینه که یک تابع چند تا return داشته باشه! اینکار ممکن نیست و شما می تونید از یک تابع فقط یک مقدار رو برگردونید.

M.KH-SH
دوشنبه 25 مهر 1390, 20:44 عصر
فکر کنم منظور دوستمون اینه که یک تابع چند تا return داشته باشه! اینکار ممکن نیست و شما می تونید از یک تابع فقط یک مقدار رو برگردونید



درسته نمیشه ولی اگه یک یا چند متغییر تعریف کنی میتونی از یک تابع n تا بازگشت داشته باشی ولی return فقط یک دونه میشه که چاپ کنه (برنامه نویسی = ابتکار )

Hossein Bazyan
دوشنبه 25 مهر 1390, 20:58 عصر
سلام
اینهم بستگی به این داره که چی بخوای برگشت بدی.
من خودم یه آرایه برگشت میدم که میتونه N متغییر باشه سپس این آرایه را در برگشت تفکیک میکنم

M.KH-SH
دوشنبه 25 مهر 1390, 21:22 عصر
درسته همش بر میگرده به هوش برنامه نویس و تسلط اون بر خواسته خودش (چی میخواد بسازه یا بنویسه)

oliya24
دوشنبه 25 مهر 1390, 21:32 عصر
از تمامی دوسان ممنون بنده به جوابی که میخواستم رسیدم

mobtakercode
سه شنبه 26 مهر 1390, 13:29 عصر
از تمامی دوسان ممنون بنده به جوابی که میخواستم رسیدم

من نمی دانم شما چه می خواستید و به چه رسیدید ولی این را بگویم تابعی که چندین مقدار برگرداند دیگر تابع نیست

Hossein Bazyan
سه شنبه 26 مهر 1390, 14:16 عصر
من نمی دانم شما چه می خواستید و به چه رسیدید ولی این را بگویم تابعی که چندین مقدار برگرداند دیگر تابع نیست

سلام
به این روش که من گفتم میتوان بیش از یک خروجی در تابع داشت
و در ضمن راههای دیگه ای هم داره که تقریبا مشابه همین راهیه که من گفتم
یکیش این :
http://allenbrowne.com/ser-16.html

مرتضی تقدمی
سه شنبه 26 مهر 1390, 20:50 عصر
درسته نمیشه ولی اگه یک یا چند متغییر تعریف کنی میتونی از یک تابع n تا بازگشت داشته باشی ولی return فقط یک دونه میشه که چاپ کنه (برنامه نویسی = ابتکار )


سلام
اینهم بستگی به این داره که چی بخوای برگشت بدی.
من خودم یه آرایه برگشت میدم که میتونه N متغییر باشه سپس این آرایه را در برگشت تفکیک میکنم


سلام
به این روش که من گفتم میتوان بیش از یک خروجی در تابع داشت
و در ضمن راههای دیگه ای هم داره که تقریبا مشابه همین راهیه که من گفتم
یکیش این :
http://allenbrowne.com/ser-16.html

سلام
منظور از همه اینا اینه که از یک تابع یک مقدار برخواهد گشت؛ چه یک عدد, چه یک رشته و چه یک آرایه 1000 عنصری, بهرحال یک مقداره, حالا شما بهش می گید ما 1000 تا مقدار برگردوندیم!
موفق باشید

oliya24
چهارشنبه 27 مهر 1390, 00:49 صبح
اقای تقدمی میشه یه لطف کنید و یه مثال بزارید اینجا ممنون میشم

مرتضی تقدمی
چهارشنبه 27 مهر 1390, 09:43 صبح
اقای تقدمی میشه یه لطف کنید و یه مثال بزارید اینجا ممنون میشم

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