69 lines
2.1 KiB
Plaintext
69 lines
2.1 KiB
Plaintext
Function AnidadoConSangrado(anidado As String) As String
|
|
Dim As String salida = "", linea = ""
|
|
Dim As Integer i = 1, ind = 0
|
|
|
|
While i <= Len(anidado)
|
|
If Mid(anidado, i, 1) = Chr(10) Or Mid(anidado, i, 1) = Chr(13) Then
|
|
If linea <> "" Then
|
|
ind = 0
|
|
While ind < Len(linea) And Mid(linea, ind + 1, 1) = "."
|
|
ind += 1
|
|
Wend
|
|
salida &= Str(ind \ 4) & " " & Mid(linea, ind + 1) & Chr(10)
|
|
linea = ""
|
|
End If
|
|
Else
|
|
linea &= Mid(anidado, i, 1)
|
|
End If
|
|
i += 1
|
|
Wend
|
|
|
|
If linea <> "" Then
|
|
ind = 0
|
|
While ind < Len(linea) And Mid(linea, ind + 1, 1) = "."
|
|
ind += 1
|
|
Wend
|
|
salida &= Str(ind \ 4) & " " & Mid(linea, ind + 1) & Chr(10)
|
|
End If
|
|
|
|
Return salida
|
|
End Function
|
|
|
|
Function SangradoAAnidado(sangrado As String) As String
|
|
Dim As String salida = "", linea = ""
|
|
Dim As Integer i = 1
|
|
Dim As Integer ind, nivel
|
|
|
|
While i <= Len(sangrado)
|
|
If Mid(sangrado, i, 1) = Chr(10) Or Mid(sangrado, i, 1) = Chr(13) Then
|
|
If linea <> "" Then
|
|
ind = Instr(linea, " ")
|
|
nivel = Val(Mid(linea, 1, ind - 1))
|
|
salida &= String(nivel * 4, ".") & Mid(linea, ind + 1) & Chr(10)
|
|
linea = ""
|
|
End If
|
|
Else
|
|
linea &= Mid(sangrado, i, 1)
|
|
End If
|
|
i += 1
|
|
Wend
|
|
|
|
If linea <> "" Then
|
|
ind = Instr(linea, " ")
|
|
nivel = Val(Mid(linea, 1, ind - 1))
|
|
salida &= String(nivel * 4, ".") & Mid(linea, ind + 1) & Chr(10)
|
|
End If
|
|
|
|
Return salida
|
|
End Function
|
|
|
|
Dim As String AnidadoInicial = "Rosetta Code" & Chr(10) & "....rocks" & Chr(10) & "........code" & Chr(10) & "........comparison" & Chr(10) & "........wiki" & Chr(10) & "....mocks" & Chr(10) & "........trolling" & Chr(10)
|
|
Print AnidadoInicial
|
|
Dim As String sangrado = AnidadoConSangrado(AnidadoInicial)
|
|
Print sangrado
|
|
Dim As String anidado = SangradoAAnidado(sangrado)
|
|
Print anidado
|
|
Print "Initial = Restored: "; Iif(AnidadoInicial = anidado, "True", "False")
|
|
|
|
Sleep
|