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
Варианты?
Важно: как можно меньше упростить алгоритм.
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
Варианты?