Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Eleкtro

#6611
Hola, comparto esta magnifica colección salvaje de la historia del Psy (lo he sacado de una web en la que tengo un registro de por vida).

Nota: Casi todo está hospedado en uploaded.to.

1TB+ The History Of: PsyChedelic + Progressive + Dark PsyForest Trance + Goa Trance + Ambient! 25-07-2014 UPDATED

Parte 01


Parte 02


Parte 03






Que lo disfruteis, saludos!
#6612
.NET (C#, VB.NET, ASP) / Re: ¿Qué es este warning?
1 Septiembre 2014, 06:14 AM
Viendo el código me doy cuenta que no te puedo ayudar mucho más, mi entendimiento de C++ es poco, pero el aporte del código servirá para captar la atención de alguno que esté mejor entendido que yo,
de todas formas quizás el problema vaya por > este < camino.

PD: Por parametizar me refería a usar la Class "motor" como parámetro en la firma de "X" miembro.

EDITO:

Cita de: SARGE553413 en 31 Agosto 2014, 23:52 PMHe buscado info en la web de microsoft, pero sigo sin entender que es es de la "firma" o "signatura" de una clase...

Cita de: http://msdn.microsoft.com/en-us/library/aa691131%28v=vs.71%29.aspxThe signature of an instance constructor consists of the type and kind (value, reference, or output) of each of its formal parameters, considered in the order left to right. The signature of an instance constructor specifically does not include the params modifier that may be specified for the right-most parameter.

Saludos!
#6613
Cita de: MinusFour en  1 Septiembre 2014, 05:09 AM
Si hoy lo único que queda es quizás Skype y lo odio mil veces más que Windows Live Messenger.

IDEM por aquí, el Skype, diga lo que diga Microsoft, es un programa orientado al puro y duro Business;
yo en el MSN me divertia añadiendo iconos personalizados, aplicando themes de terceros, en fin... el simple echo de chatear se hacia divertido con estas cosas para el home-user, pero es que Skype es horrible esteticamente y que yo sepa la mayoría de opciones personalizables referentes a la interface las caparon en versiones antiguas.

Aparte, MSN te hacia conectar de un modo mejor con la gente que haciendolo por el Skype (¿o soy el único que nota esa sensación?), yo también echo de menos MSN.

Saludos
#6614
El aviso dice no privado, no dice que la declaración deba ser 'Public', también podría ser otra declaración visible como 'Friend'.

según parece, intuyo que estás intentando parametizar un Type en la firma de algún método (u otro miembro, como podría ser un delegado) pero te está sugeriendo que no hagas visible dicho miembro ya que el Type de su firma no se podrá exponer al ser privado,
en inglés ayudaría más a entender el mensaje de error.

¿No te indica la linea donde se encuentra la firma del miembro que produce el conflicto?.

¿No puedes modificar la visibilidad de 'X?.

Postea el código de "X".

PD: Te sugiero usar la IDE en inglés, no vas a encontrar información para resolver warnings/errors en Castellano.

saludos!
#6615
Cita de: Ikku en 30 Agosto 2014, 23:41 PMHe intentado haciendo un
%cd%/jre7/java

Cita de: _TTFH_3500 en 31 Agosto 2014, 02:32 AM
Puedes utilizar:
%~dp0\jre7\java

Todo argumento se debe encerrar con comillas dobles para prevenir error por posibles espacios en blanco como en este caso.

Ejemplos que puedes utilizar para referite a dicho directorio desde el directorio de trabajo actual:

"jre7\java"
".\jre7\java"
"%cd%\jre7\java"
"%~dp0\jre7\java"

Nota: en caso de que modifiques el directorio de trabajo del Batch-script entonces debes utilizar la última opción, que es la que dijo el compañeor @_TTFH_3500, pero añadiendole las comillas dobles, claro, de lo contrario te seguirá dando el mismo error.

Saludos!
#6616
He probado el For con la secuencia que dijiste y no me da ningún error de tipo " Índice fuera de los límites de la matriz ", así que no le hice ninguna modificación al código, está todo correcto en este código? (fixedvalues, numstep, numlen, IndexCounter):

Código (vbnet) [Seleccionar]
Public Class Form1

   ReadOnly Randomizer As New Random

   Private Sub Sumar(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Shown

       Dim Combo As List(Of Integer) = Nothing
       Dim Combos As New List(Of List(Of Integer))

       Dim fixedvalues As Integer() = {2, 3, 11, 12, 16, 18, 25, 27, 28, 31, 40, 41, 43, 52, 53, 56, 57, 70, 77, 80}
       Dim RandomValues As Integer() = Enumerable.Range(0, 99).ToArray

       Dim IndexCounter As Integer = fixedvalues.First ' 1
       Dim LenCounter As Integer = 0I

       Const NumStep As Integer = 3I
       Const NumLen As Integer = 10I

       Do Until IndexCounter > fixedvalues.Last

           Combo = New List(Of Integer)

           For Num As Integer = IndexCounter To (fixedvalues.Count - 1I) Step NumStep

               LenCounter += 1I
               Combo.Add(fixedvalues(Num - 1I)) 'matrix fuersa

               If LenCounter >= NumLen Then
                   Exit For
               End If

           Next Num

           If LenCounter < NumLen Then

               For RandomNum As Integer = 1I To (NumLen - LenCounter)

                   Dim n As Integer = Randomizer.Next(RandomValues.First, RandomValues.Last)

                   Do Until Not Combo.Contains(n)
                       n = Randomizer.Next(RandomValues.First, RandomValues.Last)
                   Loop

                   Combo.Add(n)

               Next ' RandomNum

           End If ' LenCounter < NumLen

           Combo.Sort()
           Combos.Add(Combo)
           IndexCounter += 1I
           LenCounter = 0I

       Loop ' IndexCounter >= FixedValues.Last

       Combos.ForEach(Sub(comb As List(Of Integer))

                          ' Convierto la Lista a 'String', le añado los ceros, y añado el string formateado al Listbox.
                          ListBox1.Items.Add(String.Join(", ",
                                                         From value As String In comb
                                                         Select If(value.Length = 1I,
                                                                   value.Insert(0I, "0"c),
                                                                   value)))
                          ListBox1.Sorted = True



                      End Sub)

   End Sub

End Class


saludos
#6617
Una versión actualizada de mi Reg-Editor

Contiene todo tipo de métodos para el manejo del registro de Windows.

Código (vbnet) [Seleccionar]
' ***********************************************************************
' Author           : Elektro
' Last Modified On : 08-30-2014
' ***********************************************************************
' <copyright file="Class1.vb" company="Elektro Studios">
'     Copyright (c) Elektro Studios. All rights reserved.
' </copyright>
' ***********************************************************************

#Region " Usage Examples "

' -----------
' Create Key:
' -----------
' RegEdit.CreateKey("HKCU\Software\MyProgram")                        ' Creates "HKCU\Software\MyProgram"
' RegEdit.CreateKey("HKEY_CURRENT_USER\Software\MyProgram\Settings\") ' Creates "HKCU\Software\MyProgram\Settings"
'
' -----------
' Delete Key:
' -----------
' RegEdit.DeleteKey("HKLM\Software\7-zip")                ' Deletes the "7-zip" tree including subkeys
' RegEdit.DeleteKey("HKEY_LOCAL_MACHINE\Software\7-zip\") ' Deletes the "7-zip" tree including subkeys
'
' -------------
' Delete Value:
' -------------
' RegEdit.DeleteValue("HKCU\Software\7-Zip", "Lang")               ' Deletes "Lang" Value
' RegEdit.DeleteValue("HKEY_CURRENT_USER\Software\7-Zip\", "Lang") ' Deletes "Lang" Value
'
' ----------
' Get Value:
' ----------
' Dim Data As String = RegEdit.GetValue("HKCU\Software\MyProgram", "Value name"))
' Dim Data As String = RegEdit.GetValue("HKEY_CURRENT_USER\Software\MyProgram", "Value name"))
'
' ----------
' Set Value:
' ----------
' RegEdit.SetValue("HKCU\Software\MyProgram", "Value name", "Data", Microsoft.Win32.RegistryValueKind.String)               ' Create/Replace "Value Name" with "Data" as string data
' RegEdit.SetValue("HKEY_CURRENT_USER\Software\MyProgram\", "Value name", "Data", Microsoft.Win32.RegistryValueKind.String) ' Create/Replace "Value Name" with "Data" as string data
'
' -----------
' Export Key:
' -----------
' RegEdit.ExportKey("HKLM", "C:\HKLM.reg")                  ' Export entire "HKEY_LOCAL_MACHINE" Tree to "C:\HKLM.reg" file.
' RegEdit.ExportKey("HKLM\Software\7-zip\", "C:\7-zip.reg") ' Export entire "7-zip" Tree to "C:\7-zip.reg" file.
'
' ------------
' Import File:
' ------------
' RegEdit.ImportRegFile("C:\Registry_File.reg") ' Install a registry file.
'
' ------------
' Jump To Key:
' ------------
' RegEdit.JumpToKey("HKLM")                               ' Opens Regedit at "HKEY_LOCAL_MACHINE" Root.
' RegEdit.JumpToKey("HKEY_LOCAL_MACHINE\Software\7-zip\") ' Opens Regedit at "HKEY_LOCAL_MACHINE\Software\7-zip" tree.
'
' -----------
' Exist Key?:
' -----------
' MsgBox(RegEdit.ExistKey("HKCU\software") ' Checks if "Software" Key exist.

' -------------
' Exist Value?:
' -------------
' MsgBox(RegEdit.ExistValue("HKLM\software\7-zip", "Path") ' Checks if "Path" value exist.
'
' ------------
' Exist Data?:
' ------------
' MsgBox(RegEdit.ExistData("HKLM\software\7-zip", "Path") ' Checks if "Path" value have empty data.
'
' ---------
' Copy Key:
' ---------
' RegEdit.CopyKey("HKCU\Software\7-Zip", "HKCU\Software\7-zip Backup") ' Copies "HKCU\Software\7-Zip" to "HKCU\Software\7-zip Backup"
'
' -----------
' Copy Value:
' -----------
' RegEdit.CopyValue("HKLM\software\7-zip", "path", "HKLM\software\7-zip", "path_backup") ' Copies "Path" value with their data to "HKLM\software\7-zip" "path_backup".
'
' -------------------
' SetUserAccessKey:
' -------------------
' RegEdit.SetUserAccessKey("HKCU\Software\7-Zip", {RegEdit.ReginiUserAccess.Administrators_Full_Access})
' RegEdit.SetUserAccessKey("HKEY_CURRENT_USER\Software\7-Zip", {RegEdit.ReginiUserAccess.Administrators_Full_Access, RegEdit.ReginiUserAccess.Creator_Full_Access, RegEdit.ReginiUserAccess.System_Full_Access})

#End Region

#Region " Imports "

Imports Microsoft.Win32
Imports System.IO
Imports System.Text

#End Region

#Region " RegEdit "

''' <summary>
''' Contains registry related methods.
''' </summary>
Public Class RegEdit

#Region " Enumerations "

    ''' <summary>
    ''' Specifies an User identifier for Regini.exe command.
    ''' </summary>
    Public Enum ReginiUserAccess As Integer

        Administrators_Full_Access = 1I

        Administrators_Read_Access = 2I

        Administrators_Read_and_Write_Access = 3I

        Administrators_Read_Write_and_Delete_Access = 4I

        Administrators_Read_Write_and_Execute_Access = 20I

        Creator_Full_Access = 5I

        Creator_Read_and_Write_Access = 6I

        Interactive_User_Full_Access = 21I

        Interactive_User_Read_and_Write_Access = 22I

        Interactive_User_Read_Write_and_Delete_Access = 23I

        Power_Users_Full_Access = 11I

        Power_Users_Read_and_Write_Access = 12I

        Power_Users_Read_Write_and_Delete_Access = 13I

        System_Full_Access = 17I

        System_Operators_Full_Access = 14I

        System_Operators_Read_and_Write_Access = 15I

        System_Operators_Read_Write_and_Delete_Access = 16I

        System_Read_Access = 19I

        System_Read_and_Write_Access = 18I

        World_Full_Access = 7I

        World_Read_Access = 8I

        World_Read_and_Write_Access = 9I

        World_Read_Write_and_Delete_Access = 10I

    End Enum

#End Region

#Region " Public Methods "

#Region " Create "

    ''' <summary>
    ''' Creates a new registry key.
    ''' </summary>
    ''' <param name="Key">Indicates the registry key.</param>
    Public Shared Sub CreateKey(ByVal Key As String)

        Using Reg As RegistryKey = GetRoot(Key)

            Reg.CreateSubKey(GetPath(Key), RegistryKeyPermissionCheck.Default, RegistryOptions.None)

        End Using

    End Sub

#End Region

#Region " Delete "

    ''' <summary>
    ''' Deletes a registry key.
    ''' </summary>
    ''' <param name="Key">Indicates the registry key.</param>
    Public Shared Sub DeleteKey(ByVal Key As String)

        Using Reg As RegistryKey = GetRoot(Key)

            Reg.DeleteSubKeyTree(GetPath(Key), throwOnMissingSubKey:=False)

        End Using

    End Sub

    ''' <summary>
    ''' Delete a registry value.
    ''' </summary>
    ''' <param name="Key">Indicates the registry key.</param>
    ''' <param name="Value">Indicates the registry value.</param>
    Public Shared Sub DeleteValue(ByVal Key As String,
                                  ByVal Value As String)

        Using Reg As RegistryKey = GetRoot(Key)

            Reg.OpenSubKey(GetPath(Key), writable:=False).
                DeleteValue(Value, throwOnMissingValue:=False)

        End Using

    End Sub

#End Region

#Region " Get "

    ''' <summary>
    ''' Gets the data of a registry value.
    ''' </summary>
    ''' <param name="Key">Indicates the registry key.</param>
    ''' <param name="Value">Indicates the registry value.</param>
    ''' <returns>The registry data.</returns>
    Public Shared Function GetValue(ByVal Key As String,
                                    ByVal Value As String) As Object

        Using Reg As RegistryKey = GetRoot(Key)

            Return Reg.OpenSubKey(GetPath(Key), writable:=False).
                       GetValue(Value, defaultValue:=Nothing)

        End Using

    End Function

#End Region

#Region " Set "

    ''' <summary>
    ''' Set the data of a registry value.
    ''' If the Key or value doesn't exist it will be created.
    ''' </summary>
    ''' <param name="Key">Indicates the registry key.</param>
    ''' <param name="Value">Indicates the registry value.</param>
    ''' <param name="Data">Indicates the registry data.</param>
    ''' <param name="DataType">Indicates the type of data.</param>
    Public Shared Sub SetValue(ByVal Key As String,
                               ByVal Value As String,
                               ByVal Data As Object,
                               Optional ByVal DataType As RegistryValueKind = RegistryValueKind.Unknown)

        Using Reg As RegistryKey = GetRoot(Key)

            Select Case DataType

                Case RegistryValueKind.Unknown
                    Reg.OpenSubKey(GetPath(Key), writable:=True).
                        SetValue(Value, Data)

                Case RegistryValueKind.Binary
                    Reg.OpenSubKey(GetPath(Key), writable:=True).
                        SetValue(Value, Encoding.ASCII.GetBytes(Data), RegistryValueKind.Binary)

                Case Else
                    Reg.OpenSubKey(GetPath(Key), writable:=True).
                        SetValue(Value, Data, DataType)

            End Select

        End Using

    End Sub

#End Region

#Region " Exist "

    ''' <summary>
    ''' Determines whether a Key exists.
    ''' </summary>
    ''' <param name="Key">Indicates the registry key.</param>
    ''' <returns><c>true</c> if key exist, <c>false</c> otherwise.</returns>
    Public Shared Function ExistKey(ByVal Key As String) As Boolean

        Dim RootKey As RegistryKey = GetRoot(Key)
        Dim KeyPath As String = GetPath(Key)

        If (RootKey Is Nothing) OrElse (String.IsNullOrEmpty(KeyPath)) Then
            Return False
        End If

        Using Reg As RegistryKey = RootKey

            Return RootKey.OpenSubKey(KeyPath, writable:=False) IsNot Nothing

        End Using

    End Function

    ''' <summary>
    ''' Determines whether a value exists.
    ''' </summary>
    ''' <param name="Key">Indicates the registry key.</param>
    ''' <param name="Value">Indicates the registry value.</param>
    ''' <returns><c>true</c> if value exist, <c>false</c> otherwise.</returns>
    Public Shared Function ExistValue(ByVal Key As String, ByVal Value As String) As Boolean

        Dim RootKey As RegistryKey = GetRoot(Key)
        Dim KeyPath As String = GetPath(Key)

        If (RootKey Is Nothing) OrElse (String.IsNullOrEmpty(KeyPath)) Then
            Return False
        End If

        Using Reg As RegistryKey = RootKey

            Return RootKey.OpenSubKey(KeyPath, writable:=False).
                           GetValue(Value, defaultValue:=Nothing) IsNot Nothing

        End Using

    End Function

    ''' <summary>
    ''' Determines whether data exists in a registry value.
    ''' </summary>
    ''' <param name="Key">Indicates the registry key.</param>
    ''' <param name="Value">Indicates the registry value.</param>
    ''' <returns><c>true</c> if data exist, <c>false</c> otherwise.</returns>
    Public Shared Function ExistData(ByVal Key As String, ByVal Value As String) As Boolean

        Dim RootKey As RegistryKey = GetRoot(Key)
        Dim KeyPath As String = GetPath(Key)

        If (RootKey Is Nothing) OrElse (String.IsNullOrEmpty(KeyPath)) Then
            Return False
        End If

        Using Reg As RegistryKey = RootKey

            Return Not String.IsNullOrEmpty(RootKey.OpenSubKey(KeyPath, writable:=False).
                                                    GetValue(Value, defaultValue:=Nothing))

        End Using

    End Function

#End Region

#Region " Copy "

    ''' <summary>
    ''' Copy a key tree to another location on the registry.
    ''' </summary>
    ''' <param name="OldKey">Indicates the registry key to be copied from.</param>
    ''' <param name="NewKey">Indicates the registry key to be pasted from.</param>
    Public Shared Sub CopyKey(ByVal OldKey As String,
                              ByVal NewKey As String)

        Using OldReg As RegistryKey = GetRoot(OldKey).OpenSubKey(GetPath(OldKey), writable:=False)

            CreateKey(NewKey)

            Using NewReg As RegistryKey = GetRoot(NewKey).OpenSubKey(GetPath(NewKey), writable:=True)

                CopySubKeys(OldReg, NewReg)

            End Using ' NewReg

        End Using ' OldReg

    End Sub

    ''' <summary>
    ''' Copies a value with their data to another location on the registry.
    ''' If the Key don't exist it will be created automatically.
    ''' </summary>
    ''' <param name="OldKey">Indicates the registry key to be copied from.</param>
    ''' <param name="OldValue">Indicates the registry value to be copied from.</param>
    ''' <param name="NewKey">Indicates the registry key to be pasted from.</param>
    ''' <param name="NewValue">Indicates the registry value to be pasted from.</param>
    Public Shared Sub CopyValue(ByVal OldKey As String,
                                ByVal OldValue As String,
                                ByVal NewKey As String,
                                ByVal NewValue As String)

        CreateKey(Key:=NewKey)
        SetValue(Key:=NewKey, Value:=NewValue, Data:=GetValue(OldKey, OldValue), DataType:=RegistryValueKind.Unknown)

    End Sub

#End Region

#Region " Process dependant methods "

    ''' <summary>
    ''' Opens Regedit process and jumps at the specified key.
    ''' </summary>
    ''' <param name="Key">Indicates the registry key.</param>
    Public Shared Sub JumpToKey(ByVal Key As String)

        Using Reg As RegistryKey = GetRoot(Key)

            SetValue(Key:="HKCU\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit",
                     Value:="LastKey",
                     Data:=String.Format("{0}\{1}", Reg.Name, GetPath(Key)),
                     DataType:=RegistryValueKind.String)

        End Using

        Process.Start(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Windows), "Regedit.exe"))

    End Sub

    ''' <summary>
    ''' Imports a registry file.
    ''' </summary>
    ''' <param name="RegFile">The registry file to import.</param>
    ''' <returns><c>true</c> if operation succeeds, <c>false</c> otherwise.</returns>
    Public Shared Function ImportRegFile(ByVal RegFile As String) As Boolean

        Using proc As New Process With {
            .StartInfo = New ProcessStartInfo() With {
                  .FileName = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.System), "Reg.exe"),
                  .Arguments = String.Format("Import ""{0}""", RegFile),
                  .CreateNoWindow = True,
                  .WindowStyle = ProcessWindowStyle.Hidden,
                  .UseShellExecute = False
                }
            }

            proc.Start()
            proc.WaitForExit()

            Return Not CBool(proc.ExitCode)

        End Using

    End Function

    ''' <summary>
    ''' Exports a key to a registry file.
    ''' </summary>
    ''' <param name="Key">Indicates the registry key.</param>
    ''' <param name="OutputFile">Indicates the output file.</param>
    ''' <returns><c>true</c> if operation succeeds, <c>false</c> otherwise.</returns>
    Public Shared Function ExportKey(ByVal Key As String, ByVal OutputFile As String) As Boolean

        Using Reg As RegistryKey = GetRoot(Key)

            Using proc As New Process With {
                    .StartInfo = New ProcessStartInfo() With {
                          .FileName = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.System), "Reg.exe"),
                          .Arguments = String.Format("Export ""{0}\{1}"" ""{2}"" /y", Reg.Name, GetPath(Key), OutputFile),
                          .CreateNoWindow = True,
                          .WindowStyle = ProcessWindowStyle.Hidden,
                          .UseShellExecute = False
                        }
                    }

                proc.Start()
                proc.WaitForExit()

                Return Not CBool(proc.ExitCode)

            End Using

        End Using

    End Function

    ''' <summary>
    ''' Modifies the user permissions of a registry key.
    ''' </summary>
    ''' <param name="Key">Indicates the registry key.</param>
    ''' <param name="UserAccess">Indicates the user-access.</param>
    ''' <returns><c>true</c> if operation succeeds, <c>false</c> otherwise.</returns>
    Public Shared Function SetUserAccessKey(ByVal Key As String, ByVal UserAccess() As ReginiUserAccess) As Boolean

        Dim tmpFile As String = Path.Combine(Path.GetTempPath(), "Regini.ini")

        Dim PermissionString As String =
            String.Format("[{0}]",
                          String.Join(" "c, UserAccess.Cast(Of Integer)))

        Using TextFile As New StreamWriter(path:=tmpFile, append:=False, encoding:=Encoding.Default)

            Using Reg As RegistryKey = GetRoot(Key)

                TextFile.WriteLine(String.Format("""{0}\{1}"" {2}", Reg.Name, GetPath(Key), PermissionString))

            End Using ' Reg

        End Using ' TextFile

        Using proc As New Process With {
            .StartInfo = New ProcessStartInfo() With {
                   .FileName = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.System), "Regini.exe"),
                   .Arguments = ControlChars.Quote & tmpFile & ControlChars.Quote,
                   .CreateNoWindow = True,
                   .WindowStyle = ProcessWindowStyle.Hidden,
                   .UseShellExecute = False
                }
            }

            proc.Start()
            proc.WaitForExit()

            Return Not CBool(proc.ExitCode)

        End Using

    End Function

#End Region

#End Region

#Region " Private Methods "

#Region " Get "

    ''' <summary>
    ''' Gets the registry root of a key.
    ''' </summary>
    ''' <param name="Key">Indicates the registry key.</param>
    ''' <returns>The registry root.</returns>
    Private Shared Function GetRoot(ByVal Key As String) As RegistryKey

        Select Case Key.ToUpper.Split("\").First

            Case "HKCR", "HKEY_CLASSES_ROOT"
                Return Registry.ClassesRoot

            Case "HKCC", "HKEY_CURRENT_CONFIG"
                Return Registry.CurrentConfig

            Case "HKCU", "HKEY_CURRENT_USER"
                Return Registry.CurrentUser

            Case "HKLM", "HKEY_LOCAL_MACHINE"
                Return Registry.LocalMachine

            Case "HKEY_PERFORMANCE_DATA"
                Return Registry.PerformanceData

            Case Else
                Return Nothing

        End Select

    End Function

    ''' <summary>
    ''' Returns the registry path of a key.
    ''' </summary>
    ''' <param name="Key">Indicates the registry key.</param>
    ''' <returns>The registry path.</returns>
    Private Shared Function GetPath(ByVal Key As String) As String

        If String.IsNullOrEmpty(Key) Then
            Return String.Empty
        End If

        Dim KeyPath As String = Key.Substring(Key.IndexOf("\"c) + 1I)

        If KeyPath.EndsWith("\"c) Then
            KeyPath = KeyPath.Substring(0I, KeyPath.LastIndexOf("\"c))
        End If

        Return KeyPath

    End Function

#End Region

#Region " Copy "

    ''' <summary>
    ''' Copies the sub-keys of the specified registry key.
    ''' </summary>
    ''' <param name="OldKey">Indicates the old key.</param>
    ''' <param name="NewKey">Indicates the new key.</param>
    Private Shared Sub CopySubKeys(ByVal OldKey As RegistryKey, ByVal NewKey As RegistryKey)

        ' Copy Values
        For Each Value As String In OldKey.GetValueNames()

            NewKey.SetValue(Value, OldKey.GetValue(Value))

        Next Value

        ' Copy Subkeys
        For Each SubKey As String In OldKey.GetSubKeyNames()

            CreateKey(String.Format("{0}\{1}", NewKey.Name, SubKey))
            CopySubKeys(OldKey.OpenSubKey(SubKey, writable:=False), NewKey.OpenSubKey(SubKey, writable:=True))

        Next SubKey

    End Sub

#End Region

#End Region

End Class

#End Region
#6618
Foro Libre / Ice Bucket Challenge, ¿Que opinas?
30 Agosto 2014, 02:41 AM
¿Que opinais del Ice Bucket Challenge?



Hola, creo que aun no se ha hablado de este tema en el foro y me gusta ser el primero :D (a pesar de que ello signifique que soy el primer gilipollas en hablar de esta basura) xD

Yo pienso que la deficiencia intelectual mundial va en aumento y cada vez se denotan más pruebas de ello, pues para empezar creo que el dato más obvio sería que no es normal intentar hacer un reto que se llama "cubo de hielo" tirándote por encima un maldito cubo de agua fria (o templada, los que hagan trampa) y sin cubitos de hielo como los de la siguiente imagen, claro está:


Muchos no estarán deacuerdo con lo que voy a decir, pero a mi me parece absurdo que para realizar una donación debas dejarte en ridículo intencionadamente, puede que esa persona no sienta ridículo pero sabe perfectamente que estará provocando el ridículo en muchas personas que vean su "show", y si quieres donar pues donas, no tienes que exhibirte y justificarte con un "reto" ni intentar captar la atención de los demás para obtener tu minuto de gloria,
así que si este "reto" se hiciera sin donación u otra finalidad entonces creo que cualquier profesional de la psicología podria determinar que esa persona es RETRASADA, ¿entonces porque pensamos que existe una diferencia y que esta persona no es retrasada por hacer el ridículo intencionado simplemente porque lo hace con un fin, sea cual sea?, apoyo a los payasos (los profesionales) porque ellos hacen comedia, pero esto son otro tipo de payasos con un problema bien gordo de moralidad.


Aparte, no se porque los retos famosos de internet siempre se tienen que convertir en una especie de exhibición PORNO, ¿que cojones le pasa a la gente del siglo XI?, ¿porque parecen estar todas las mujeres chaladas?, ¿es que acaso el agua es un afrodisiaco para ellas y todavia no lo hemos descubierto?, si no sabeis a lo que me estoy refiriendo os hago saber que hay decenas (o cientos) de videos sobre este reto de la típica mujer casi en pelotas (mujer normal, mujer modelo, mujer playboy, mujer pu... de todo) exhibiendose con el cubito de agua (las hay tapadas, en bikini, desnudas, de todo también), es bonito y sexy de ver al principio (que duda nos cabe a nosotros xD), pero cuando lo piensas bien... ¡decadencia ajena!.


De verdad deseo con todas mis fuerzas que esta moda tóxica se acabe mañana mismo y a ser posible vengan unos hombres de negro y nos borren cualquier recuerdo de nuestras mentes para no recordar tal acontecimiento catastrófico de la historia de la involución evolución humana.


Lo dicho, no le veo sentido a intentar justificar "hacer el tonto" con la finalidad de donar, si el fín de tirarte hielo es sentirse identificado con el ELA pues creo que es más absurdo si cabe, como mínimo yo me sentiria muy ofendido si yo fuese un enfermo de esta enfermedad.

( aunque él no se sintió ofendido y vió como su familia se tiraban cubos de hielo agua )

La única conclusión a la que puedo llegar con todo esto es que el ser humano, a día de hoy, se toma el acto de Donar como una especie de reto o show, y no como una motivación propia para regalar/compartir. Que pena.




PD: Todo lo que he escrito (menos mi conclusión) lo he expresado de forma seria y quizás algo provocativa pero siempre con un tono de broma, porfavor que nadie se sienta ofendido por alguna de las palabras que empleé y si así ocurriese le pido disculpas, tómese mis palabras con humor... ¡ninguna va con mala intención! :P


Voy a dejar que el youtuber Dalas exprese su opinión también (os aviso, contiene bastante excentricismo y palabras indecentes por doquier xD):

Para los subnormales del #IceBucketChallenge (no pretendo insultar, pero es el título del video)
[youtube=640,360]https://www.youtube.com/watch?v=3ZV93ewK0GU&list=UUgRr2pZaGeaZVN6LfbvQk9w[/youtube]










...
...
...


...


Un saludo!
Elektro
#6619
@Saberuneko
A mi me pasa lo mismo, ¡ lo que has compartido es algo muy util !, te doy las gracias por que vas a alargar la vida de mi mouse actual (y de los próximos).




TL;DR:
No se como no se me habia ocurrido esto antes (a mi o a cualquier otra persona quiero decir), esto es algo muy práctico y por lo que veo autohotkey te lo expone de una manera muy sencilla (por algo se llama así el lenguaje) pero esto en otros lenguajes requeriría muchísimo más código (y experiencia con Windows), he estado buscando alguna alternativa más simple (en la WinAPI) pero al parecer no existe ninguna función nativa en Windows para asignar el intervalo mínimo en el sistema para que un doble-click se considere como tal (por el lado contrario, si que existe la función SetDoubleClickTime que sirve para especificar el intervalo máximo entre click y click para que se considere doble-click), todo esto lo comento porque me habria gustado compartir una versión del mismo código que has expuesto pero en otro lenguaje, el caso es que no es plan de compartir 500 lineas de un extenso código de un hook aquí y/o quitarle protagonismo a nadie sin querer, en autohotkey parece ser lo más práctico y en pocas lineas, sin duda un buen aporte y la mejor elección del lenguaje en el que llevarlo a cabo, ¡gracias de nuevo!.



Saludos!
#6620
Cita de: luis456 en 29 Agosto 2014, 18:09 PM
Hola pongo el código entero, lo de poner los números en la variable es como difícil sin tener que cortar el código, que como veras hace una serie de cálculos con 20 dígitos que introduzco y saber cuantos números salen de esa ecuación es un poco difícil

ya, el programa hace el cálculo, ¿pero para que pueda buscar el error no puedes ponerme algo así?:

Dim fixedvalues as integer() = {1,2,3 etc,...}

Si no no se con que números debería probar en el for...

cuando pueda le echo un ojo

saludos