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

 

 


Tema destacado: Introducción a Git (Primera Parte)


  Mostrar Mensajes
Páginas: 1 ... 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 [1022] 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 ... 1236
10211  Programación / .NET (C#, VB.NET, ASP) / Re: [VS] ¿clonar evento para varios elementos? ¿FOR? en: 19 Noviembre 2012, 17:11 pm
Gracias,

una pregunta tonta.... ¿Como coñ* lo utilizo? ¿Que tipo de argumento "mCheckBox" debo pasarle al sub? xD

Aparte, me da este error en "Configuration.SettingsProperty":

Cita de: VS
Error   1   'Configuration' is ambiguous, imported from the namespaces or types 'System, System.Drawing'.



EDITO:
Alguien me ha proporcionado este code en otro sitio, pero por más que lo intento no sé como utilizarlo:

Código
  1. Public Sub AnyCB_CheckedChanged(sender As Object, e As EventArgs)
  2.  
  3.        Dim cb = DirectCast(sender, CheckBox)
  4.        If cb.Checked AndAlso Not My.Settings.MyCBs.Contains(cb.Name) Then
  5.            My.Settings.MyCBs.Add(cb.Name)
  6.        ElseIf Not cb.Checked AndAlso My.Settings.MyCBs.Contains(cb.Name) Then
  7.            My.Settings.MyCBs.Remove(cb.Name)
  8.        End If
  9.  
  10.    End Sub
  11.  
  12.    Public Sub Form1_Shown(sender As Object, e As EventArgs) Handles Me.Shown
  13.  
  14.        If My.Settings.MyCBs Is Nothing Then My.Settings.MyCBs = New Collections.Specialized.StringCollection
  15.  
  16.        For Each s In My.Settings.MyCBs
  17.            DirectCast(Me.Controls(s), CheckBox).Checked = True
  18.        Next
  19.  
  20.        For Each cb In Me.Controls.OfType(Of CheckBox)()
  21.            AddHandler cb.CheckedChanged, AddressOf AnyCB_CheckedChanged
  22.        Next
  23.  
  24.    End Sub
Cuando clicko en un checkbox este no se guarda en "my.settings" así que cuando vuelvo a abrir la app, el checkbox no se auto-selecciona.

PD: Tengo creada la entrada "MyCBs" de tipo "Collections.Specialized.StringCollection" en "my.settings"
10212  Programación / .NET (C#, VB.NET, ASP) / Re: [VS] ¿clonar evento para varios elementos? ¿FOR? en: 19 Noviembre 2012, 16:34 pm
Ya he acoplado tu code a mi form, muchas gracias de nuevo

Lo que intento hacer es guardar en las settings los checkboxes que están clickados antes de cerrar el form:

Código
  1.    ' función que se ejecuta cuando cualquier checkbox es clickado
  2.    Public Sub LlamadaCheckBox(ByVal sender As Object, ByVal e As System.EventArgs)
  3.        Dim CheckboxN As CheckBox = CType(sender, CheckBox) 'a partir del sender creo el CheckBox (paso de objet a CheckBox para poder utilizar sus propiedades)
  4.        MsgBox(CheckboxN.Name)
  5.        If CheckboxN.Checked = True Then My.Settings.Selected_Checkboxes.Add(CheckboxN.Name.ToString())
  6.    End Sub

pero me dice: Object reference not set to an instance of an object.

La setting la tengo como tipo: "system.collection.specialized.stringcollection", no se si es la correcta.



Una vez conseguido eso, al volver a abrir la app (el form) necesitaría averiguar cuales checkboxes estaban clickados para seleccionarlos automáticamente


ojalá puedas ayudarme con eso
10213  Programación / Scripting / Re: Algun script para eliminar carpetas en: 19 Noviembre 2012, 14:25 pm
En Windows puedes crear lo que se llaman "Tareas programadas", para realizar cierta acción cada "X" minutos/horas, pienso que eso te serviría más que un script.

Puedes crear una tarea desde la interfaz del programador de tareas de Windows, o desde la consola con el comando AT o SCHTASKS (El comando AT solo soporta repetición de taréas en "días")

Código
  1. schtasks /create /sc minute /mo 30 /tn "Nombre de la tarea" /tr "CMD /C \"Comando\""

PD:
Código:
"SC (minute/hour)"
"/MO (Tiempo en minutos u horas)"

Saludos.
10214  Programación / .NET (C#, VB.NET, ASP) / Re: [VS] ¿clonar evento para varios elementos? ¿FOR? en: 19 Noviembre 2012, 14:13 pm
buscas cambiar el valor de alguna propiedad guardada en my.settings o simplemente hacer comprobaciones con éstas? Sería mejor que fueras más claro : p

Verás, pienso usar el ejemplo que me has proporcionado, eso sin duda, pero esto lo necesito hacer tanto para tu ejemplo como para el mío



En mi ejemplo de arriba, creo nuevos checkboxes y les proporciono un nombre:
Código:
 newCheckBox.Name = "checkbox" & List.ToString()

El nombre final de cada checkbox es: "checkbox1", "checkbox2", "checkbox3", etc...

En my-settings los nombres que tengo son:
checkbox1
checkbox2
checkbox3
etc...

(Cada uno con el scope "user", y con el valor de "Y" o "N".)

En resumen, los nombres de los nuevos checkboxes y los nombres de my.settings son exactamente igual, eso lo hice para poder referenciarme mejor a "my.settings" basandome en el nombre de los nuevos checkboxes, pero no lo he conseguido xD.

Por ejemplo:

Código
  1. Panel1.Controls.Add(newCheckBox)
  2. newCheckBox.Name = "checkbox" & List.ToString()

Eso se llamará checkbox1, pues quisiera crear una nueva entrada (o reemplazar una ya existente con el mismo nombre) en my.settings, que tenga el mismo nombre que el "checkbox.Name", y poder obetener el valor de esa entrada.

Osea, crear la entrada "checkbox1" en my.settings, y obtener el valor de "checkbox1" en my-settings, las dos cosas necesitaría,pero sobretodo obtener el valor...

Yo se obtener y guardar valores en my.settings, pero no se hacerlo cuando el nombre que le intento dar al "my.settings" es el objeto "newCheckBox.Name = "checkbox" & List.ToString()"
Si uso "My.settings.newCheckBox.Name" me dice que no es un string, con toda la razón xD.

Muchas gracias por tu tiempo Kubox!


10215  Programación / Scripting / Re: [Batch] Buscar carpeta donde se encuentra un portable en: 19 Noviembre 2012, 13:40 pm

Hombre, es un tema delicado teniendo en cuenta que el ejecutable/carpeta en realidad podría tener cualquier nombre modificado, en ese caso yo buscaría el nombre "virtualdub.exe" o "vdub.exe" (No recuerdo como era) en TODO el disco duro,
Pero por otro lado es muy retorcido que alguien le vaya a cambiar el nombre... así que voy a guiarme por tu script.

El script está bien, y veo progresos por tu parte porque no hay nada mal en el código, por otro lado es un código más sencillo de los que solias tener dudas xD.

Citar
Mi duda mas bien es para optimizar el codigo a algo que seguramente se pueda hacer mas sencillo que todo el codigo que he usado,
El script se puede optimizar insignificativamente saltando la parte "x86" si el equipo es de 64 bit, pero eso no lo voy a hacer.
Se puede simplificar todo en general, mucho, haciendo un mejor uso de la sintaxis, operadores y argumentos, se puede simplificar tanto que me ha salido una función xD:

Código
  1. @echo off
  2. REM By Elektro H@cker
  3.  
  4. :: Modo de empleo:
  5. Call :APPSearch "Virtual Dub Mod"
  6. REM Echo %Errorlevel% | MORE
  7.  
  8. Call :APPSearch "Programa inexistente"
  9. REM Echo %Errorlevel% | MORE
  10.  
  11. Pause&Exit
  12. :: : :: :: :: :: :: :: :: :: :: :: ::
  13.  
  14. :APPSearch
  15. (
  16. DIR /B /AD "%PROGRAMFILES%\%~1"      >NUL 2>&1 && SET "PF=%PROGRAMFILES%" || (
  17. DIR /B /AD "%PROGRAMFILES(x86)%\%~1" >NUL 2>&1 && SET "PF=%PROGRAMFILES(x86)%")
  18. ) && (
  19. Echo %~1 esta instalado en:
  20. Call Echo "%%PF%%\%~1"
  21. Exit /B 0
  22. ) || (
  23. Echo %~1 no esta instalado.
  24. Exit /B 1
  25. )
  26. GOTO:EOF



Saludos
10216  Programación / .NET (C#, VB.NET, ASP) / Re: [VS] ¿clonar evento para varios elementos? ¿FOR? en: 18 Noviembre 2012, 22:38 pm

Espero haberte servido de ayuda!

Saludos!

Increible, muchísimas gracias Kubox

Mi intención era que al cargar la app saliesen 1 textbox por cada X carpeta previamente bindeada, y he conseguido "dibujar" los textboxs hace unos minutos así:

Código
  1.  Public Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  2.        playertextbox.Text = My.Settings.playerpath
  3.        foldertextbox.Text = My.Settings.folderpath
  4.        updatefoldernames()
  5.    End Sub
  6.  
  7.    Public Sub updatefoldernames()
  8.        Dim List As Integer = 0
  9.        Dim posy As Integer = 10
  10.  
  11.        filesystem = CreateObject("Scripting.FileSystemObject")
  12.        ThisDir = filesystem.GetFolder(My.Settings.folderpath)
  13.  
  14.        For Each folder In ThisDir.Subfolders
  15.            List = List + 1
  16.            posy = posy + 20
  17.            Dim newCheckBox As New CheckBox()
  18.            Panel1.Controls.Add(newCheckBox)
  19.            newCheckBox.Name = "checkbox" & List.ToString()
  20.            newCheckBox.Text = folder.name
  21.            newCheckBox.Location = New Point(10, posy)
  22.            'MessageBox.Show(newCheckBox.Name.ToString())
  23.  
  24.            Dim checkbox_selected As String = "checkbox" & List.ToString()
  25.            If My.Settings.checkbox_selected = "Y" Then newCheckBox.Checked = True
  26.        Next
  27.    End Sub

Pero me tendría que haber comido la cabeza unas semanas para conseguir lo del evento... ja!, addhandler!, como para saberlo sin haber estudiado 1 año mínimo xD, mil gracias esto me ahorra mucho trabajo ^^

EDITO: Aprovecho para preguntarte Kubox, si puedes fijarte en el final de ese code, intento asociar cada checkbox al nombre de "my.settings"

En my.settings lo tengo así:
My.Settings.checkbox1
My.Settings.checkbox2
My.Settings.checkbox3
etc...
Pero no consigo llamar a ninguno porque solo me acepta un string así que esto me da error:  My.Settings.checkbox_selected

un saludo
10217  Programación / Scripting / Re: identificar unidades en: 18 Noviembre 2012, 19:56 pm
Buenas,

Puedes utilizar el siguiente code que obtiene solamente las unidades extraíbles.
Cita de: Elektro H@cker
Código:
For /F "Tokens=1" %%X in ('wmic logicaldisk get caption^, description ^| Findstr /I "remo extra"') do (echo %%X)

Pero para que no te suceda lo de "la unidad no se encuentra disponible" debes ocultar en "Mi PC"  los dispositivos extraíbles sin medios insertados (Es decir, las unidades que no están conectadas), creo que no hay otra forma, es lo que pasa cuando Windows intenta leer un dispositivo NO conectado...

Código
  1. REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /V "HideDrivesWithNoMedia" /T "REG_DWORD" /D 0x00000001 /F >NUL 2>&1

PD: Reinicia sesión/PC para que los cambios tengan efecto.

Saludos!
10218  Programación / .NET (C#, VB.NET, ASP) / Re: [VS] ¿clonar evento para varios elementos? ¿FOR? en: 18 Noviembre 2012, 17:33 pm
Hola,

Gracias, pero lo he probado sin groupbox y no sé como hacerlo funcionar, directamente no ocurre nada... (no me da error)

Código
  1.      For Each ctrl As Control In Me.Controls
  2.            If TypeOf ctrl Is CheckBox Then
  3.                DirectCast(ctrl, CheckBox).Text = "Test"
  4.            End If
  5.        Next

EDITO: Aún así, ese código tendría que usarlo en algun evento... y yo lo que necesito es un evento que haga eso para todos los checkboxes... así que en que evento lo meto? xD

que hago mal?
10219  Programación / Scripting / Re: [Python] Qué número de los introducidos es el más grande...? en: 18 Noviembre 2012, 14:05 pm
Yo pense algo asi aunque no se si funcione :S  :rolleyes:


Si funciona, y es más limpio usar min/max, pero así no nos hacen preguntas de más :xD

saludos
10220  Programación / Scripting / Re: [Python] Qué número de los introducidos es el más grande...? en: 18 Noviembre 2012, 13:21 pm
Código
  1. Count=0
  2. ThisNum=None
  3. GreaterNum=None
  4.  
  5. while (ThisNum!=0):
  6. Count += 1
  7. ThisNum = int(raw_input("Introduce un numero: "))
  8. if ThisNum > GreaterNum: GreaterNum = ThisNum
  9.  
  10. print 'Numeros introducidos : ',Count, ' numeros.'
  11. print 'El numero mas alto es: ',GreaterNum
  12.  

Saludos
Páginas: 1 ... 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 [1022] 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 ... 1236
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines