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

 

 


Tema destacado:


  Mostrar Temas
Páginas: 1 ... 63 64 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 ... 105
771  Programación / .NET (C#, VB.NET, ASP) / [SOLUCIONADO] Problema con Application.DoEvents() en: 16 Enero 2013, 14:19 pm
Estoy teniendo problemas con esto:
Código
  1.  Thread_Split.Start()
  2.        While Not Thread_is_completed = True
  3.            Application.DoEvents()
  4.        End While

Cuando inicio el thread por segunda vez, me salta este error:
Código:
Arithmetic operation resulted in an overflow.

¿Porqué?
772  Programación / .NET (C#, VB.NET, ASP) / [APORTE] Splitty v1.6 [Source code] en: 15 Enero 2013, 19:21 pm
Splitty
By Elektro H@cker


Esta utilidad se encarga de organizar un directorio separando el directorio en varias carpetas de un tamaño específico (tamaño de la capacidad de disco) para grabarlo posteriormente.


Para que lo entiendan mejor, pongámonos en situación,
imaginemos que tenemos una carpeta con subcarpetas, llenas de archivos, y la carpeta pesa 100 GB,
si por necesidad queremos grabar la carpeta a DVD's tenemos que organizarlo todo (Cortar y medir) manualmente, lo cual es una tarea muy agobiante xD... Pues para eso hice este programa.

versión 1.6:

     

El código fuente:

>  http://www.mediafire.com/download/pn69i21t9nja5xm/Splitty.rar

* Está desarrollado en VB.NET (VS2012), Es un WinForm y requiere Framework 4.0.

773  Programación / .NET (C#, VB.NET, ASP) / [SOLUCIONADO] Permitir solo una coma en un textbox en: 15 Enero 2013, 15:38 pm
Estoy intentando que el textbox sólamente acepte números, y una coma (sólamente una coma),
No se que estoy haciendo mal (Acepta más de una coma).

Código
  1.    Private Sub TextBox_Custom_Size_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox_Custom_Size.KeyPress
  2.        e.Handled = NumericOnly(e.KeyChar)
  3.    End Sub
  4.  
  5.    Public Function NumericOnly(ByVal eChar As Char) As Boolean
  6.        Dim chkStr As String = "0123456789,"
  7.        If chkStr.IndexOf(eChar) > -1 OrElse eChar = vbBack Then
  8.            If eChar = Keys.Oemcomma & TextBox_Custom_Size.Text.Contains(",") Then Return True
  9.            Return False
  10.        Else
  11.            Return True
  12.        End If
  13.    End Function

Saludos!
774  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.
775  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...
776  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
777  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.
778  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)
779  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
780  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?
Páginas: 1 ... 63 64 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 ... 105
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines