Test Foro de elhacker.net SMF 2.1

Programación => .NET (C#, VB.NET, ASP) => Programación General => 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:


'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 (vb) [Seleccionar]

Private Sub Command1_Click()
Dim data As String
Dim vdata As Variant

data = "'XXXXX', 'unemail@hotmail.com', 'una.ip.normal.1', 1, 0, '', 'Hola esta es una prueba'"
vdata = Split(data, "'")
MsgBox vdata(3)
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 (vb) [Seleccionar]

Private Sub Form_Load()
Dim data As String
Dim vdata As Variant
Open "D:\Foros\SMF\Backup\localhost.sql" For Binary Access Read As #1
data = Input(LOF(1), #1)
Close #1
vdata = Split(data, "@")
MsgBox vdata(1)
End Sub

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 (vb) [Seleccionar]
Private Sub Form_Load()
Dim i as integer
Dim data, datos As String
Dim vdata, vdatos As Variant

Open "D:\Foros\SMF\Backup\localhost.sql" For Binary Access Read As #1
data = Input(LOF(1), #1)
Close #1
vdata = Split(data, "@")

For i = 0 To Numero de Entradas del localhost.sql
   datos=vdata(i)
   vdatos = Split(datos, "'")
   Text1.Text = Text1.Text & vdatos(3) & vbcrlf
Next i
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 (vb) [Seleccionar]
    Dim sValor      As String
    Dim sData()     As String
    Dim i           As Long
   
    'la cadena a extraer
    sValor = "'XXXXX', 'sunemail@hotmail.com', 'una.ip.normal.1', 1, 0, '', 'Hola esta es una prueba'"

    'Delimitamos la coma ,
    sData = Split(sValor, ",")
   
    'Recorre todos los valores
    For i = 0 To UBound(sData)
    'los escribe en el debug (inmediato)
        Debug.Print sData(i) & vbCrLf
    Next

    'aca mostramos el mensaje con el mail
    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 (vb) [Seleccionar]

Private Sub Form_Load()
Dim data As String
Dim vdata As Variant
Open "D:\Foros\SMF\Backup\localhost.sql" For Input As #1
data = Input$(LOF(1), #1)
Close #1

x = Split(data, vbCrLf)
For i = 0 To UBound(x)
    y = Split(x(i), ",")
    Text2.Text = Text2.Text & Replace(y(1), "'", "") & vbCrLf
Next i

End Sub

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
Cita de: 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

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