elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Curso de javascript por TickTack


  Mostrar Mensajes
Páginas: 1 ... 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 [67] 68 69 70 71 72 73 74 75 76 77 78 79 80
661  Programación / .NET (C#, VB.NET, ASP) / Re: Leer datos de una tabla html en: 17 Junio 2015, 13:24 pm
De nuevo gracias por las respuestas.

Me he descargado Html Agility Pack, pero antes de usarlo he buscado la forma de no depender de librerías externas. He encontrado esta forma usando System.Windows.Forms.HtmlDocument y algo tan viejo como la función InStr.

Antes de usar Instr es obtener las líneas <td class="Pais">*</td> mediante miembro OuterHtml de HtmlElement, luego mediante Instr determinar si estamos en "Num" o "Pais" y en cuyo caso se obtiene el InnerText, que sería el número o país.


Código
  1.     Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  2.        Dim doc As HtmlDocument = WebBrowser1.Document
  3.        Dim divs As HtmlElementCollection = doc.GetElementsByTagName("div")
  4.  
  5.        Dim Tipo As String
  6.        Label1.Text = ""
  7.  
  8.        For Each div As HtmlElement In divs
  9.            If div.GetAttribute("id") = "contenedor-portadilla" Then
  10.                Dim tables As HtmlElementCollection = doc.GetElementsByTagName("table")
  11.                For Each table As HtmlElement In tables
  12.                    Dim tds As HtmlElementCollection = table.GetElementsByTagName("td")
  13.                    Dim tdText As String = String.Empty
  14.                    For Each td As HtmlElement In tds
  15.                        tdText = td.InnerText
  16.                        Tipo = td.OuterHtml
  17.  
  18.                        'Obtiene la columna "num"
  19.                        ' If InStr(Tipo, "num", CompareMethod.Text) > 0 Then
  20.                        '  Label1.Text = Label1.Text & tdText & vbCrLf
  21.                        '  End If
  22.  
  23.                        'Obtiene la columna "pais"
  24.                        If InStr(Tipo, "Pais", CompareMethod.Text) > 0 Then
  25.                            Label1.Text = Label1.Text & tdText & vbCrLf
  26.                        End If
  27.                    Next
  28.  
  29.                    'Obtiene la cabezera "Totales"
  30.                    Dim ths As HtmlElementCollection = table.GetElementsByTagName("th")
  31.  
  32.                    Dim thText As String = String.Empty
  33.                    For Each th As HtmlElement In ths
  34.                        thText = th.InnerText
  35.                        Label1.Text = Label1.Text & thText & vbCrLf
  36.                    Next
  37.                Next
  38.            End If
  39.        Next
  40.    End Sub

Ignoraba que hacer esto se llama "parsear html", este termino me ha venido muy bien a la hora de buscar en la red sobre este tema y he encontrado otras formas que más adelante probaré. 


Sl2
     
662  Programación / .NET (C#, VB.NET, ASP) / Re: Leer datos de una tabla html en: 16 Junio 2015, 13:20 pm
Cuantas respuestas, muchas gracias  :D

Estos días he tenido problemas con la compu, concrectamente con la concexión a Internet (estuve haciendo cosas raras...), pero ya está arreglado. A causa de ello no he podido ver vuestras respuestas. Las vi ayer, pero he estado terminando de recuperar el sistema.

Ahora probaré el código de Elektro, a ver que tal.

Sl2
663  Programación / .NET (C#, VB.NET, ASP) / Leer datos de una tabla html en: 13 Junio 2015, 13:26 pm
Hola buenas,

Necesito obtener estos datos y de forma ordenada, en el mismo orden de la tabla.

Por ejemplo tengo esta tabla (que he simplificado):
Código
  1. <div id="contenedor-portadilla">
  2. <table class="TablaPaises" id="calsificacion_completa">
  3. <tr class="Estadistica">
  4. <th colspan="2" class="sinfondo">&nbsp;</th>
  5. <th colspan="1">Totales</th>
  6. </tr>
  7. <td class="Num">1</td>
  8. <td class="Pais">España</td>
  9. </tr>
  10. <tr>
  11. <td class="Num">2</td>
  12. <td class="Pais">Portugal</td>
  13. </tr>

Quedaría así:

    Totales
1 España
2 Portugal


Lo he intentado cargando la página en  webbrowser y usando webbrowser.document ... y sus propiedades, el tagname, y eso pero solo he conseguido un listado del <td> sin ningún orden y todo mezclado.

yo quiero poder conseguir los datos a voluntad para mostrarlo en un ListView

 
Agradezco cualquier ayuda.

Sl2



664  Programación / .NET (C#, VB.NET, ASP) / Re: Agregar archivo a exe en VB en: 13 Junio 2015, 12:37 pm

Gracias Eleкtro, he probado  Process.Start y funciona bien, aunque el archivo esté en la carpeta temp.



Como la aportación de Elektro funciona he quitado ShellExecute y quedaría así:

Código
  1.    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  2.        Dim DirTemp As String = My.Computer.FileSystem.SpecialDirectories.Temp
  3.        Dim TextFile1 As New System.IO.StreamWriter(DirTemp & "\Text1.txt") 'Crea un archivo vacío
  4.        Dim TextFile2 As New System.IO.StreamWriter(DirTemp & "\Text2.txt") 'Crea un archivo vacío
  5.        Dim strTexto1 As String = My.Resources.Resource1.Text1_txt 'Introuduce el texto del archivo de recursos Text.txten strTexto
  6.        Dim strTexto2 As String = My.Resources.Resource1.Text2_txt
  7.  
  8.        TextFile1.WriteLine(strTexto1) 'Crea el archivo
  9.        TextFile1.Flush() 'Borra bufferes
  10.        TextFile2.WriteLine(strTexto2) 'Crea el archivo
  11.        TextFile2.Flush() 'Borra bufferes
  12.        Process.Start(DirTemp & "\Text1.txt") 'Abre el archivo Text1.txt
  13.        Process.Start(DirTemp & "\Text2.txt") 'Abre el archivo Text2.txt
  14.    End Sub

665  Programación / .NET (C#, VB.NET, ASP) / Re: Agregar archivo a exe en VB en: 12 Junio 2015, 18:48 pm
Buenas

He intentado ejecutar el código y bueno,  WriteAllBytes se llama de la siguiente manera:

WriteAllBytes(ByVal path As String, ByVal bytes() As Byte)

si pones:

IO.File.WriteAllBytes(My.Computer.FileSystem.SpecialDirectories.Temp & "\Text.txt", My.Resources.Text)

Entonces  se produce error ya que sólo admite bytes(), es decir, un exe, imagen, etc.



Para leo_gec:
"he tratado de hacer un programa en vb2008 para cuando abran el archivo... "(supong que te refieres a programa) "... se abran 2 txt al mismo tiempo y no se les olvide abrirlos.

Supongo que lo que que quieres,   es crear dos TXT y que se abran automáticamente. Se me ocurre que uses ShellExecute, ya que he probado con 'Shell'  y a través de la consola y no funcionaba.

Con ShellExecute se abren sin problema. Quizás haya otra manera, no se.


Código
  1. Public Class Form1
  2.    Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
  3.        (ByVal hWnd As Integer, _
  4.         ByVal lpOperation As String, _
  5.         ByVal lpFile As String, _
  6.         ByVal lpParameters As String, _
  7.         ByVal lpDirectory As String, _
  8.         ByVal nShowCmd As Integer) As Integer
  9.    Const SW_SHOWNORMAL = 1
  10.    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  11.        Dim DirTemp As String = My.Computer.FileSystem.SpecialDirectories.Temp
  12.        Dim TextFile1 As New System.IO.StreamWriter(DirTemp & "\Text1.txt") 'Crea un archivo vacío
  13.        Dim TextFile2 As New System.IO.StreamWriter(DirTemp & "\Text2.txt") 'Crea un archivo vacío
  14.        Dim strTexto1 As String = My.Resources.Resource1.Text1_txt 'Introuduce el texto del archivo de recursos Text.txten strTexto
  15.        Dim strTexto2 As String = My.Resources.Resource1.Text2_txt
  16.  
  17.        TextFile1.WriteLine(strTexto1) 'Crea el archivo
  18.        TextFile1.Flush() 'Borra bufferes
  19.        TextFile2.WriteLine(strTexto2) 'Crea el archivo
  20.        TextFile2.Flush() 'Borra bufferes
  21.  
  22.        ShellExecute(Me.Handle, "Open", "notepad", DirTemp & "\Text1.txt", vbNullString, SW_SHOWNORMAL)
  23.        ShellExecute(Me.Handle, "Open", "notepad", DirTemp & "\Text2.txt", vbNullString, SW_SHOWNORMAL)
  24.  
  25.    End Sub
  26.  
  27. End Class


Cuando metes el archivo Text1.txt en Recursos, se renombra automáticamente Text1_txt. Yo cambié el nombre y le quité el "_txt" por eso he puesto esta línea de código así:

Dim strTexto1 As String = My.Resources.Resource1.Text1

pero supongo que tu no lo has cambiado, entonces sería así:

Dim strTexto1 As String = My.Resources.Resource1.Text1_txt

Por otro lado el nombre del resource lo tengo en Resource1, pero también se puede cambiar.

En resumen:  

My.Resources.[NombreResource].[NombreArchivo]

En fin para que no haya confusión lo he puesto con la extensión Text1_txt

666  Programación / .NET (C#, VB.NET, ASP) / Re: Agregar archivo a exe en VB en: 11 Junio 2015, 13:21 pm
el copiado no me funciona.
lo demas si
alguien me puede ayudar a completarlo???????????


Parece que #scott_  está en lo cierto, ya que has rectificado y has puesto "%temp%\leelo.exe". Si lo que quieres es camuflar un EXE (para que no lo detecte un antivirus...), el sistema es el mismo, debes añadirlo como archivo de recursos, pero en lugar de 'Archivo', debes seleccinar 'Otros'. Sin embargo, a la hora de crear el archivo debes leerlo y crearlo com archivo binario y darle extensión "exe".

Almenos así lo hacía con el VB6, pero no lo he hecho con VB.Net. Por mera curiosidad me lo voy a mirar, ya que estoy pasando todo lo que hacía con VB6 a VB.Net y eso no lo he pasado.

Saludos



Jo jo, ni punto de comparación en VB.Net. más fácil que en VB6.

Bueno, como he comentado arriba hay que leerlo como binario y no como archivo de texto. Y a la hora de crearlo pues lo mismo.


1. En el menú, Clic 'Proyecto'

2. Clic en 'Agregar control de usuario'

3. Selecciona 'Archivo de recursos'

4. Selecciona 'Resource1.resx'

5. En el menú de  'Resource1.resx', abre el primer menú pulsando en el triangulito y selecciona 'Otros'

6. En el mismo menú, abre el menú 'Agregar recurso' y selecciona 'Agregar archivo existente'

7. Busca el EXE, en tu caso: "leelo.exe", para añadirlo.

8. Añade el siguiente código a un evento (load, click, etc):

[v. VB.NET 2010]
Código
  1.  
  2. 'Introduce el contenido del archivo de recursos leelo.exe en binFile
  3. Dim binFile() As Byte = My.Resources.Resource1.leelo
  4.  
  5. 'Crea el archivo leelo.exe en el directorio C:
  6. My.Computer.FileSystem.WriteAllBytes("C:\Leelo.exe", binFile, True)


+INFO:
https://msdn.microsoft.com/es-es/library/szz5syt3.aspx


Espero que te funcione. ::) 

...Y por favor, no le metas ningún virus. :¬¬

Saludos

667  Programación / .NET (C#, VB.NET, ASP) / Re: Agregar archivo a exe en VB en: 10 Junio 2015, 16:29 pm
hola

Para incorporar elementos a nuestra aplicación: imágenes, vídeos, archivos, apliaciones, archivos binarios, cadenas, iconos, audios, ect. Se usan los archivos de recursos.


- Haz clic con el botón derecho sobre el Explorador de soluciones o bién en el menú 'Proyecto/Agregar Control de Usuario'

- Selecciona 'Archivo de recursos'

- Se te agregará una nueva paleta en el proyecto con nombre: Resource1.resx

- Dicha paleta tiene un menú. Por defecto el primero por la izquierda pone 'Cadenas'. Despliegalo haciendo clic en el triangulito a la derecha de 'Cadenas' para desplegar el menú. Selecciona 'Archivos'

- Ahora en el mismo menú pulsa 'Agregar recurso' y Busca el archivo de texto que quieres agregar, por ejemplo, 'Text.text'.


Ahora, como ejemplo, crea un botón y añade este código. El cual extrae el contenido de Text.txt, lo incorpora a una variable String y luego crea un archivo de texto en el directorio C:/ con el nombre File.txt

Código
  1. Dim CopyResourceFile As New System.IO.StreamWriter("C:\File.txt") 'Crea un archivo vacío
  2. 'Introduce el texto del archivo de recursos Text.txt en strTexto
  3.        Dim strTexto As String = My.Resources.Resource1.Text
  4.        CopyResourceFile.WriteLine(strTexto) 'Crea el archivo
  5.        CopyResourceFile.Flush() 'Borra bufferes
  6.  


Ingoro si hay alguna función para hacerlo directamente. Es decir sin tener que crear una variable String.

Una vez compilado el programa en un EXE, es posible modificar los archivo de recursos que contiene usando programas como ResourceHacker, desde el cual puedes acceder a los recursos de una aplicación. También desde C++. (Por lo menos si que se podía con el viejo VB6)


+INFO:

https://msdn.microsoft.com/es-es/library/vstudio/6wkcc526%28v=vs.110%29.aspx



668  Comunicaciones / Redes / Re: No puedo usar la red TOR en VirtualBox en: 10 Junio 2015, 14:17 pm
en hecho, si se puede usar de este modo, eso justamente lo que hace tortilla :P

aquí info
https://foro.elhacker.net/buscador2-t409824.0.html;msg1924117#msg1924117

Mil gracias #engel lex funcionó perfecto.  ;-) ;-) ;-). Estoy contento porque llevo como un mes intentándolo por mi mismo y no lo conseguía.

#andavid
confirmado que funciona. Al principio me daba error por el DNS, pero finalmente conseguí que funcionara toqueteando en conexiones de red Tortilla Adapter a base de prueba y error. Hay que hacer las cosas en el orden adecuado.
 
Lo malo es que no me gusta usar EXE de terceros de dudosa procedencia para estas cosas en Windows y menos con temas de red ya que vete tu a saber lo que hace, o lo que contiene.  Creo que por ahí anda el código fuente, pero yo en lenguaje C estoy muy verde.

Saludos




Se me olvidaba comentar que Tortilla crea un archivo INI en el mismo directorio que se ejecuta y tuve que modificar una línea:

TorClientTcpPort      = 9150

(por defecto 9050)

Ya que TOR, el que yo tengo, usa el puerto 9150 y no el 9050. No estoy seguro pero creo que 9050 es en Linux o en versiones más viejas.
669  Comunicaciones / Redes / Re: No puedo usar la red TOR en VirtualBox en: 9 Junio 2015, 16:03 pm
Gracias,
Segun parece Torilla es el caminoi  ;-)

Justo lo q busco



Por cierto TOR, creo que tiene los días contados por lo que he leído, incluso el FBI y algunos gobiernos van detras TOR con la escusa de lo de siempre.
670  Comunicaciones / Redes / Re: No puedo usar la red TOR en VirtualBox en: 9 Junio 2015, 15:36 pm
Puff averigua ahora como se hace eso... ::)
Páginas: 1 ... 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 [67] 68 69 70 71 72 73 74 75 76 77 78 79 80
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines