|
9421
|
Programación / Scripting / Re: Instalación de Ruby
|
en: 5 Marzo 2013, 07:55 am
|
¿Has desinstalado version prévia de Ruby?, de lo contrario esa versión estará en el PATH todavía y debes eliminarla del PATH manuálmente. ¿Te has asegurado que tienes la ruta "BIN" de Ruby en tu PATH de Windows? En mi caso: C:\Program Files (x86)\Ruby\bin En tu caso: Yo pude instalar Ruby 2.0 y Watir sin ningún problema, prueba a ejecutar el comando de la gema iniciando la CMD en la carpeta "BIN". Saludos
|
|
|
9422
|
Programación / Programación General / Re: Añadir comandos no existentes en Batch (MS-DOS)
|
en: 4 Marzo 2013, 21:57 pm
|
Tengo una pregunta, hay alguna forma de incluir en mi consola de ms-dos más comandos que con los que viene por defecto? Porsupuesto que puedes, aunque si buscas por "comandos" no encontrarás nada de nada, son aplicaciones de consola, y las hay a patadas por la Red, hay aplicaciones de todas las temáticas y para todos los propósitos, puedes descargar la que quieras y añadirla a la ruta del PATH como te ha comentado el-brujo. Si lo que pretendes es usar un comando externo de Windows como por ejemplo el "Choice.exe", también deberías colocar el archivo de lenguaje adecuado (".\system32\es-ES\Choice.mui"). o incluso si hay alguna forma de "programar" o "crear" comandos. Esto me parece una pregunta con una respuesta demasiado obvia, puedes desarrollar una aplicación de consola (CommandLineInterface) con cualquier lenguaje, pero no es tán fácil como dibujar un círculo en el Paint, hay que aprender a usar algún lenguaje y ponerle ganas. EDITO: O puedes hacer un script en Batch y llamarlo "comando". Esto sería un ejemplo de "comando" personalizado para Batch: [BATCH] [APORTE] Rutina TEXTMAN para manipular archivos de textoSaludos!
|
|
|
9423
|
Programación / .NET (C#, VB.NET, ASP) / Re: ¿Como se hace un menú DE IMÁGENES colapsables?
|
en: 4 Marzo 2013, 19:34 pm
|
uf... a ver, esto es lo que llevo intentando. Quiero repetir que esto se hacerlo manuálmente, pero es un coñazo, y lo que pretendo es automatizarlo bastante, como por ejemplo especificando sólamente el tamaño del elemento a expandir, y esto es lo que he intentado en el siguiente code que voy a mostrar Esto es un form con 4 botones y 4 paneles del mismo tamaño de Ancho, los paneles están detrás de los botones: Todos los controles siguen este orden de nombre numérico: Bien, y esto es mi frustrado intento, he conseguido que funcione corréctamente el primer elemento ("Button_1"), es decir, que se expanda manteniendo la relación entre los otros elementos: Pero si intento expandir otro elemento que no séa el "1", esto se convierte en un cáos: Además, luego está el tema de revertir los cambios, es decir, si expando el elemento "1", y luego quiero expandir el "3", primero tengo que contraer el elemento que estaba abierto, el "1", para luego expandir el "3"... digo yo. En fín, el código: Public Class Form1 Dim Selected_TAB As Integer ' El número del botón clickado Dim Margin_TAB As Integer = 30 ' el margen de espacio que le quiero dar a los botones Dim Element_Size_Y As Integer ' la altura del panel Private Sub sub_btn_sel(sender As Object, e As EventArgs) Handles Button_1.Click, Button_2.Click, Button_3.Click, Button_4.Click Selected_TAB = sender.name.split("_")(1) ' El número del botón clickado Dim Temp_Margin_TAB As Integer = Margin_TAB ' Estas son las dimensiones de altura de cada panel que quiero expandir/contraer Select Case Selected_TAB Case 1 Element_Size_Y = 25 Case 2 Element_Size_Y = 50 Case 3 Element_Size_Y = 80 Case 4 Element_Size_Y = 155 Case Else End Select For Each Control In Panela.Controls If Control.GetType.ToString.Contains("Button") Then Dim Botoncito As Button = CType(Control, Button) If Not Botoncito.Name = "Button_" & Selected_TAB Then Margin_TAB += Temp_Margin_TAB Botoncito.Location = New Point(Botoncito.Location.X, Element_Size_Y + Margin_TAB) End If End If Next For Each Control In Panela.Controls If Control.GetType.ToString.Contains("Panel") Then Dim Panelito As Panel = CType(Control, Panel) If Not Panelito.Name = "Panel_" & Selected_TAB Then Panelito.Visible = False Else Panelito.Visible = True Panelito.Size = New Size(Panelito.Width, Element_Size_Y) Panelito.Location = New Point(Panelito.Location.X, Temp_Margin_TAB) End If End If Next End Sub End Class
|
|
|
9424
|
Programación / .NET (C#, VB.NET, ASP) / Re: ¿Como se hace un menú DE IMÁGENES colapsables?
|
en: 4 Marzo 2013, 17:06 pm
|
Pues primero que nada te recomendaria crear los controles de forma dinamica, y con un correlativo y formato definido
luego a cada "boton" creado le enlazas un evento comun en el cual, tome el nombre del objeto (sender) y recorra todos los siguientes moviendo su posicion, extrayendo el correlativo del mismo nombre. Muchas gracias por el code, de C# sólo entiendo un poco la sintaxis, tendré que pasarlo a VBNET a ver si saco algo en claro. Lo de handlear todos los controles a un sub e interactuar con ellos mediante el sender se hacerlo, pero... ¿Como hago lo de mover sus posiciones sin saber las dimensiones exactas de cada elemento desplegable?, eso es lo que me reconcome la cabeza... y sé que se puede hacer, pero no tengo mucha capacidad resolutiva con este tipo de problemas que son más matemáticos que otra cosa xD. Por cierto, lo que he subrayado de tu comentario, ¿me lo podrías explicar mejor?, creo que no lo he entendido ¿Crear controles de forma dinámica, correlativos y con formato definido?, no he entendido nada de esa parte, ¿Que me estás sugeriendo que haga?, ¿Donde busco información acerca de eso?. Un saludo!
|
|
|
9425
|
Programación / .NET (C#, VB.NET, ASP) / Re: [APORTE] Snippets !! (Posteen aquí sus snippets)
|
en: 4 Marzo 2013, 16:11 pm
|
Modificar permisos de carpetas: #Region " Folder Access Function " ' [ Folder Access Function ] ' ' // By Elektro H@cker ' ' Examples : ' Set_Folder_Access("C:\Folder", Folder_Access.Create + Folder_Access.Write, Action.Allow) ' Set_Folder_Access("C:\Folder", Folder_Access.Delete, Action.Deny) Public Enum Folder_Access Create = System.Security.AccessControl.FileSystemRights.CreateDirectories + System.Security.AccessControl.FileSystemRights.CreateFiles Delete = System.Security.AccessControl.FileSystemRights.Delete + System.Security.AccessControl.FileSystemRights.DeleteSubdirectoriesAndFiles Write = System.Security.AccessControl.FileSystemRights.AppendData + System.Security.AccessControl.FileSystemRights.Write + Security.AccessControl.FileSystemRights.WriteAttributes + System.Security.AccessControl.FileSystemRights.WriteData + System.Security.AccessControl.FileSystemRights.WriteExtendedAttributes End Enum Public Enum Action Allow = 0 Deny = 1 End Enum Private Function Set_Folder_Access(ByVal Path As String, ByVal Folder_Access As Folder_Access, ByVal Action As Action) As Boolean Try Dim Folder_Info As IO.DirectoryInfo = New IO.DirectoryInfo(Path) Dim Folder_ACL As New System.Security.AccessControl.DirectorySecurity Folder_ACL.AddAccessRule(New System.Security.AccessControl.FileSystemAccessRule(My.User.Name, Folder_Access, System.Security.AccessControl.InheritanceFlags.ContainerInherit Or System.Security.AccessControl.InheritanceFlags.ObjectInherit, System.Security.AccessControl.PropagationFlags.None, Action)) Folder_Info.SetAccessControl(Folder_ACL) Return True Catch ex As Exception Throw New Exception(ex.Message) ' Return False End Try #End Region
|
|
|
9427
|
Programación / .NET (C#, VB.NET, ASP) / Re: [APORTE] Splitty v1.6 [Source code]
|
en: 4 Marzo 2013, 15:13 pm
|
NUEVA VERSIÓNSplitty 1.6 - Error de límite máximo de 300 MB al usar el formato ISO corregido (Método: La aplicación añade automáticamente una clave de registro para registrar la utilidad PowerISO)
- Mejoras visuales en la barra de taréas de Windows 7 (Información del progreso).
- Protección temporal contra escritura/borrado/modificación de archivos de la carpeta de origen mientras esta se está procesando (SPLIT).
- Monitorización de cambios de la carpeta de origen para actualizar la información que muestra la aplicación antes de hacer el SPLIT.
- He unificado las estructuras en el mismo source, la aplicación ahora usa los recursos (.exe) de la arquitectura del SO (x64/x86).
- Corregida una errata de sintaxis (if variable = valor = valor), joder, no sé como no lo ví antes, pero estaba funcionando bien xD.
- Corregido el error de ventanas indeseadas (MessageBoxes) en la barrá de taréas.
- Otros pequeños cambios sin importancia.
http://ElektroStudios.tk/Splitty.rarPD: Sobre lo de FSharp SharpDevelop y hacerlo compatible con FW 2.0 me ha sido imposible. Saludos!
|
|
|
9428
|
Programación / .NET (C#, VB.NET, ASP) / Ocultar ventana indeseable en el TaskBar
|
en: 4 Marzo 2013, 11:45 am
|
Hola. En mi aplicación muestro un MSGBOX pero la ventana del MSGBOX aparece también en el TaskBar, me he dado cuenta que esto sólo ocurre si muestro el MGSBOX desde un thread. Aplicación: TaskBar: PD: Lo de la derecha es el MSGBOX, no quiero que eso aparezca en la barra de taréas. ¿Como puedo ocultar la ventana del MSGBOX en el TaskBar?, espero que no haya que recurrir a obtener el handle de la ventana del MSGBOX y esas cosas... ¿Hay algo más fácil? Este es el código que uso: MessageBox.Show(My.Resources.ResourceManager.GetObject(Language_Resource & "09"), My.Settings.Version, MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1)
|
|
|
9429
|
Programación / .NET (C#, VB.NET, ASP) / Re: ¿Como se hace un menú DE IMÁGENES colapsables?
|
en: 3 Marzo 2013, 19:26 pm
|
nada _katze_ he estado probando pero ese control tampoco me sirve, al final lo he hecho manuálmente pero necesito ayuda para automatizar la taréa.
El tema es que necesito hacer un menú colapsable (no me sirve ningún control de terceros colapsables para hacer esto porque es un menú por imágenes y paneles) Os dejo unas imagenes para que entendais lo que quiero hacer... Yo esto se hacerlo de forma manual, es decir, en el evento "click" de un botón, al clickarlo, expandir manualmente el panel, osea redimensionar más colocarlo (control.size + control.location) y hacer lo mismo con todo el resto de elementos... Pero esa manera es un verdadero fiasco porque tengo más de 60 elementos y necesito encontrar una forma dinámica de que todo se organize de un modo más automático, pero no llego a la solución ni a la conclusión de como se podría hacer esto, ni siquiera en pseudocódigo, nada, mi cabeza y mi creatividad no dán para más, jeje. PD: en las imagenes los "elementos" son botones, pero en el code original son PictureBoxes, y lo verde serían paneles. Ah, por cierto, el problema más grande creo que es que los "elementos" (los paneles) no pueden tener el mismo tamaño, algunos son más grandes que otros y esto no puedo cambiarlo de ninguna manera, por eso no he llegado a una solución matemática (que tampoco soy un génio) ni he podido sacar conclusiones en pseudocode. De otra forma creo que sería muy fácil, si todos los paneles fuesen del mismo tamaño sólo tendría que "handlear" todos los elementos en un sub, hacer una regla de trés con todos los elementos y restarle/sumarle el valor del tamaño del panel para resizarlos... en fín me valdría de ese valor para poder hacer todo de una forma más automática, pero es que no puedo hacerlo así.
|
|
|
9430
|
Programación / .NET (C#, VB.NET, ASP) / Re: [APORTE] Snippets !! (Posteen aquí sus snippets)
|
en: 3 Marzo 2013, 18:29 pm
|
Hexadecimal a Array de Bytes: #Region " Hex to Byte-Array Function " ' [ Hex to Byte-Array Function ] ' ' Examples : ' Dim Byte_Array = Hex_to_Byte_Array("000a42494c4c2047415445535ad50adc4f5ca6f9efc1252aadf9847f") ' My.Computer.Registry.SetValue("HKEY_CURRENT_USER\Software\KEYNAME", "VALUENAME", Byte_Array, Microsoft.Win32.RegistryValueKind.Binary) Private Function Hex_to_Byte_Array(ByVal HEX_String As String) As Byte() Dim Bytes_Array((HEX_String.Length \ 2) - 1) As Byte For i As Integer = 0 To HEX_String.Length - 1 Step 2 Dim HEX_Byte As String = HEX_String.Substring(i, 2) Dim Byte_Value As Byte = Byte.Parse(HEX_Byte, Globalization.NumberStyles.AllowHexSpecifier) Bytes_Array(i \ 2) = Byte_Value Next Return Bytes_Array End Function #End Region
Windows API Code Pack: #Region " Set TaskBar Status Function " ' [ Set TaskBar Status Function ] ' ' // By Elektro H@cker ' ' Examples : ' Set_TaskBar_Status(TaskBar_Status.Paused) Public Enum TaskBar_Status Normal = 2 ' Blue Stopped = 4 ' Red Paused = 8 ' Yellow Disabled = 0 ' No colour Undefinied = 1 ' Marquee End Enum Private Function Set_TaskBar_Status(ByVal TaskBar_Status As TaskBar_Status) As Boolean Try : Microsoft.WindowsAPICodePack.Taskbar.TaskbarManager.Instance.SetProgressState(TaskBar_Status) Return True Catch ex As Exception : Throw New Exception(ex.Message) End Try End Function #End Region
Windows API Code Pack: #Region " Set TaskBar Value Function " ' [ Set TaskBar Value Function ] ' ' // By Elektro H@cker ' ' Examples : ' Set_TaskBar_Value(50, 100) Private Function Set_TaskBar_Value(ByVal Current_Value As Integer, ByVal MAX_Value As Integer) As Boolean Try : Microsoft.WindowsAPICodePack.Taskbar.TaskbarManager.Instance.SetProgressValue(Current_Value, MAX_Value) Return True Catch ex As Exception : Throw New Exception(ex.Message) End Try End Function #End Region
|
|
|
|
|
|
|