Перейти к содержанию

Программного потока: различия между версиями

Материал из Химсофт Вики
Нет описания правки
Нет описания правки
Строка 1: Строка 1:
==IIf==
Функция '''IIF''' (''Immediate IF - Немедленное Если'') - имеет структуру <code>=IIF(Выражение_условия, Значение_если_истина, Значение_если_ложь)</code>.
Функция '''IIF''' (''Immediate IF - Немедленное Если'') - имеет структуру <code>=IIF(Выражение_условия, Значение_если_истина, Значение_если_ложь)</code>.


Строка 7: Строка 9:
*если в поле <code>Fields!func.Value</code> ничего нет (проверяется функцией <code>IsNothing()</code>), то в ячейку будет помещен символ прочерка <code>-</code>;  
*если в поле <code>Fields!func.Value</code> ничего нет (проверяется функцией <code>IsNothing()</code>), то в ячейку будет помещен символ прочерка <code>-</code>;  
*иначе (если поле не пустое) будет размещено значение поля <code>Fields!func.Value</code>.
*иначе (если поле не пустое) будет размещено значение поля <code>Fields!func.Value</code>.
==Select Case==
Конструкция '''Select Case''' (аналог оператора ''switch'') - используется, когда необходимо сравнить одну переменную с несколькими возможными значениями или диапазонами значений.
===Принцип работы на примере:===
<syntaxhighlight lang="vb">
Select Case ResultDate
    Case 1
        ResultString = " год"
    Case 2 To 4
        ResultString = " года"
    Case Else
        ResultString = " лет"
End Select
</syntaxhighlight>
*в конструкцию подставляется главное выражение (в данном случае это <code>ResultDate</code>);
*значение этого выражения последовательно сравнивается со значениями, указанными после каждого ключевого слова <code>Case</code> (в первом случае с 1; во втором – с диапазоном от 2 до 4 включительно; все остальные значения, не попавшие в первых два <code>Case</code> автоматически перенаправляются в последний вариант <code>Case Else</code>);
*как только найдено совпадение, выполняется код внутри соответствующего блока <code>Case</code> и работа конструкции завершается.

Версия от 07:09, 20 февраля 2026

IIf

Функция IIF (Immediate IF - Немедленное Если) - имеет структуру =IIF(Выражение_условия, Значение_если_истина, Значение_если_ложь).

Пример использования в ячейке:

=IIF(IsNothing (Fields!func.Value), "-", Fields!func.Value)

Пояснения:

  • если в поле Fields!func.Value ничего нет (проверяется функцией IsNothing()), то в ячейку будет помещен символ прочерка -;
  • иначе (если поле не пустое) будет размещено значение поля Fields!func.Value.

Select Case

Конструкция Select Case (аналог оператора switch) - используется, когда необходимо сравнить одну переменную с несколькими возможными значениями или диапазонами значений.

Принцип работы на примере:

Select Case ResultDate
    Case 1
        ResultString = " год"
    Case 2 To 4
        ResultString = " года"
    Case Else
        ResultString = " лет"
End Select
  • в конструкцию подставляется главное выражение (в данном случае это ResultDate);
  • значение этого выражения последовательно сравнивается со значениями, указанными после каждого ключевого слова Case (в первом случае с 1; во втором – с диапазоном от 2 до 4 включительно; все остальные значения, не попавшие в первых два Case автоматически перенаправляются в последний вариант Case Else);
  • как только найдено совпадение, выполняется код внутри соответствующего блока Case и работа конструкции завершается.