Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: imatzel en 29 Junio 2012, 16:53 pm



Título: problema con textbox multiline para armar un programa
Publicado por: imatzel en 29 Junio 2012, 16:53 pm
hola tengo un problemilla estoy armando un formulario para post y tengo un problema con los codigos de visual basic

bueno lo que quiero hacer es meter en un textbox1 multiline digamos

< a href="http://pedro.com/dfsafa">http://pedro.com/dfsafa</a>
< a href="http://jorge.com/eeeee">http://jorge.com/eeeee</a>
< a href="http://pedro.com/ddddd">http://pedro.com/ddddd</a>
< a href="http://panchito.com/jyjyjyjy">http://panchito.com/jyjyjyjy</a>
< a href="http://ramiro.com/eetetet">http://ramiro.com/eetetet</a>

ahora quiero que en otro textbox2 al pulsar un boton comando

me bote lo siguiente

< a href="http://pedro.com/dfsafa">parte 1</a>
< a href="http://jorge.com/eeeee">parte 2</a>
< a href="http://pedro.com/ddddd">parte 3</a>
< a href="http://panchito.com/jyjyjyjy">parte 4</a>
< a href="http://ramiro.com/eetetet">parte 5</a>

pues quiero lograr eso ni mas ni menos espero que alguien me pueda ayudar con el codigo el primer problema que le veo ahi es que el textbox1 debera leerse linea por linea para que se pueda trabajar con cada linea
el segundo problema que le veo es como poder seleccionar el enlace de la linea del textbox1 digamos http://pedro.com/dfsafa para poder botar < a href="http://pedro.com/dfsafa">parte 1</a> y asi sucesivamente con todos
y el tercer problema si es que se puede solucionar los dos anteriores es como cambiar en cada linea la parte que dice "parte1, parte2 , parte 3, etc...
alguna idea


Título: Re: problema con textbox multiline para armar un programa
Publicado por: Yoghurt en 12 Julio 2012, 08:49 am
Es algo simple... Eso yo lo hago con mi editor de texto PSEditor usando "expresiones regulares".

Para hacerlo en Visual Basic primero hay que seleccionar el texto que necesitas. Ya que todos empiezan y terminan con " lo usaremos para el proceso.
Código
  1. 'TextBox1 contiene los datos de los links que quieres procesar.
  2. 'para este proposito:
  3. 'TextBox1 = "< a href=""http://pedro.com/dfsafa"">[url]http://pedro.com/dfsafa[/url]</a>"
  4. Dim sFound As String
  5. Dim iStart As Integer, iEnd As Integer
  6. Const sFind = """"
  7.  
  8. 'iStart = FindStr(TextBox1, sFind, 0, vbStrCompare)
  9. 'iEnd = FindStr(TextBox1, sFind, iStart+1, vbStrCompare)
  10. 'Modificado para adecuarse a la realidad :/
  11. iStart = InStr(0,TextBox1, sFind)
  12. iEnd = InStr( iStart+1, TextBox1, sFind)
  13. sFound = Mid$(TextBox1, iStart, (iEnd - iStart))
  14.  
sFound contendrá lo que sea que esté entre dos ". Y pudes usarlo de esta forma:
Código
  1. 'TextBox2 para estos propositos es el Cuadro de texto al que quieres agregar la informacion
  2. TextBox2 = "<a href=""" & sFound & ">Parte 1</a>"
  3.  

Espero haber ayudado a tus bases, solo sigue aprendiendo y no esperes que alguien haga lo que tu debes hacer.


Título: Re: problema con textbox multiline para armar un programa
Publicado por: 79137913 en 12 Julio 2012, 14:25 pm
HOLA!!!

Hola, solo voy a repetir, AAaron... Hace uso de funciones de VB6.

No existe FindStr, En vb6 es InStr para corregir tu codigo a vb6 hay que cambiar estas lineas:
Código
  1. iStart = FindStr(TextBox1, sFind, 0, vbStrCompare)
  2. iEnd = FindStr(TextBox1, sFind, iStart+1, vbStrCompare)

Por estas:
Código
  1. iStart = InStr(0,TextBox1, sFind)
  2. iEnd = InStr( iStart+1, TextBox1, sFind)
  3.  

GRACIAS POR LEER!!!