esto es lo que yo buscaba, y no sabia si habia alguna manera sencilla de hacerlo, como no lo he visto, pues me he machacado un poco el seso y se me ha ocurrido esta chapucilla de codigo
, sin bucles for ni while
, only "goto"
COMPARAR CADENAS, BUSCANDO UNA CADENA DENTRO DE OTRA CADENA
ejemplo:
text2.text = "hola caracola"
text1.text = "raco"
click en buscar y resultado = TRUE , al haber encontrado "raco" en la cadena "hola caracola"
objetos: 2 textbox y un commandbuton
Dim z As Boolean
Private Sub Command1_Click()
x = busca(Text2, Text1)
MsgBox z
End Sub
Private Function busca(x As String, y As String)
Dim cuen1 As Integer, cuen2 As Long
cuen1 = 1
cuen2 = Len(x)
If cuen2 > Len(y) Then
z = False
GoTo b
End If
a:
If Mid(y, cuen1, cuen2) = x Then
z = True
GoTo b
Else
If cuen1 > Len(y) Then
z = False
GoTo b
End If
cuen1 = cuen1 + 1
End If
GoTo a:
b:
lo otro que buscaba era algo parecido pero al reves, buscar y eliminar una cadena que haya en otra cadena, como lo que yo queria era muy especifico, el codigo esta hecho en base a lo que yo necesitaba, para borrar de ¤ a ¤ sabiendo un dato que hiba antes de | , asi que supongo que modificandolo un poco os podria valer parar hacerlo mas general su uso:
BORRAR UNA CADENA SABIENDO UN DATO, DE ENTRE ESTOS CARACTERES ¤ Y ¤
objetos: 2 label
Private Sub Form_Load()
Dim lol As String, var1 As String, var2 As String, var3 As String, x As Long, y As Long
var1 = "6801|127.0.0.1¤6802|127.0.0.3¤6803|127.0.0.2¤"
var2 = "6802"
lol = "|"
a:
x = x + 1: y = 1
If x = Len(var1) Then GoTo c
If lol <> Mid(var1, x, y) Then
var3 = var3 + Mid(var1, x, y)
GoTo a
Else
If var2 = Right(var3, 4) Then
var3 = Left(var3, Len(var3) - 4)
b:
x = x + 1
If x = Len(var1) Then GoTo c
If Mid(var1, x, y) = "¤" Then
GoTo a
Else
GoTo b
End If
Else
End If
var3 = var3 + lol
GoTo a
End If
c:
If Right(var3, 1) <> "¤" Then var3 = var3 + "¤"
Label1.Caption = var1
Label2.Caption = var3
End Sub
lo que hace es que dandole esta cadena:
6801|127.0.0.1¤6802|127.0.0.3¤6803|127.0.0.2¤
yo queria eliminar el numero de puerto que yo quiera y ala vez la ip que hiba al lado, asi que por ejemplo si en var2, le poniamos 6802, borraria y quedaria asi:
6801|127.0.0.1¤6803|127.0.0.2¤
se entiende bien, no? estas eran las soluciones a mis problemas , jeje, lo necesitaba para otra duda que pregunte, y ahora con combiando estas cosas, posteare la solucion a otro post, que me tenia intrigado :p
un saludo