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


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


  Mostrar Temas
Páginas: 1 ... 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 [80] 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 ... 107
791  Programación / .NET (C#, VB.NET, ASP) / [SOLUCIONADO] Cual es la forma más simple de obtener el tamaño de una carpeta? en: 14 Enero 2013, 01:45 am
Necesito obtener el tamaño de una carpeta.

Como me gusta hacer las cosas perfectas (A pesar de lo poco que sé todavía de .NET) pues quiero saber si conocen alguna forma más simple (es decir, más rápida) que usar un directory.GetFiles...

Me he fijado en que en el explorer cuando clickamos en las propiedades de una carpeta para ver el tamaño, pues parece que vaya contando los archivos y se vaya incrementando de tamaño,

PERO!!... por otro lado, si hacemos lo mismo sobre un disco duro u otro dispositivo, el tamaño se muestra en un segundo,
y además, con el Scripting.FileSystemObject es tán simple como esto:

Código:
        Dim folder As Scripting.FolderClass = fs.GetFolder(Environment.GetFolderPath(Environment.SpecialFolder.Personal))
        MessageBox.Show(folder.Size)

(Pero no forma parte de .NET)

Así que tengo muchas dudas de si usar el método GetFiles es la única manera y la más rápida...

PD: He buscado mucho en Google y solo veo Getfiles por todas partes.

Gracias por leer.
792  Programación / .NET (C#, VB.NET, ASP) / [SOLUCIONADO] Pequeña duda sobre argumentos en: 13 Enero 2013, 18:10 pm
¿Se puede definir más de un tipo por Valor/Referencia por argumento?

Necesito hacer algo así:
Código:
Public Function blablabla(ByRef Image_File As String or As Bitmap)

O en su defecto:
Código:
Public Function blablabla(ByRef Image_File As "Cualquier tipo que séa aceptable")
If Image_File = Ctype(string) then...
if Image_File = Ctype(Bitmap) then...
793  Programación / .NET (C#, VB.NET, ASP) / [SOLUCIONADO] My.Computer.Clock.LocalTime.DayOfWeek en: 12 Enero 2013, 20:45 pm
¿Se puede obtener este dato en el idioma instalado del equipo?

Código:
My.Computer.Clock.LocalTime.DayOfWeek
794  Programación / .NET (C#, VB.NET, ASP) / [solucionado] Como simular el método "performclick" de un botón? en: 12 Enero 2013, 18:17 pm
Hola,

Estoy usando un botón extendido que no dispone del método "performclick"

Esto no puedo hacerlo:
Código
  1. If "a" = "a" then Button1.performclick()
Puedo escribir el método y no me salta excepción, pero no sucede nada, y he leido el mismo tipo de problema en la página del autor, en CodeProject.

La pregunta es... ¿Puedo simularlo de alguna manera? (Que no séa clickando el botón por coordenadas...  :xD)

Dispongo del source del botón, por si saben como implementar el método...

Gracias por leer.
795  Programación / .NET (C#, VB.NET, ASP) / Como veo el standardoutput de la CMD en la própia CMD? en: 11 Enero 2013, 10:29 am
Estoy intentando hacer pruebas,

Lo que quiero es poder abrir un comando en la CMD y que la consola no se cierre, por ejemplo:

Código
  1.  My_Process_Info.FileName = "CMD.exe"
  2.        My_Process_Info.Arguments = "/k pause"

Pero la CMD se cierra.

Así que he intentado ejecutar un FOR de Batch muy largo en la CMD para ver si así no se cierra...
Código
  1.        My_Process_Info.FileName = "CMD.exe" ' Process filename
  2.        My_Process_Info.Arguments = "/k For /L %a in (1,1,100000) do echo afijgifjigjfgjifjgi" ' Process arguments

y no, no se cierra (Porque el FOR tarda en finalizar, cuando acaba si que se cierra claro xD) pero ahora lo que ocurre además es que el output de la CMD no se muestra en la CMD!, es decir, el FOR no muestra nada.

EDITO: Vale, he descubierto que el output no se muestra en la CMD porque al habilitar la propiedad de redireccionar el Standard u Error output, no muestra el output en la CMD.


Así que quiero solucionar los dos problemas:

1. Que la CMD no se cierre cuando finaliza la orden, el comando.
2. Que el output se muestre en la CMD cuando habilito la propiedad RedirectStandardOutput = True  y/o RedirectStandardError = True




Este es el code, es un snippet que estoy intentando hacer:
Código
  1. Dim My_Process As New Process()
  2.        Dim My_Process_Info As New ProcessStartInfo()
  3.  
  4.        My_Process_Info.FileName = "CMD.exe" ' Process filename
  5.        My_Process_Info.Arguments = "/k For /L %a in (1,1,100000) do echo afijgifjigjfgjifjgi" ' Process arguments
  6.        My_Process_Info.UseShellExecute = False ' Don't use system shell to execute the process
  7.        My_Process_Info.CreateNoWindow = False ' Show the CMD Window
  8.        My_Process_Info.RedirectStandardOutput = True '  Redirect (1) Output
  9.        My_Process_Info.RedirectStandardError = True ' Redirect non (1) Output
  10.        My_Process.EnableRaisingEvents = True
  11.        My_Process.StartInfo = My_Process_Info
  12.        My_Process.Start() ' Run the process
  13.        My_Process.WaitForExit() ' Wait X miliseconds to kill the process
  14.  
  15.        Dim Process_StandardOutput = My_Process.StandardOutput.ReadToEnd() ' Stores the Standard Output (If any)
  16.        Dim Process_ErrorOutput = My_Process.StandardOutput.ReadToEnd() ' Stores the Error Output (If any)
  17.        Dim Process_StartTime As String = My_Process.StartTime ' Stores the time when the process was launched
  18.        Dim Process_EndTime As String = My_Process.ExitTime ' Stores the time when the process was finished
  19.        Dim ERRORLEVEL = My_Process.ExitCode ' Stores the ExitCode of the process
  20.  
  21.        Dim result = Process_StartTime & vbNewLine & Process_EndTime & vbNewLine & ERRORLEVEL
  22.  
  23.        MsgBox(result)
  24.        MsgBox(Process_StandardOutput)
  25.        MsgBox(Process_ErrorOutput)
796  Programación / Programación General / [APORTE] Lección útil para bebés 1.0 en: 11 Enero 2013, 03:57 am
UPS, ME EQUIVOQUÉ DE SECCIÓN, LO PUEDEN MOVER A VB.NET PORFAVOR? XD SORRY









Estaba ayudando a un user que no sabía como usar una barra de progreso, y bueno, hice este form.

Cuando lo completé me dí cuenta de que a mi me habría servido cuando no sabía hacer nada de esto, así que quiero compartirlo por si a alguien le puede servir :xD

Cita de: Yo en otro foro
Con mi ejemplo puedes aprender a...:
· Crear / Añadir controles en tiempo de ejecución,
· Modificar algunas propiedades de controles
· Asociar el evento de un control en tiempo de ejecución a una subrutina
· Usar las variables de entorno
· Obtener todos los archivos de un directorio
· Crear un array y procesar su contenido
· Usar y conocer una barra de progreso,
· Algunos métodos útiles como "Update"

Eso sí, sin threads, esto es un ejemplo MUY básico.

PD: En serio, no quiero comentarios como "Esto no vale nada", si no te gusta no comentes, a un novato le servirá.

 


Código
  1. Public Class Form1
  2.  
  3.  
  4.    ' Declaro los controles que vamos a usar en este form:
  5.    Dim Label_Origen As New Label
  6.    Dim Label_Destino As New Label
  7.    Dim Label_FileName As New Label
  8.    Dim Label_Restantes As New Label
  9.    Dim WithEvents Button_Copiar As New Button
  10.    Dim ProgressBar_1 As New ProgressBar
  11.  
  12.  
  13.    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  14.  
  15.        Me.Size = New Point(420, 320)
  16.        ' Le otorgo las propiedades a los controles
  17.        ' -------------------------------------------------------
  18.        ' Label Origen
  19.        Dim Fuente As New Font("Sans Serif", 20, FontStyle.Regular) ' Seteo la fuente personalizada que quiero usar, porque me apetece usar una distinta y así aprendes xD
  20.        Label_Origen.Font = Fuente
  21.        Label_Origen.Text = "Origen: " & Environment.GetFolderPath(Environment.SpecialFolder.Windows) & "\Fonts"
  22.        Label_Origen.AutoSize = False
  23.        Label_Origen.Size = New Point(640, 40)
  24.        Label_Origen.Location = New Point(0, 0)
  25.        ' Label Destino
  26.        Label_Destino.Font = Fuente
  27.        Label_Destino.Text = "Destino: " & Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles) & "\Test" ' O Environment.SpecialFolder.ProgramFilesX86
  28.        Label_Destino.AutoSize = False
  29.        Label_Destino.Size = New Point(640, 40)
  30.        Label_Destino.Location = New Point(0, 50)
  31.        ' Botón Copiar
  32.        Button_Copiar.Size = New Point(180, 80)
  33.        Button_Copiar.Text = "Copiar!"
  34.        Button_Copiar.Location = New Point(100, 100)
  35.        AddHandler Button_Copiar.Click, AddressOf Button_Copiar_Sub ' Añado el evento "Click" que sucede cuando pinchas el botón, y se llama a la subrutina "Button_Copiar_Sub"
  36.        ' ProgressBar_1
  37.        ProgressBar_1.Size = New Point(180, 20)
  38.        ProgressBar_1.Location = New Point(100, 200)
  39.        ' Label FileName
  40.        Label_FileName.AutoSize = True
  41.        Label_FileName.Location = New Point(100, 230)
  42.        ' Label Restantes
  43.        Label_Restantes.AutoSize = True
  44.        Label_Restantes.Location = New Point(100, 250)
  45.  
  46.        ' Añado los controles al form principal:
  47.        Me.Controls.Add(Label_Origen)
  48.        Me.Controls.Add(Label_Destino)
  49.        Me.Controls.Add(Button_Copiar)
  50.        Me.Controls.Add(ProgressBar_1)
  51.        Me.Controls.Add(Label_FileName)
  52.        Me.Controls.Add(Label_Restantes)
  53.    End Sub
  54.  
  55.  
  56.    Private Sub Button_Copiar_Sub(sender As Object, e As EventArgs)
  57.  
  58.        ' Seteo las variables de origen y destino de carpetas
  59.        Dim Origen As String = Label_Origen.Text.Split(" ")(1)
  60.        Dim Destino As String = Label_Destino.Text.Split(" ")(1)
  61.  
  62.        ' Creo un array con todos los archivos del directorio de origen
  63.        Dim Directory As New System.IO.DirectoryInfo(Origen)
  64.        Dim Array_Files As System.IO.FileInfo() = Directory.GetFiles("*")
  65.  
  66.        ' A la progressBar tenemos que darle un valor "Máximo" (SIEMPRE) (El máximo por defecto es 100, pero si tenemos 101 archivos nos joderá porque no podemos sobrepasar el Máximo),
  67.        ' Ese valor en este caso es el número total de archivos que contiene el directorio.
  68.        ProgressBar_1.Maximum = Array_Files.Length
  69.  
  70.        ' Por cada archivo del Array, sumamos un valor a la ProgressBar, y realizamos las operaciones de copiado o lo que queramos...
  71.        For Each File In Array_Files
  72.            Label_FileName.Text = "Archivo copiado: " & File.Name
  73.            Label_FileName.Update() ' Como no estoy usando threads, tengo que actualizar el estado del label para darle prioridad y que se muestre correctamente, lo cúal ralentiza bastante (BASTANTE) el proceso. Para estas cosas ya te digo que se deben usar Threads + delegados
  74.            Threading.Thread.Sleep(20) ' Le hago esperar 20 ms a este hilo símplemente para que veas bien como se actualiza el proceso de la barra de progreso.
  75.            ProgressBar_1.Value += 1
  76.            Label_Restantes.Text = "Faltan " & (ProgressBar_1.Maximum - ProgressBar_1.Value) & " archivos por copiarse"
  77.            Label_Restantes.Update() ' Otra vez el update necesario para poder mostrar el estado del label, más ralentización para el hilo, de verdad, estudia sobre los threads y cuando sepas algo te ayudaré a entenderlos y usarlos.
  78.        Next
  79.  
  80.        ' Devolvemos los valores originales a la ProgressBar y modificamos los valores de los labels
  81.        ProgressBar_1.Value = 0
  82.        ProgressBar_1.Maximum = 100
  83.        Label_FileName.Text = Nothing
  84.        Label_Restantes.Text = "Todos los archivos copiados."
  85.  
  86.    End Sub
  87.  
  88.  
  89. End Class
797  Programación / .NET (C#, VB.NET, ASP) / [SOLUCIONADO] OMG! ¿Como corrijo esta visualización del Aero? en: 10 Enero 2013, 06:06 am
El programa se vé así en mi Windows (uso un theme oscuro):




Y así es como se ve en un Windows con el theme de Aero:



Sin comentarios!, la visibilidad de todos los controles se vuelve prácticamente NULA,
necesito modificar esos horribles bordes blancos por un color más oscuro (Como en la primera imagen) , y no sé como hacerlo ni si es posible.

He probado a desactivar los estilos visuales de XP en el proyecto, bua!, si lo desactivo se ve 50 veces peor en Aero, y ni siquiera se ve la transparencia de los PNG de los botones.

¿Esto tiene arreglo?



EDITO: He conseguido eliminar los bordes blancos de los botones cambiando la propiedad "FlatStyle" y bueno ya saben así quedan los botones muy planos y sin vida puff..., ¿Pero como le hago para los GroupBoxes?
798  Media / Diseño Gráfico / Busco iconos de años (50s,60s,70s,80s,90s,2000,2001,2002,etc...) en: 10 Enero 2013, 00:52 am


El icono de "70's" y los iconos de las carpetas "2000...2013" y "BSO" los he hecho yo.

Busco el mismo tipo de iconos, que séan de calidad y que los iconos no séan muy distintos, es decir, que sigan un patron de colores.

En cambio los iconos de las decadas (50s, 60s, 80s y 90s) me gustaría que llevasen algún "dibujo" de aquella época, por ejemplo el icono que he hecho de los 70s lleva un fondo muy "Disco" y el arcoiris asociado con esa época.

PD: Sé que es algo dificil, yo no he encontrado más que vectores de pago.
 
un saludo!
799  Programación / .NET (C#, VB.NET, ASP) / [SOLUCIONADO] Problema matemático en: 10 Enero 2013, 00:35 am
Me está volviendo loco este problema!

Estos son los elementos del problema:
  • Un número de GigaBytes, que es una variable de tipo Double.
  • Un label que debe mostrar una cantidad según la cantidad de GB, por cada 4,31 GB debe subir un número de valor al label.

Es decir... Si el valor de la variable es "4,31" el label debe mostrar un "1", porque es la capacidad de un solo DVD,
Si el valor de la variable es "4,32" entonces el label debe mostrar un "2" porque el tamaño es más de la capacidad de un dvd pero menos de la capacidad de 2 DVD's completos,
Si la variable es "10,0" pues el label debe mostrar "3" porqe el tamaño se encuentra entre la capacidad de 3 DVD's,
etc, etc, etc...

El problema es que el valor del label se suma cada "3,50" GB, en lugar de cada "4,31" GB.

Las matemáticas no es lo mio pero yo creo que la división debería funcionar...

Código
  1. ' El valor de "Label_SIZE.Text.Split(" ")(0))" por ejemplo es: 3,50
  2. ' (CON COMA, NO PUNTO)
  3.  
  4. If Label_SIZE.Text.Contains("GB") Then Label_DVD.Text = 1 + (Label_SIZE.Text.Split(" ")(0)) \ 4.31

Código
  1. ' En cambio esto SI me funciona:
  2. ' El valor del label se suma cada "4,5"
  3.  
  4. If Label_SIZE.Text.Contains("GB") Then Label_DVD.Text = 1 + (Label_SIZE.Text.Split(" ")(0)) \ 4.50
  5.  
  6. ' No entiendoooooooo porque el otro no funciona....

800  Programación / .NET (C#, VB.NET, ASP) / [SOLUCIONADO] Buscar todas las variantes de un string en: 9 Enero 2013, 01:10 am
¿Alguien me puede recordar como se hacia esto?

Olvidé que método se usa para esto xD

Código
  1. Dim STR = "abc"
  2. If Cosa.Contains(STR) Then ...
  3.  
  4. ' Quiero que busque todas las variantes:
  5. ' Abc
  6. ' ABc
  7. ' ABC
  8. ' aBC
  9. ' abC
  10. ' etc...
Páginas: 1 ... 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 [80] 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 ... 107
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines