Поделись своей логикой (VB)

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by bopoh13, 1 Oct 2008.

  1. bopoh13

    bopoh13 Elder - Старейшина

    Joined:
    31 Oct 2006
    Messages:
    195
    Likes Received:
    20
    Reputations:
    0
    Поделись своей логикой

    vb, но это не важно.
    Важно: как можно меньше упростить алгоритм.
    Code:
    Function Ulica(ul As String, dom As String, text As Boolean) As String
    ' ul - название улицы
    ' dom - строка с номером дома и (если есть) корпусом
    ' text = true - вывести текстом
    Dim i As Integer, j As Integer
        i = InStr(dom, " к. ") - 1
        j = InStr(dom, "/")
        
        ul = Replace(ul, " ул.", "")
        
        If text = True Then
            If i > 0 Then
                Ulica = "ул. " + ul + ", дом " + Replace(dom, " к. ", " корпус ")
            Else
                Ulica = "ул. " + ul + ", дом " + dom
            End If
        Else
            If j > 0 Then
                If i > 0 Then
                    Ulica = ul + " " + Replace(Replace(dom, " к. ", ")-"), "/", "(")
                Else
                    Ulica = ul + " " + Replace(dom, "/", "(") + ")"
                End If
            Else
                If i > 0 Then
                    Ulica = ul + " " + Replace(dom, " к. ", "-")
                Else
                    Ulica = ul + " " + dom
                End If
            End If
        End If
    End Function
    Варианты?
     
  2. Rebz

    Rebz Super Moderator
    Staff Member

    Joined:
    8 Nov 2004
    Messages:
    4,055
    Likes Received:
    1,532
    Reputations:
    1,128
  3. vikseriq

    vikseriq Elder - Старейшина

    Joined:
    31 Jul 2008
    Messages:
    118
    Likes Received:
    44
    Reputations:
    2
    Проверка на InStr не нужна абсолютно. Также лучше юзать RegExp.
     
    1 person likes this.