PDA

View Full Version : ارسال متغیر به سابروتین (نمی دونم عنوانش چی می شه)



روح اله معینی زاده
چهارشنبه 22 مهر 1383, 14:04 عصر
سلام خدمت دوستان گرامی

ببخشید که عنوان مناسبی نزدم

من سه گروه CheckBox دارم که هر گروه به صورت باند شده می باشند به نام های
chk_lunch
chk_dinner
chk_type2
که هر کدام هفت عضو دارند از
(chk_lunch(0 تا
<span dir=ltr>chk_lunch(6)</span>

حال از یک روتین مانند فشرده شدن کلید (Keypress) می خواهم اطلاعاتی را به یک سابروتین بفرستم که در آن تیک خوردن یا برداشته شدن تیک همه این CheckBoxها انجام می شود و آن هم با دستور For each...next
اگر این کار را در همان روال فشرده شدن کلید انجام دهم امکان پذیر است چون دقیقا قید می شود که کدام گروه انجام شود ولی من می خواهم با فرستادن یک اسم مثل lunch یا dinner این کار را در سابروتین انجام دهم. حال به کد سابروتینی که نوشتم توجه کنید


Private Sub x&#40;meel As String&#41;
Dim c As String, o As CheckBox
If meel = "lunch" Then
c = "Chk_lunch"
End If
For Each o In Me.c
o.Value = 0
Next
End Sub


در این کدی که می بینید خود کامپایلر خطا می گیرد یعنی در خط for each خطا می دهد و اصلا برنامه اجرا نمی شود

البته به این کد کوچک نگاه نکنید چون در کل برنامه تعداد خطوط خیلی زیاد می شود و اگر من بتوانم به این روش کار را انجام دهم خیلی در کد نویسی برنامه و رفع خطای آن جلوگیری می شود.

vbprogramer
چهارشنبه 22 مهر 1383, 15:06 عصر
والا من که نفهمیدم چه طور شد :o :متفکر:

کم حوصله
جمعه 24 مهر 1383, 22:57 عصر
Private Sub x&#40;Name As String&#41;
Dim c As Control
Dim ch As CheckBox
For Each c In Me
If TypeOf c Is CheckBox Then
Set ch = c
If ch.Name = Name Then
ch.Value = 1
End If
End If
Next
End Sub


:flower: :)