Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Eleкtro

#4961
El planteamiento de tú código es incorrecto, ¿qué ocurre si por ejemplo el valor de una de las variables contiene un símbolo "="?.

Aquí te escribo este ejemplo para crear variables dinámicamente.
Código (vb) [Seleccionar]
Option explicit : Dim file, curLine, curIndex, _
                     varPreffix, varName, varValue

' Defino un prefijo para el nombre de las variabes dinámicas.
varPreffix = "var"

' Instancio el Stream del objeto que lee el archivo de texto.
Set file = CreateObject("Scripting.FileSystemObject"). _
                       OpenTextFile("Archivo.txt", 1)

' Itero las lineas del archivo.
Do Until file.AtEndOfStream

   curIndex = (curIndex + 1)
   curLine  = file.Readline

   ' varName  = Trim(Mid(curLine, 1, InStr(curLine, "=") - 1))
   varValue = Trim(Mid(curLine,    InStr(curLine, "=") + 1))

   ' Creo la variable dinamicamente.
   ExecuteGlobal varPreffix & curIndex & "=" & """" & varValue & """"

   ' Muestro el nombre de la variable y el valor.
   Execute "WSCript.Echo varPreffix & curIndex & ""="" & " & varPreffix & curIndex
   
   ' En resumen, para acceder mediante un índice:
   ' ExecuteGlobal "WScript.Echo " & varPreffix & curIndex

Loop

' Cierro el Stream.
file.Close()

WScript.Quit(0)


Resultado de ejecución:
Cscript.exe /NoLogo "Archivo.vbs"

var1=espanha
var2=madrid
var3=win7
var4=ie9
var5=11


Saludos
#4962
Cita de: nolasco281 en 20 Junio 2015, 08:48 AMla primera no termino de entender muy bien

Ejemplo:
Código (vbnet) [Seleccionar]
Dim lvItems As New List(Of ListViewDataItem)

For Each p As Process In Process.GetProcesses()

   Using lvItem As New ListViewDataItem

       With lvItem
           .Item(0) = p.Id
           .Item(1) = p.ProcessName
       End With

       lvItems.Add(lvItem)

   End Using

Next p

With Me.RadListView1
   .Columns.Add("PID")
   .Columns.Add("Process Name")
   .ViewType = ListViewType.DetailsView

   .Items.AddRange(lvItems.ToArray)
End With


Saludos!
#4963
Cita de: nolasco281 en 20 Junio 2015, 06:03 AM
Código (vbnet,1,5,6) [Seleccionar]
Dim lvlItem As New ListViewDataItem()

For Each procesos In Process.GetProcesses()
   Me.ListaProcesos.Items.Add(lvlItem)
   lvlItem.Item(0) = procesos.Id  'ha la columna 1 le asigno el id de los procesos
   lvlItem.Item(1) = procesos.ProcessName 'ha la columna 2 le asigno el nombre
Next

Estás manipulando siempre la misma referencia, es decir, estás reemplazando los valores en el mismo objeto todo el rato.

Instancia un objeto del tipo ListViewDataItem para cada item y resolverás el problema.

O añade directamente los valores "id" y "Processname" a la colección RadListView1.Items, usando el overload de los métodos Add o AddRange que toman cómo argumento un Array de objetos.

Saludos!
#4964
Cita de: Kaxperday en 20 Junio 2015, 03:14 AM
¿IP del router termina siempre en .1?

¿eso es siempre así?

Al parecer no, no siempre es así, la dirección IP de la puerta de enlace predeterminada (o Gateway) de un Router, puede variar según la marca (y no se si también depende del modelo) del Router en cuestión, aquí tienes varios:



En .Net es muy sencillo de averiguar el Gateway de una interfaz de red:

VB.Net:
Código (vbnet) [Seleccionar]
   Public Shared Function GetDefaultGateway() As IPAddress
       Dim card As NetworkInterface = NetworkInterface.GetAllNetworkInterfaces().FirstOrDefault()
       If card Is Nothing Then
           Return Nothing
       End If
       Dim address As GatewayIPAddressInformation = card.GetIPProperties().GatewayAddresses.FirstOrDefault()
       Return address.Address
   End Function


C#:
Código (csharp) [Seleccionar]
public static IPAddress GetDefaultGateway()
{
   var card = NetworkInterface.GetAllNetworkInterfaces().FirstOrDefault();
   if(card == null) return null;
   var address = card.GetIPProperties().GatewayAddresses.FirstOrDefault();
   return address.Address;
}


(primero debes identificar la interfáz en cuestión, por defecto esa función devuelve la primera interfáz encontrada)

La misma información la puedes averiguar usando el comando ipconfig.exe en la consola de Windows.

> ipconfig

Configuración IP de Windows

Adaptador de Ethernet Ethernet 2:

  Sufijo DNS específico para la conexión. . : x
  Vínculo: dirección IPv6 local. . . : x
  Dirección IPv4. . . . . . . . . . . . . . : x
  Máscara de subred . . . . . . . . . . . . : x
  Puerta de enlace predeterminada . . . . . : 192.168.0.1


Saludos!
#4966
Cita de: Jack878 en 20 Junio 2015, 01:28 AMcomo podre saber eso o ver el codigo fuente?

Los archivos que contienen el código fuente suelen tener la extensión .pas aunque es indiferente, abre el archivo en un editor de texto para comprobarlo, si ves código legible entonces es el código fuente, de lo contrario, probablemente sea un archivo binario que contenga gráficos relacionados con BGI (Borland Graphics Interface).

PD: ¿Qué problema hay con utilizar un emulador de DOS?, incluso hay un instalador de Turbo Pascal 7 (no oficial, claro está xD) que ya lleva integrado DOSBox, quizás te sirva de algo:
Turbo Pascal 7 for Windows 7/8/8.1/9

Saludos!
#4967
Cita de: Jack878 en 20 Junio 2015, 00:51 AMEntonces se podra actualizar a windows 8.1 64 bits?

Si dispones del código fuente entonces si, de lo contrario, no veo posible una actualización.

Versiones posteriores de Windows no soportan aplicaciones de 16 Bits, pero de todas formas puedes utilizar cualquier herramienta de emulación de DOS para ejecutar una app de 16 Bits bajo una versión de Windows x86/x64 actual.

DOSBox

Saludos!
#4968
Foro Libre / Re: :) NUEVO POR AQUI :)
20 Junio 2015, 00:59 AM
Cita de: BroosMario en 19 Junio 2015, 22:16 PMHAY REGLAS? ME GUSTARÍA QUE ME LAS DICTARAN :3

Primera regla que debes conocer -> No abusar de los colores, ni mucho menos de las mayúsculas.

El resto de reglas -> foro.elhacker.net/reglas

Aaparte, la mayoría de secciones del foro tienes posts con chincheta donde incluyen normas específicas para esa sección, que también debes cumplir.

Bienvenido al foro!




Cita de: BroosMario en 19 Junio 2015, 22:16 PM
cuando quiero ver una imagen me sale la ranita y un recuadro que dise click para verla y no puedo que tengo que hacer?

Significa que la cuenta o imagen del servicio online de imágenes "imageshack" ha expirado, no puedes hacer nada, ya que la imagen no sigue existiendo.
#4969
Cita de: okik en 20 Junio 2015, 00:09 AM
En cuanto a lo del control WebBrowser es una ventana host  que como dices va con IE y lógicamente para mostrar el contenido web primer se alojan los archivos en el caché, para después cargarlo.

Sin embargo puedo usar...

Código (vbnet) [Seleccionar]
Dim WB as new WebBrowser

...sin haber integrado ningún WebBrowser en el formulario.

Pero es que lo que estás diciendo no tiene nada que ver entre si, creo que estás confundiendo las cosas, intentaré explicarlo:

WebBrowser es una Class que tiene definido un constructor default para instanciar la class, es decir, lo que tú haces aquí:
Código (vbnet) [Seleccionar]
Dim wb as new WebBrowser

Ahí estás creando una instancia de WebBrowser/IE, mientras no la añadas al Form no se dibujará el control, pero la instancia del control existe.

Dicha Class, WebBrowser, hereda de la Class WebBrowserBase y este a su vez hereda de la class Control, esto es lo que lo define cómo un control, y que lo puedas añadir a la UI:
Código (vbnet) [Seleccionar]
Me.Controls.Add(wb)

Obviamente los miembros de la Class WebBrowser podrás utilizarlos sin que hayas añadido el control a la UI (igual que puedes hacer con cualquier otro Class que herede de un Control, cómo la Class Label),
por ejemplo el método WebBrowser.Navigate() puedes utilizarlo, pero el comportamiento del WebBrowser no cambia en absoluto, me refiero a que se seguirá utilizando IE "de forma invisible" para la navegación y si por ejemplo una página contiene scripts conflictivos, se seguirá mostrando un aviso de error de script de IE aunque no hayas agregado el control a la UI, puedes comprobarlo tu mismo con este code:

Código (vbnet) [Seleccionar]
Dim wb as new WebBrowser
' wb.ScriptErrorsSuppressed = False
wb.Navigate("http://submanga.com/")


Saludos!
#4970
1. Cada vez usas algo más rebuscado, ¿por qué usas la API de Windows para descargar un archivo?, tienes toda una librería de classes de .Net para hacer lo que quieras. Inenta seguir las indicaciones que te di arriba.

Código (vbnet) [Seleccionar]
       Using sr As New StreamReader(HttpWebRequest.Create("http://foro.elhacker.net/").GetResponse().GetResponseStream)

           Using sw As New StreamWriter("C:\source.html", append:=False)

               sw.Write(sr.ReadToEnd)

           End Using

       End Using


Cómo alternativa, puedes utilizar el método 'My.Computer.Network.DownloadFile'.

2. La documentación de la función URLDownloadToFile explica que el cuarto parámetro (dwReserved) está reservado por el sistema, y debes asignarlo cómo "0" (null), no usar ninguna enumeración que altere dicho valor.

Cita de: https://msdn.microsoft.com/en-us/library/ms775123%28v=vs.85%29.aspxpCaller
   ...

szURL
   ...

szFileName
   ...

dwReserved
   Reserved. Must be set to 0.


lpfnCB
   ...

No se donde habrás encontrado el ejemplo que has mostrado, pero sin ver el código original para entender lo que el autor del código intenta hacer con los valores de esa enumeración no te puedo decir más, de todas formas tampoco he usado esa función nunca.

Saludos!