Check (i).Value HELP - VB

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток
Собственно не могу догнать можно ли сделать на VB6 допустим так

И начинается маленькое такое зацикливание. Вопрос: есть ли способы как избежать этого зацикливания? А главное чтобы логический функционал сохранился...
Люди добрые, ответьте пожалуйста, если кто сталкивался с такой ситуацией

Решение задачи: «Check (i).Value HELP»

textual
Листинг программы
<font color="blue">Private</font> ar(<font color="darkblue"><b>1</b></font> <font color="blue">To</font> <font color="darkblue"><b>4</b></font>) <font color="blue">As</font> <font color="blue">Long</font>  <font color="00AA00">' список кнопок для чека</font>
<font color="blue">Private</font> blnFLag <font color="blue">As</font> <font color="blue">Boolean</font>
<font color="blue">Private</font> <font color="blue">Sub</font> Form_Load()
    ar(<font color="darkblue"><b>1</b></font>) = <font color="darkblue"><b>2</b></font>: ar(<font color="darkblue"><b>2</b></font>) = <font color="darkblue"><b>3</b></font>: ar(<font color="darkblue"><b>3</b></font>) = <font color="darkblue"><b>5</b></font>: ar(<font color="darkblue"><b>4</b></font>) = <font color="darkblue"><b>6</b></font>
<font color="blue">End</font> <font color="blue">Sub</font>

<font color="blue">Private</font> <font color="blue">Sub</font> Check1_Click(Index <font color="blue">As</font> <font color="blue">Integer</font>)
    <font color="blue">If</font> blnFLag <font color="blue">Then</font> <font color="blue">Exit</font> <font color="blue">Sub</font>
    <font color="00AA00">' ставим значение по чек олл</font>
    <font color="blue">If</font> Index = <font color="darkblue"><b>0</b></font> <font color="blue">Then</font>
        blnFLag = True
        <font color="blue">Call</font> SetAll(Check1(<font color="darkblue"><b>0</b></font>).Value)
        blnFLag = False
        <font color="blue">Exit</font> <font color="blue">Sub</font>
    <font color="blue">End</font> <font color="blue">If</font>
    <font color="00AA00">' если мы в группе, и сняли чек, то снимаем чек и чек олл</font>
    <font color="blue">If</font> IsItemInGroup(Index) <font color="blue">Then</font>
        <font color="blue">If</font> IsAllGroupChecked <font color="blue">Then</font>
            blnFLag = True
            Check1(<font color="darkblue"><b>0</b></font>).Value = vbChecked
            blnFLag = False
            <font color="blue">Exit</font> <font color="blue">Sub</font>
        <font color="blue">End</font> <font color="blue">If</font>
        <font color="blue">If</font> IsAllGroupUnChecked <font color="blue">Then</font>
            blnFLag = True
            Check1(<font color="darkblue"><b>0</b></font>).Value = vbUnchecked
            blnFLag = False
            <font color="blue">Exit</font> <font color="blue">Sub</font>
        <font color="blue">End</font> <font color="blue">If</font>
        blnFLag = True
        Check1(<font color="darkblue"><b>0</b></font>).Value = CheckBoxConstants.vbGrayed
        blnFLag = False
    <font color="blue">End</font> <font color="blue">If</font>
    
<font color="blue">End</font> <font color="blue">Sub</font>
<font color="blue">Private</font> <font color="blue">Sub</font> SetAll(<font color="blue">ByVal</font> p_Value <font color="blue">As</font> CheckBoxConstants)
    <font color="blue">Dim</font> i <font color="blue">As</font> <font color="blue">Integer</font>
    <font color="blue">For</font> i = LBound(ar) <font color="blue">To</font> UBound(ar)
        Check1(ar(i)).Value = p_Value
    <font color="blue">Next</font> i
<font color="blue">End</font> <font color="blue">Sub</font>
<font color="blue">Private</font> <font color="blue">Function</font> IsAllGroupChecked() <font color="blue">As</font> <font color="blue">Boolean</font>
    <font color="blue">Dim</font> i <font color="blue">As</font> <font color="blue">Integer</font>
    <font color="blue">For</font> i = LBound(ar) <font color="blue">To</font> UBound(ar)
        <font color="blue">If</font> Check1(ar(i)).Value = vbUnchecked <font color="blue">Then</font>
            IsAllGroupChecked = False
            <font color="blue">Exit</font> <font color="blue">Function</font>
        <font color="blue">End</font> <font color="blue">If</font>
    <font color="blue">Next</font> i
    IsAllGroupChecked = True
<font color="blue">End</font> <font color="blue">Function</font>
<font color="blue">Private</font> <font color="blue">Function</font> IsAllGroupUnChecked() <font color="blue">As</font> <font color="blue">Boolean</font>
    <font color="blue">Dim</font> i <font color="blue">As</font> <font color="blue">Integer</font>
    <font color="blue">For</font> i = LBound(ar) <font color="blue">To</font> UBound(ar)
        <font color="blue">If</font> Check1(ar(i)).Value = vbChecked <font color="blue">Then</font>
            IsAllGroupUnChecked = False
            <font color="blue">Exit</font> <font color="blue">Function</font>
        <font color="blue">End</font> <font color="blue">If</font>
    <font color="blue">Next</font> i
    IsAllGroupUnChecked = True
<font color="blue">End</font> <font color="blue">Function</font>
<font color="blue">Private</font> <font color="blue">Function</font> IsItemInGroup(<font color="blue">ByVal</font> p_Index <font color="blue">As</font> <font color="blue">Integer</font>) <font color="blue">As</font> <font color="blue">Boolean</font>
    <font color="blue">Dim</font> i <font color="blue">As</font> <font color="blue">Integer</font>
    <font color="blue">For</font> i = LBound(ar) <font color="blue">To</font> UBound(ar)
        <font color="blue">If</font> ar(i) = p_Index <font color="blue">Then</font>
            IsItemInGroup = True
            <font color="blue">Exit</font> <font color="blue">Function</font>
        <font color="blue">End</font> <font color="blue">If</font>
    <font color="blue">Next</font> i
    IsItemInGroup = False
<font color="blue">End</font> <font color="blue">Function</font>

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.917 из 5