Programación General > Visual Basic para principiantes

 Podrian Publicar funciones para procesar Cadena de texto

<< < (3/8) > >>

Jimbenit:

--- Citar ---MOSKITO DICE:
Tienes un juicio discutible...
En cuanto a tu función inversa es demasiado código para algo tan sencillo.

--- Fin de la cita ---

Bueno mira, la coma del final en tu funcion esta como requisito indispensable, acuerdate que es la funcion inversa de la primera, la cual no tiene coma al final (excepto cuando el valor resultado es un solo numero, como en el caso de : "")
¿Acaso se te hace dificil quitar esta coma del final dentro de esta misma función?, eso es por tu amor por a la recursividad, cierto ?  <_<

y sobre lo de "demasiado codigo" (puede que sea cierto y tengas razón)


Me quede esperando las funciones de ustedes, me gustaria revisarlas  <_<

Jimbenit:

--- Citar ---MOSKITO DICE:
El problema de la coma es fácilmente solucionable fuera de las funciones, así que no lo considero un error
--- Fin de la cita ---

Bien, y que me dices del primer caracter generado por tu funcion...?


--- Código: Text ---print  convertstring("4,89,65,73,82,")YAIR  

Jimbenit:
Ya se , ya se, ya se que he puesto muchos post referentes a este tema, solo espero que los moderadores me tengan algo de paciencia.

[LA PRUEBA DE FUEGO]

Recuerdan cuando uno estaba pequeño, aprendiendo la división?, cuando los profesores mandaban a uno a probar la división de dos cifras, el resultado (el cociente) se multiplicaba por el divisor y se le sumaba el residuo, este resultado debia ser el dividendo... recuerdan?

Pues bien, probemos las funciones de cadena para pasar a ascii y la funcion inversa



--- Código: Text ---Print CadenaNormal(CadenaASCII("YAIR")) [/color]


El resultado es "YAIR", si no da este resultado las funciones ( o una de las dos)estan malas.... ok?...

saludos.



 :good: Dificil???

Pues si... lo hacemos un poquito mas agradable.

F_Tanori:

--- Cita de: "Nilson Yair" ---
--- Citar ---MOSKITO DICE:
El problema de la coma es fácilmente solucionable fuera de las funciones, así que no lo considero un error
--- Fin de la cita ---

Bien, y que me dices del primer caracter generado por tu funcion...?


--- Código: Text ---print  convertstring("4,89,65,73,82,")YAIR  
--- Fin de la cita ---

Es por el numero 4 que tienes a iniciar la cadena ya que moskito no concidera el numero de caracteres de la cadena :P igual ocurrira un error sin una coma al final lo cual a mi si me parece un error :P

Incluso hay variacion de resultados (Nebire lo coloque al ultimo porque al parecer modifica la cadena y nos afecta al usarla byRef)


--- Código: Visual Basic ---Function Test(ByRef Text As String)    Debug.Print "Yair = " & Space(10) & CadenaASCII(Text)    Debug.Print "F_Tanori = " & Space(6) & ConvertAscii(Text)    Debug.Print "Moskito = " & Space(10) & ConvertAscii_Moskito(Text)    Debug.Print "Nebire = " & Space(8) & CadenaASCII_Nebire(Text)End Function 
Saludos

F_Tanori:
Esta es mi solucion inversa


--- Código: Visual Basic ---Function ConvertString_FTanori(ByRef as_Cadena As String) As StringOn Error GoTo xError    Dim i As Integer, AsciiCode        AsciiCode = Split(as_Cadena, ",")        For i = LBound(AsciiCode) + 1 To UBound(AsciiCode)        If AsciiCode(i) <> Empty Then            ConvertString_FTanori = ConvertString_FTanori & Format(Chr(AsciiCode(i)), " ")        End If    Next i xError:    If Err.Number > 0 Then        ConvertString_FTanori = Err.Description        Err.Clear    End IfEnd Function 
Asume que lleva la longitud al inicio de la cadena

Debug

--- Código: Text ---?ConvertString_FTanori("4,89,65,73,82") 
Saludos

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

[*] Página Anterior

Ir a la versión completa