Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Поделись своей логикой (VB) (https://forum.antichat.xyz/showthread.php?t=87037)

bopoh13 01.10.2008 16:56

Поделись своей логикой
 
vb, но это не важно.
Важно: как можно меньше упростить алгоритм.
Код:

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

Варианты?

Rebz 06.11.2008 12:07

перенес тему.. на квест никак не тянет.

vikseriq 06.11.2008 22:23

Проверка на InStr не нужна абсолютно. Также лучше юзать RegExp.


Время: 22:09