Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: Freeze. en 15 Diciembre 2007, 16:54 pm



Título: Casi nada de Programación solo de Logica. :O
Publicado por: Freeze. en 15 Diciembre 2007, 16:54 pm
Hola, tengo un backup de mi foro necesito sacar solamente los msn de entre tantas cosas.

Esta es la manera en que puede encontrarse un email:

Código:
 'XXXXX', 'unemail@hotmail.com', 'una.ip.normal.1', 1, 0, '', 'Hola esta es una prueba'

Como hago para de todo ese texto sacar solo:

'unemail@hotmail.com' o unemail@hotmail.com

He intentado de varias maneras y solo logro unas partes muy grandes. :S


Título: Re: Casi nada de Programación solo de Logica. :O
Publicado por: Spider-Net en 15 Diciembre 2007, 17:24 pm
Hay muchas formas de hacer eso, yo haría un split... algo así
Código
  1. Private Sub Command1_Click()
  2. Dim data As String
  3. Dim vdata As Variant
  4.  
  5. data = "'XXXXX', 'unemail@hotmail.com', 'una.ip.normal.1', 1, 0, '', 'Hola esta es una prueba'"
  6. vdata = Split(data, "'")
  7. MsgBox vdata(3)
  8. End Sub

Y ya devuelve el valor del e-mail. Haces que en data se almacene la cadena correspondiente y ya está :¡ ;D ;D

Saludos.


Título: Re: Casi nada de Programación solo de Logica. :O
Publicado por: Freeze. en 15 Diciembre 2007, 17:27 pm
Ps con una sola cadena sin repetirse esta muy bien :xD

Pero tengo esto:

Código
  1. Private Sub Form_Load()
  2. Dim data As String
  3. Dim vdata As Variant
  4. Open "D:\Foros\SMF\Backup\localhost.sql" For Binary Access Read As #1
  5. data = Input(LOF(1), #1)
  6. Close #1
  7. vdata = Split(data, "@")
  8. MsgBox vdata(1)
  9. End Sub
  10.  
  11.  


Título: Re: Casi nada de Programación solo de Logica. :O
Publicado por: Spider-Net en 15 Diciembre 2007, 17:35 pm
Pues eso, tu has puesto la cadena y yo te puesto la solución para esa cadena hombre.. xD pero vamos no se donde está el problema:

Mete un textbox y haces así y en teoría debería de meter todos los mails...

Código
  1. Private Sub Form_Load()
  2. Dim i as integer
  3. Dim data, datos As String
  4. Dim vdata, vdatos As Variant
  5.  
  6. Open "D:\Foros\SMF\Backup\localhost.sql" For Binary Access Read As #1
  7. data = Input(LOF(1), #1)
  8. Close #1
  9. vdata = Split(data, "@")
  10.  
  11. For i = 0 To Numero de Entradas del localhost.sql
  12.   datos=vdata(i)
  13.   vdatos = Split(datos, "'")
  14.   Text1.Text = Text1.Text & vdatos(3) & vbcrlf
  15. Next i
  16. End Sub

Creo que así iría bien, prueba y me dices, esque sin el archivo no puedo probarlo.. xD


Título: Re: Casi nada de Programación solo de Logica. :O
Publicado por: Freeze. en 15 Diciembre 2007, 17:39 pm
No, creo que esto no tiene solucion. Tendre que sacar los emails manualmente T_T


Título: Re: Casi nada de Programación solo de Logica. :O
Publicado por: Spider-Net en 15 Diciembre 2007, 17:43 pm
Que va hombre, tampoco creo yo que sea tan difícil, pero bueno si quieres hacerlo manualmente.. que te sea leve.. xD


Título: Re: Casi nada de Programación solo de Logica. :O
Publicado por: vivachapas en 16 Diciembre 2007, 22:38 pm
no habra alguna forma de buscar todas las "palabras" q tengan "@"...
yo pienso en algo asi: dodne haya un "@" q lo seleccione (como cuando uno hace doble click en una palabra) y los vaya poniendo en algun txt o algo asi...

no se como hacerlo solo es una idea...


Título: Re: Casi nada de Programación solo de Logica. :O
Publicado por: SKL (orignal) en 17 Diciembre 2007, 03:45 am
Hice esto.... espero que te ayude.... y que sea lo que vos queres...


Código
  1.    Dim sValor      As String
  2.    Dim sData()     As String
  3.    Dim i           As Long
  4.  
  5.    'la cadena a extraer
  6.    sValor = "'XXXXX', 'sunemail@hotmail.com', 'una.ip.normal.1', 1, 0, '', 'Hola esta es una prueba'"
  7.  
  8.    'Delimitamos la coma ,
  9.    sData = Split(sValor, ",")
  10.  
  11.    'Recorre todos los valores
  12.    For i = 0 To UBound(sData)
  13.    'los escribe en el debug (inmediato)
  14.        Debug.Print sData(i) & vbCrLf
  15.    Next
  16.  
  17.    'aca mostramos el mensaje con el mail
  18.    MsgBox Trim(Mid(sData(1), 3, Len(sData(1)) - 3))



saludos.. :D


Título: Re: Casi nada de Programación solo de Logica. :O
Publicado por: chrominum en 17 Diciembre 2007, 16:45 pm
Seria mas o menos asi:

Buscar @
Una vez encontrado @ retroceder hasta encontrar '
una vez encontrado ' copiar hasta encontrar otro '
pegar en un archivo .txt
comenzar otra vez


Título: Re: Casi nada de Programación solo de Logica. :O
Publicado por: Freeze. en 17 Diciembre 2007, 22:12 pm
Siento decepcionarlos pero tampoco. :xD

He intentado muchas maneras pero nad me sale. :D


Título: Re: Casi nada de Programación solo de Logica. :O
Publicado por: HaDeS, - en 19 Diciembre 2007, 07:29 am
Si esa es toda la línea completa, intenta con esto a ver si te sale:
Código
  1. Private Sub Form_Load()
  2. Dim data As String
  3. Dim vdata As Variant
  4. Open "D:\Foros\SMF\Backup\localhost.sql" For Input As #1
  5. data = Input$(LOF(1), #1)
  6. Close #1
  7.  
  8. x = Split(data, vbCrLf)
  9. For i = 0 To UBound(x)
  10.    y = Split(x(i), ",")
  11.    Text2.Text = Text2.Text & Replace(y(1), "'", "") & vbCrLf
  12. Next i
  13.  
  14. End Sub
  15.  
Conteste tarde, entonces creo que ya sacó todos los datos manualmente xD
saludos!


Título: Re: Casi nada de Programación solo de Logica. :O
Publicado por: LeandroA en 19 Diciembre 2007, 11:21 am
Hola lo que vos buscas es extraer expreciones regulares lo podes hacer con Microsoft VBScript Regular Expressions, mirate este link

http://www.recursosvisualbasic.com.ar/htm/trucos-codigofuente-visual-basic/166-expresiones-regulares.htm

Saludos


Título: Re: Casi nada de Programación solo de Logica. :O
Publicado por: Freeze. en 19 Diciembre 2007, 16:32 pm
Hola lo que vos buscas es extraer expreciones regulares lo podes hacer con Microsoft VBScript Regular Expressions, mirate este link

http://www.recursosvisualbasic.com.ar/htm/trucos-codigofuente-visual-basic/166-expresiones-regulares.htm

Saludos

Muchisimas Gracias..!! :D :D :D Solucionado..!! :D :D :D :D


Título: Re: Casi nada de Programación solo de Logica. :O
Publicado por: SKL (orignal) en 19 Diciembre 2007, 18:15 pm
y si eso es exactamente lo mismo que hice yo pero sin la listita de mails...

no entiendo que era lo que n ote servia