|
10021
|
Programación / Python / Re: >>>>>>>>>>>>>>Convertir binarios en python<<<<<<<<<<<<<<<
|
en: 7 Enero 2013, 15:03 pm
|
googleando 1 Minuto conseguí este código.  Idem. Este es un poco distinto. def ascii_to_bin(char): ascii = ord(char) bin = [] while (ascii > 0): if (ascii & 1) == 1: bin.append("1") else: bin.append("0") ascii = ascii >> 1 bin.reverse() binary = "".join(bin) zerofix = (8 - len(binary)) * '0' return zerofix + binary # Ejemplo: String = 'hello' binary = [] for char in String: binary.append(ascii_to_bin(char)) print binary print " ".join(binary) # 01101000 01100101 01101100 01101100 01101111
Saludos
|
|
|
10023
|
Programación / .NET (C#, VB.NET, ASP) / Re: Captura del teclado
|
en: 6 Enero 2013, 20:19 pm
|
Si lo único que quieres es capturar unas cuantas teclas fuera del form puedes crear hotkeys globales: #Region " GlobalHotkeys Class " Class Shortcut Inherits NativeWindow Implements IDisposable #Region " GlobalHotkeys Declarations " Protected Declare Function UnregisterHotKey Lib "user32.dll" (ByVal handle As IntPtr, ByVal id As Integer) As Boolean Protected Declare Function RegisterHotKey Lib "user32.dll" (ByVal handle As IntPtr, ByVal id As Integer, ByVal modifier As Integer, ByVal vk As Integer) As Boolean Event Press(ByVal sender As Object, ByVal e As HotKeyEventArgs) Protected EventArgs As HotKeyEventArgs, ID As Integer Enum Modifier As Integer None = 0 Alt = 1 Ctrl = 2 Shift = 4 End Enum Class HotKeyEventArgs Inherits EventArgs Property Modifier As Shortcut.Modifier Property Key As Keys End Class Class RegisteredException Inherits Exception Protected Const s As String = "Shortcut combination is in use." Sub New() MyBase.New(s) End Sub End Class #End Region #Region " GlobalHotkeys IDisposable " Private disposed As Boolean Protected Overridable Sub Dispose(ByVal disposing As Boolean) If Not disposed Then UnregisterHotKey(Handle, ID) disposed = True End Sub Protected Overrides Sub Finalize() Dispose(False) MyBase.Finalize() End Sub Sub Dispose() Implements IDisposable.Dispose Dispose(True) GC.SuppressFinalize(Me) End Sub #End Region #Region " GlobalHotkeys debugger " <DebuggerStepperBoundary()> Sub New(ByVal modifier As Modifier, ByVal key As Keys) CreateHandle(New CreateParams) ID = GetHashCode() EventArgs = New HotKeyEventArgs With {.Key = key, .Modifier = modifier} If Not RegisterHotKey(Handle, ID, modifier, key) Then Throw New RegisteredException End Sub Shared Function Create(ByVal modifier As Modifier, ByVal key As Keys) As Shortcut Return New Shortcut(modifier, key) End Function Protected Sub New() End Sub Protected Overrides Sub WndProc(ByRef m As Message) Select Case m.Msg Case 786 RaiseEvent Press(Me, EventArgs) Case Else MyBase.WndProc(m) End Select End Sub #End Region End Class #End Region
Ejemplos de uso: ' Declare the GlobalHotkey Dim WithEvents GlobalHotkey_CTRL_E As Shortcut Dim WithEvents GlobalHotkey_ALT_E As Shortcut Dim WithEvents GlobalHotkey_ALT_SHIFT_E As Shortcut ' Create the GlobalHotkey into a sub GlobalHotkey_CTRL_E = Shortcut.Create(Shortcut.Modifier.Ctrl, Keys.E) GlobalHotkey_ALT_E = Shortcut.Create(Shortcut.Modifier.Alt, Keys.E) GlobalHotkey_ALT_SHIFT_E = Shortcut.Create(Shortcut.Modifier.Alt Or Shortcut.Modifier.Shift, Keys.E) Private Sub GlobalHotkey_CTRL_E_Press(ByVal s As Object, ByVal e As Shortcut.HotKeyEventArgs) Handles GlobalHotkey_CTRL_E.Press MessageBox.Show("Youve pressed [CTRL + E]") End Sub Private Sub GlobalHotkey_ALT_E_Press(ByVal s As Object, ByVal e As Shortcut.HotKeyEventArgs) Handles GlobalHotkey_ALT_E.Press MessageBox.Show("Youve pressed [ALT + E]") End Sub Private Sub GlobalHotkey_ALT_SHIFT_E_Press(ByVal s As Object, ByVal e As Shortcut.HotKeyEventArgs) Handles GlobalHotkey_ALT_SHIFT_E.Press MessageBox.Show("Youve pressed [ALT +SHIFT + E]") End Sub
Aquí te peudes descargar el snippet: [APORTE] Snippets (ACTUALIZADO 21/12/2012)
|
|
|
10025
|
Programación / .NET (C#, VB.NET, ASP) / Una ayuda para recordar los checkboxes seleccionados
|
en: 6 Enero 2013, 04:39 am
|
Al clickar sobre el botón azul que he señalado en la imagen (2011), se generan en tiempo real una lista de checkboxes y botones en el GroupBox de la derecha, al clickar en uno de los botones generados en el groupbox, se parsea un texto delimitado y se añaden los items al listview. Al clickar en otro botón azul limpio los controles del GroupBox (...controls.clear) y todo vuelve a empezar. Bien, por cada botón azul, necesito recordar los checkboxes del GroupBox que estaban seleccionados, y los items del listview que estaban seleccionados. Necesito recordarlo dentro del programa, no necesito que cada vez que se abra la aplicación se recuerden los elementos. Creo que puedo hacer esto sin ayuda pero seguro que lo haría de la manera más complicada xD, me vendrían bien algunas sugerencias antes de empezar a hacerlo... Mi pregunta es... ¿Como me recomiendan hacerlo? EDITO:No se si será la forma más correcta, pero bueno, así es como lo he hecho de momento: Public SelectedFolders As New List(Of String) Public Sub LlamadaCheckBox(ByVal sender As Object, ByVal e As System.EventArgs) Dim CheckboxN As CheckBox = CType(sender, CheckBox) If CheckboxN.Checked = True Then SelectedFolders.Add(ResourceTag & CheckboxN.Text) Else SelectedFolders.Remove(ResourceTag & CheckboxN.Text) End If End Sub
el sub que crea los controles: Private Sub AddSubfolders(ByVal InputList As List(Of String)) GroupBox_subcarpetas.Controls.Clear() Dim foldernum As Integer = 0 Dim Array_Size As Integer = InputList.Count Dim chk_() As CheckBox Dim btn_() As Button ReDim chk_(Array_Size) ReDim btn_(Array_Size) foldernum += 1 chk_(foldernum) = New CheckBox chk_(foldernum).Name = "CheckBox" & foldernum chk_(foldernum).Top = 20 * foldernum chk_(foldernum).Tag = ResourceTag & chk_(foldernum).Text btn_(foldernum) = New Button btn_(foldernum).Name = "Button" & foldernum btn_(foldernum).TextAlign = ContentAlignment.TopLeft btn_(foldernum).Size = New Point(111, 20) btn_(foldernum).Top = 20 * foldernum btn_(foldernum).Location = New Point(20, btn_(foldernum).Top) btn_(foldernum).Tag = ResourceTag GroupBox_subcarpetas.Controls.Add(chk_(foldernum)) GroupBox_subcarpetas.Controls.Add(btn_(foldernum)) AddHandler chk_(foldernum).CheckedChanged, AddressOf LlamadaCheckBox AddHandler btn_(foldernum).Click, AddressOf LlamadaButton btn_(foldernum).BringToFront() If SelectedFolders.Contains(ResourceTag & chk_(foldernum).Text) Then chk_(foldernum).Checked = True Next
|
|
|
10026
|
Programación / .NET (C#, VB.NET, ASP) / Re: Listview + OnKeyPress event
|
en: 6 Enero 2013, 03:56 am
|
si, lo estoy haciendo  A ver si no recuerdo mal spiritdead dijo que el objeto se debe crear en una class, de ser así imagino que esa manera será para agregar objetos/items predefinidos al listview, ¿Pero que pasa entonces si yo necesito añadir los items sin conocer cuales son los items? es decir, por ejemplo parsear un texto delimitado e ir agregando los items uno por uno: Línea de un texto cualquiera: Simple Plan - I Can Wait Forever;4m:54s;128 Kbps;4,49 MB Ejemplo de como se añadiría en un listview convencional: ' llamo al sub que hace un SPLIT en cada línea del texto... ' Seteo los strings... Listview_Row_STR(1) = TextDelimited(0) Listview_Row_STR(2) = TextDelimited(1) Listview_Row_STR(3) = TextDelimited(2) ' Y añado el item Listview_Item = New ListViewItem(Listview_Row_STR) GListView.Items.Add(Listview_Item)
¿En el tutorial explicarás como hacer algo así? me refiero a añadir los items "en tiempo real", sin haberlos predefinido en una class. Bueno, ya me esperaré a que salga el tuto para hacer allí las preguntas xD. Saludos.
|
|
|
10027
|
Programación / .NET (C#, VB.NET, ASP) / Re: Evento "IsClicked" o algo parecido para los botones?
|
en: 6 Enero 2013, 03:36 am
|
Era más fácil de lo que pensaba, y con un AddHandler añadiré el resto de botones (Otra cosa que aprendí de tí xD), si que me has servido de ayuda (como siempre)  Saludos! EDITO: Pues si que me queda una duda... pero es simple curiosidad... ¿Que diferencia hay si en lugar de hacer esto como lo estoy haciendo (IF, ELSEIF) lo hiciera con un select case? ¿Que es mejor, y porqué? He estado intentando comparar y pensar en el razonamiento de cual sería mejor usar en este caso, pero a mi parecer creo que daría exactamente el mismo resultado sin optimización ninguna del código, símplemente es lo mismo pero distinto de hacer (para este caso), ¿Me equivoco?. Private Sub Buttons_Folders_Clicked(sender As Object, e As EventArgs) Handles _ Button_2000_2006.Click, _ Button_2007.Click, _ Button_2008.Click, _ Button_2009.Click, _ Button_2010.Click, _ Button_2011.Click, _ Button_2012.Click, _ Button_2013.Click, _ Button_BSO.Click, _ Button_Classic.Click Dim Clicked_Button As Button = CType(sender, Button) If Clicked_Button.Name = "Button_2000_2006" Then ResourceTag = "_2000_2006_" Folders. Add("Hard-Techno-Progressive") ElseIf Clicked_Button.Name = "Button_2007" Then ResourceTag = "_2007_" Folders. Add("Hard-Techno-Progressive") ElseIf Clicked_Button.Name = "Button_2008" Then ResourceTag = "_2008_" Folders. Add("Hard-Techno-Progressive") ElseIf Clicked_Button.Name = "Button_2009" Then ResourceTag = "_2009_" Folders. Add("Hard-Techno-Progressive") ElseIf Clicked_Button.Name = "Button_2010" Then ResourceTag = "_2010_" Folders. Add("Hard-Techno-Progressive") ElseIf Clicked_Button.Name = "Button_2011" Then ResourceTag = "_2011_" ElseIf Clicked_Button.Name = "Button_2012" Then ResourceTag = "_2012_" ElseIf Clicked_Button.Name = "Button_2013" Then ResourceTag = "_2013_" ElseIf Clicked_Button.Name = "Button_BSO" Then ElseIf Clicked_Button.Name = "Button_Classic" Then End If End Sub
|
|
|
10028
|
Programación / .NET (C#, VB.NET, ASP) / Re: Listview + OnKeyPress event
|
en: 6 Enero 2013, 03:33 am
|
uf, muchas gracias Seba, me quitas un peso de encima con ese method, estaba cagado de miedo por si la única alternativa era usar el ObjectListView (Alguna de sus propiedades que hiciera eso automáticamente), no sé si será muy lógico lo que acabo de decir... porque siempre se puede codear lo necesario o en este caso ya hay un method que nos ayuda a hacerlo, pero ...  PD: Deseando ver un día de estos un tutorial de como crear el modelo de objeto para agregar un item en el ObjectListView  Saludos
|
|
|
10030
|
Programación / .NET (C#, VB.NET, ASP) / Listview + OnKeyPress event
|
en: 6 Enero 2013, 02:18 am
|
Lo siento pero no se como se le llama a lo que pretendo hacer, así que le llamaré "easy-find" xD, Esta listview tiene 4 columnas, y me gustaría que la listview se comportase de la siguiente manera con la columna nº 2 ("Archivo"): - Al pulsar una tecla del teclado (una tecla del alfabeto), visualizar/seleccionar la primera línea que empiece por esa letra. - (MENOS IMPORTANTE) > Si la columna está desordenada, la misma lógica pero seleccionar la línea más cercana empezando a buscar desde la linea seleccionada, HACIA ABAJO. Imagino que costará un poco de trabajo así que no lo pido todo hecho, pero ayúdenme a empezar, lo del evento "OnKeyPress" es fácil de hacer, pero no sé como podría hacer el "easy-find"... Para el primer problema he pensado en recorrer con un FOR todo el array de "ListView.Items()" para buscar el subitem que empiece por la letra presionada, pero de todas formas he preferido hacer este post por si saben de alguna manera más sencilla y/o rápida. 
|
|
|
|
|
|
|