Data update

This commit is contained in:
Ingy döt Net 2024-10-16 18:07:41 -07:00
parent 81fd053722
commit 52a6ef48dd
10248 changed files with 63654 additions and 6775 deletions

View file

@ -0,0 +1,68 @@
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

View file

@ -0,0 +1,79 @@
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$
sangrado$ = AnidadoConSangrado$(AnidadoInicial$)
print sangrado$
anidado$ = SangradoAAnidado$(sangrado$)
print anidado$
print "Initial = Restored: ";
if AnidadoInicial$ = anidado$ then print "True" else print "False": fi
end
sub AnidadoConSangrado$ (anidado$)
local salida$, linea$, i, ind
salida$ = ""
linea$ = ""
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 = ind + 1
wend
salida$ = salida$ + str$(ind / 4) + " " + mid$(linea$, ind + 1) + chr$(10)
linea$ = ""
fi
else
linea$ = linea$ + mid$(anidado$, i, 1)
fi
i = i + 1
wend
if linea$ <> "" then
ind = 0
while ind < len(linea$) and mid$(linea$, ind + 1, 1) = "."
ind = ind + 1
wend
salida$ = salida$ + str$(ind / 4) + " " + mid$(linea$, ind + 1) + chr$(10)
fi
return salida$
end sub
sub SangradoAAnidado$ (sangrado$)
local salida$, linea$, i, ind, tmp$
salida$ = ""
linea$ = ""
i = 1
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))
tmp$ = ""
for t = 1 to nivel * 4
tmp$ = tmp$ + "."
next t
//salida$ = salida$ + string$(nivel * 4, ".") + mid$(linea$, ind + 1) + chr$(10)
salida$ = salida$ + tmp$ + mid$(linea$, ind + 1) + chr$(10)
linea$ = ""
fi
else
linea$ = linea$ + mid$(sangrado$, i, 1)
fi
i = i + 1
wend
if linea$ <> "" then
ind = instr(linea$, " ")
nivel = val(mid$(linea$, 1, ind - 1))
salida$ = salida$ + string$(nivel * 4, ".") + mid$(linea$, ind + 1) + chr$(10)
fi
return salida$
end sub