1. VisualBasic / Говнокод #2026

    −129.8

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    For intAtts As Integer = 5 To strParams.Length - 1
                Select Case (intAtts + 1) Mod 3
                    Case 0
                        '--- Set where to find the attachments
                        Select Case strParams(intAtts).ToUpper
                            Case "TASKVIEW"
                                strAttach = CType(Me.Parent, ctlTaskViewTemplate).ctlDocNavigator.ContainerID.ToString & ","
                            Case "WORKITEM"
                                strAttach = WorkItem.WorkItemContainer.ToString & ","
                            Case "CASE"
                                strAttach = BFECase.CaseContainerID.ToString & ","
                        End Select
                    Case 1
                        '--- Set the relative path of where to find the attachments
                        strAttach = strAttach & strParams(intAtts) & ","
                    Case 2
                        '--- Set the type of document used to find the attachments
                        strAttach = strAttach & strParams(intAtts)
                        arrAttachments.Add(strAttach)
                        strAttach = ""
                End Select
            Next intAtts

    вот и попробуй пойми что в этих массивах по какому принципу лежит

    Запостил: 6istik, 22 Октября 2009

    Комментарии (2) RSS

    • Принцип заложен в этом кусочке, (intAtts + 1) Mod 3, остаток от деления индекса элемента (плюс один) на 3. То есть код говорит, начиная с 5-го элемента, в массиве лежат триплеты, 1 - где искать аттач, 2- отосительный путь аттача, 3 - тип аттача.
      Каждый триплет форматируется в строку, которая потом добавляется в массив аттачей (добавление происходит на последнем шаге, в case 2).
      Вообще VB приятный язык, очень понятный с первого взгляда. Везет тебе :)
      Ответить
    • зачем то двойное select case
      мдас...
      Ответить

    Добавить комментарий