Hola de nuevo a todos, estoy intentando quitar los espacios en blanco de un string o cadena pero no consigo dar con la tela.
En Visual Basic tengo una función que lo hace perfectamente pero a la hora de convertirla a B4A no consigo que funcione como tiene que ser.
la función de VB es:
El ejemplo seria quitar los espacios en blanco de la cadena, por ejemplo
que me debería de dar
El código de B4A que he creado
El la linea
he tenido que incluir el 0 final (que la VB no figura) por que si no B4A me daba error.
Alguna sugerencia.
Saludos
Pepe
En Visual Basic tengo una función que lo hace perfectamente pero a la hora de convertirla a B4A no consigo que funcione como tiene que ser.
la función de VB es:
B4X:
Public Function ReplaceCharInStr(sData As String, sR As String, sW As String) As String
Dim d As Integer
Dim c As String * 1
Dim tmp As String
For d = 1 To Len(sData)
c = Mid(sData, d, (d + 1))
If c = sR Then
tmp = Mid(sData, 1, d - 1)
tmp = tmp & sW
tmp = tmp & Mid(sData, d + 1)
sData = tmp
End If
Next
ReplaceCharInStr = sData
End Function
El ejemplo seria quitar los espacios en blanco de la cadena, por ejemplo
B4X:
1 2 0 3 5 6
B4X:
120356
El código de B4A que he creado
B4X:
Public Sub ReplaceCharInStr(sData As String, sR As String, sW As String) As String
Dim d As Int
Dim dd As Int
Dim ch As String
Dim tmp As String
' dd = Len(sData)
dd = sData.Length
For d = 1 To dd
ch = Mid(sData, d, (d + 1))
If ch = " " Then
tmp = Mid(sData, 1, d - 1)
tmp = tmp & sW
tmp = tmp & Mid(sData, d + 1, 0)
sData = tmp
End If
Next
' ReplaceCharInStr = sData
' Return ReplaceCharInStr
Return sData
End Sub
Sub Mid(Text As String, Start As Int, Length As Int) As String
Return Text.SubString2(Start - 1, Start+Length - 1)
End Sub
El la linea
B4X:
tmp = tmp & Mid(sData, d + 1, 0)
Alguna sugerencia.
Saludos
Pepe