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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


  Mostrar Mensajes
Páginas: 1 ... 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 [704] 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 ... 1236
7031  Programación / .NET (C#, VB.NET, ASP) / Re: Ayuda Headers HttpWebRequest en: 1 Julio 2014, 20:39 pm
@TMarmol

Antes de nada gracias por compartir el "truquito", parece muy interesante una vez solucionado, ¿pero de verdad es tan facil engañar al servidor así?, me gustaría conocer el grado de efectividad de eso :xD.

Sobre el plugin de las etiquetas GeShi, este no es el lugar indicado para iniciar un debate sobre el tema, pero sí, está mega-bugged!, tanto la previsualización como el código final, hay ciertos caracteres conflictivos que ya reporté hace años pero nadie me hizo ni caso para intentar trastocarlo y corregirlos:

=> Tema: Las etiquetas "Code" no funcionan bien!

PD: Puedes aportar tus experiencias en ese hilo o crear uno nuevo al respecto...

Saludos!
7032  Programación / .NET (C#, VB.NET, ASP) / Re: Como no mostrar ceros y signos negativos en funcion en: 1 Julio 2014, 20:26 pm
cuando pongo

 Result1(Index) = Not 0 <------ regresan los negativos :)

Por supuesto, como ya te dije, no está claro que quieres hacer con los Ceros.

Modifica esa instrucción por lo que tu quieras, o especifica mejor lo que quieres hacer al encontrar un Cero.

Saludos
7033  Programación / Scripting / Re: (Batch) Error "No se esperaba GOTO en este momento" en: 1 Julio 2014, 04:39 am
Hola

1. Anda que buscar documentación de Batch en la wikipedia..., puedes acceder a la ayuda de cualquier comando, escribiendo el parámetro de ayuda:
Código:
Choice.exe /?

2. El símbolo de la arroba (@) está relacionado al "echo" del comando (es innecesario), nada tiene que ver, y lo de los dos puntos ( : ) simplemente es otra forma aceptable de sintaxis.


El error te indica que no se encuentra el comando (el archivo c:\windows\system32\choice.exe), es decir, que no existe en tu equipo, ahora, ¿porque motivo?, por estar usando un windows modificado con componentes capados, por tener "rota" la configuración de la variable de entorno PATH, o vete a saber, comprueba manualmente si tienes dicho archivo en "...\system32\" y si no lo tienes pues nada, a usar "Set /P" :P .

Nota: La sintaxis de uso del comando CHOICE difiere un poco de WinXP a Windows 7/8.

Saludos
7034  Programación / .NET (C#, VB.NET, ASP) / Re: Ayuda Headers HttpWebRequest en: 1 Julio 2014, 00:50 am
No soy un experto en Redes, pero a mi entender "Simular el uso de un proxy" como explican en la página del addon, no creo que "simular" signifique solamente setear un par de Headers... o quizás si, no lo se, pero seguramente que ese servicio haga algo más como te han comentado...

Aquí tienes algunas posibles razones por las que los valores que obtienes están en blanco, quizás pueda servir para descartar, según esto, se supone que si no usas un proxy los valores estarán vacios:

In above sample code, HTTP_VIA is used to judge whether the client is using proxy server. If client uses proxy server, then the web method will try to obtain IP address behind the proxy server. In many situations, the IP addresses we get are probably the addresses of proxy server. Below is the information on HTTP proxy:

 

1.  Not Use Any Proxy Server:

REMOTE_ADDR = IP address of client
HTTP_VIA = No value or No display
HTTP_X_FORWARDED_FOR = No value or No display

2.  Use Transparent Proxies:

REMOTE_ADDR = IP address of proxy server
HTTP_VIA = IP address of proxy server
HTTP_X_FORWARDED_FOR = Real IP address of client

3.  Use Normal Anonymous Proxies:

REMOTE_ADDR = IP address of proxy server
HTTP_VIA = IP address of proxy server
HTTP_X_FORWARDED_FOR = IP address of proxy server

4.     Use Distorting Proxies:

REMOTE_ADDR = IP address of proxy server
HTTP_VIA = IP address of proxy server
HTTP_X_FORWARDED_FOR = Random IP address

5.     Use High Anonymity Proxies (Elite proxies):

REMOTE_ADDR = IP address of proxy server
HTTP_VIA = No value or No display
HTTP_X_FORWARDED_FOR = No value or No display

Saludos
7035  Programación / Scripting / Re: (Batch) Error "No se esperaba GOTO en este momento" en: 30 Junio 2014, 22:20 pm
Por un lado la variable está mal como tu dices, estás dejando espacios entre el símbolo "=" cosa que en Batch..., y por otro lado también está mal la isntrucción del goto end:, que el simbolo se debe poner al principio.

Código
  1. set /p "var1=string"

Código
  1. goto :end

De todas formas te sugiero que lo hagas así:

Código
  1. @echo off
  2.  
  3. Echo What will you do today?
  4. Echo 1.Weather
  5.  
  6. Choice /C "12" /M "What will you do today?"
  7.  
  8. Call :%ErrorLevel%
  9. Goto :end
  10.  
  11. :1
  12. echo You have chosen 1
  13. Goto:EOF
  14.  
  15. :2
  16. echo You have chosen 2
  17.  
  18. :End

Saludos
7036  Programación / .NET (C#, VB.NET, ASP) / Re: ARREGLOS VISUAL.NET en: 30 Junio 2014, 18:45 pm
es muy facil de adaptar, incluso puedes crear una función de uso genérico para devolver todos los datos necesarios (dias, semanas gps) en un objeto, ejemplo:

Código
  1. Public Class GPSTest : Inherits Form
  2.  
  3.    ' TKey   = Day of year
  4.    ' TValue = GPS Week
  5.    Friend ReadOnly GPSDictionary As Dictionary(Of Integer, Integer) = Me.GetGPSDictionary
  6.  
  7.    Private Function GetGPSDictionary() As Dictionary(Of Integer, Integer)
  8.  
  9.        Dim ThisYear As Integer = Now.Year
  10.  
  11.        Dim DaysInThisYear As Integer = (From month As Integer In Enumerable.Range(1, 12)
  12.                                         Select DateTime.DaysInMonth(ThisYear, month)).Sum
  13.  
  14.        Dim GPSWeeks As IEnumerable(Of Integer) = Enumerable.Range(1773 - 1, 1825)
  15.  
  16.        Dim Result As New Dictionary(Of Integer, Integer)
  17.  
  18.        For Day As Integer = 1 To DaysInThisYear
  19.  
  20.            Result.Add(Day, GPSWeeks(DatePart(DateInterval.WeekOfYear,
  21.                                              New DateTime(ThisYear, 1, 1).AddDays(Day - 1))))
  22.  
  23.        Next Day
  24.  
  25.        Return Result
  26.  
  27.    End Function
  28.  
  29.    Private Sub Test() Handles MyBase.Load
  30.  
  31.        MessageBox.Show(Me.GPSDictionary(CInt(InputBox("Intoduce un dia del año", "Dia del año", 1))), "Semana GPS:",
  32.                        MessageBoxButtons.OK, MessageBoxIcon.Information)
  33.  
  34.        Application.Exit()
  35.  
  36.    End Sub
  37.  
  38. End Class

Saludos
7037  Programación / .NET (C#, VB.NET, ASP) / Re: Crear una base de datos local... en: 30 Junio 2014, 17:32 pm
Si realmente lo que precisas es una base de datos, es decir, si debes manejar distintos usuarios con sus distintos datos personales en una misma aplicación, entonces mírate este código, lo escribí hace MUUUCHO tiempo (vamos, que no es muy bonito y se puede mejorar mucho) pero hace todo lo que precisas, y el archivo de la "db" queda serializado.

=> http://pastebin.com/5sT2EjLd





Aunque la verdad, yo prefiero usar una db local en formato XML, es decir, un archivo de texto plano que se pueda interpretar y que me permite visualizar el contenido y hacer cambios manuales si resulta necesario, si quieres un ejemplo completo de esto:

=> http://pastebin.com/zuwSve8Z

Citar
Código
  1.    ' Write a song element.
  2.    XMLHelper.Write_Elements(XmlWriter, { _
  3.                                         {"Name", "My Song file.mp3"},
  4.                                         {"Year", "2013"},
  5.                                         {"Genre", "Rock"} _
  6.                                         }, Xml.Formatting.None)
  7.  





Para usar una configuración de usuario más "normal" y mantenerla persistente en tu aplicación:

=> My.Settings

1. Primero creas las settings necesarias (Name, BirthDate, etc) en las propiedades de tu proyecto.

Ejemplo que hice al vuelo:

Código
  1. Public Class MySettingsExample : Inherits form
  2.  
  3.    Dim WithEvents tb_Name As New TextBox
  4.  
  5.    Private Shadows Sub OnLoad() Handles MyBase.Load
  6.  
  7.        Me.Controls.Add(Me.tb_Name)
  8.        Me.LoadUserSettings()
  9.  
  10.    End Sub
  11.  
  12.    Private Sub LoadUserSettings()
  13.  
  14.        If Not String.IsNullOrEmpty(My.Settings.Name) Then
  15.            Me.tb_Name.Text = My.Settings.Name
  16.        End If
  17.  
  18.    End Sub
  19.  
  20.    Private Sub tb_Name_TextChanged(ByVal sender As Object, ByVal e As EventArgs) _
  21.    Handles tb_Name.TextChanged
  22.  
  23.        Dim _name As String = CStr(sender.Text)
  24.  
  25.        If Not String.IsNullOrEmpty(_name) Then
  26.  
  27.            With My.Settings
  28.                .Name = _name
  29.                .Save()
  30.                ' .Reload()
  31.            End With
  32.  
  33.        End If
  34.  
  35.    End Sub
  36.  
  37. End Class

Saludos
7038  Programación / .NET (C#, VB.NET, ASP) / Re: Aviso estilo Messenger en: 30 Junio 2014, 17:04 pm
En mi opinión, lo suyo sería usar la alternativa FlashWindowEx(tended) para tener un mayor control sobre como actua el flash y su personalización xD.

Ejemplo de uso, para flashear el icono de la barra de tareas hasta que la ventana se vuelva activa:
Código
  1. Me.FlashWindow(Me.Handle, FlashFlags.TaskBar Or FlashFlags.Until_Foreground)

Te dejo el código completo que escribí, por si te sirve:

Código
  1.    ''' <summary>
  2.    ''' Flashes the specified window.
  3.    ''' It does not change the active state of the window.
  4.    ''' For more info see here:
  5.    ''' http://msdn.microsoft.com/en-us/library/windows/desktop/ms679347%28v=vs.85%29.aspx
  6.    ''' </summary>
  7.    ''' <param name="pwfi">A pointer to a FLASHWINFO structure.</param>
  8.    ''' <returns>
  9.    ''' The return value specifies the window's state before the call to the FlashWindowEx function.
  10.    ''' If the window caption was drawn as active before the call, the return value is nonzero.
  11.    ''' Otherwise, the return value is zero.
  12.    ''' </returns>
  13.    <System.Runtime.InteropServices.DllImport("user32.dll")>
  14.    Private Shared Function FlashWindowEx(
  15.            ByRef pwfi As FLASHWINFO
  16.    ) As <System.Runtime.InteropServices.MarshalAs(System.Runtime.InteropServices.UnmanagedType.Bool)> Boolean
  17.    End Function
  18.  
  19.    ''' <summary>
  20.    ''' Contains the flash status for a window and the number of times the system should flash the window.
  21.    ''' For more info see here:
  22.    ''' http://msdn.microsoft.com/en-us/library/windows/desktop/ms679348%28v=vs.85%29.aspx
  23.    ''' </summary>
  24.    <System.Runtime.InteropServices.StructLayout(System.Runtime.InteropServices.LayoutKind.Sequential)>
  25.    Public Structure FLASHWINFO
  26.  
  27.        ''' <summary>
  28.        ''' The size of the structure, in bytes.
  29.        ''' </summary>
  30.        Public cbSize As UInteger
  31.  
  32.        ''' <summary>
  33.        ''' A handle to the window to be flashed.
  34.        ''' The window can be either opened or minimized.
  35.        ''' </summary>
  36.        Public hwnd As IntPtr
  37.  
  38.        ''' <summary>
  39.        ''' The flash status.
  40.        ''' </summary>
  41.        Public dwFlags As FlashFlags
  42.  
  43.        ''' <summary>
  44.        ''' The number of times to flash the window.
  45.        ''' </summary>
  46.        Public uCount As UInteger
  47.  
  48.        ''' <summary>
  49.        ''' The rate at which the window is to be flashed, in milliseconds.
  50.        ''' If dwTimeout is zero, the function uses the default cursor blink rate.
  51.        ''' </summary>
  52.        Public dwTimeout As UInteger
  53.  
  54.    End Structure
  55.  
  56.    ''' <summary>
  57.    ''' Contains the flash status for a window.
  58.    ''' </summary>
  59.    <System.ComponentModel.Description("Enum used as 'FlashFlags' parameter in 'FlashWindow' function.")>
  60.    <Flags>
  61.    Public Enum FlashFlags As Integer
  62.  
  63.        ''' <summary>
  64.        ''' Stop flashing.
  65.        ''' The system restores the window to its original state.
  66.        ''' </summary>    
  67.        [Stop] = 0I
  68.  
  69.        ''' <summary>
  70.        ''' Flash the window caption.
  71.        ''' </summary>
  72.        Caption = 1I
  73.  
  74.        ''' <summary>
  75.        ''' Flash the taskbar button.
  76.        ''' </summary>
  77.        TaskBar = 2I
  78.  
  79.        ''' <summary>
  80.        ''' Flash both the window caption and taskbar button.
  81.        ''' This is equivalent to setting the 'Caption Or TaskBar' flags.
  82.        ''' </summary>
  83.        All = 3I
  84.  
  85.        ''' <summary>
  86.        ''' Flash continuously, until the 'Stop' flag is set.
  87.        ''' </summary>
  88.        Until_Stop = 4I
  89.  
  90.        ''' <summary>
  91.        ''' Flash continuously until the window comes to the foreground.
  92.        ''' </summary>
  93.        Until_Foreground = 12I
  94.  
  95.    End Enum
  96.  
  97.    ''' <summary>
  98.    ''' Flashes the specified window.
  99.    ''' It does not change the active state of the window.
  100.    ''' </summary>
  101.    ''' <param name="Handle">
  102.    ''' Indicates the handle to the window to flash.
  103.    ''' </param>
  104.    ''' <param name="FlashFlags">
  105.    ''' Indicates the flash flags.
  106.    ''' </param>
  107.    ''' <param name="FlashCount">
  108.    ''' Indicates the number of times to flash the window.
  109.    ''' </param>
  110.    ''' <param name="FlashDelay">
  111.    ''' Indicates the rate at which the window is to be flashed, in milliseconds.
  112.    ''' If dwTimeout is zero, the function uses the default cursor blink rate.
  113.    ''' </param>
  114.    ''' <returns>
  115.    ''' The return value specifies the window's state before the call to the FlashWindowEx function.
  116.    ''' If the window caption was drawn as active before the call, the return value is nonzero.
  117.    ''' Otherwise, the return value is zero.
  118.    ''' </returns>
  119.    Public Function FlashWindow(ByVal [Handle] As IntPtr,
  120.                                ByVal FlashFlags As FlashFlags,
  121.                                Optional ByVal FlashCount As UInteger = UInteger.MaxValue,
  122.                                Optional ByVal FlashDelay As UInteger = 0UI) As Boolean
  123.  
  124.        Dim fInfo As New FLASHWINFO()
  125.  
  126.        With fInfo
  127.  
  128.            .cbSize = Convert.ToUInt32(System.Runtime.InteropServices.Marshal.SizeOf(fInfo))
  129.            .hwnd = [Handle]
  130.            .dwFlags = FlashFlags
  131.            .uCount = FlashCount
  132.            .dwTimeout = FlashDelay
  133.  
  134.        End With
  135.  
  136.        Return FlashWindowEx(fInfo)
  137.  
  138.    End Function
  139.  

Saludos
7039  Programación / .NET (C#, VB.NET, ASP) / Re: Combinaciones numericas por posicion con numeros guias en: 29 Junio 2014, 19:47 pm
La cosa es, si el número 'límite' de combinaciones es X, ¿como se han se elegir las combinaciones exactamente? es decir, que criterio debe seguir la función que genera números para saltar por ejemplo de 1-8-10-11-23-43 a 1-28-30-33-34-35.

Buena pregunta, siempre me ha traido de cabeza este problema del compañero @Luis xD.

A ver si hoy es el dia en que resuelvo lo que precisas ;):

Output:

01 | 02 | 09 | 27 | 33 | 49
---------------------------
01 | 03 | 09 | 20 | 33 | 45
---------------------------
01 | 07 | 08 | 13 | 36 | 42
---------------------------
01 | 07 | 08 | 18 | 19 | 35
---------------------------
01 | 07 | 14 | 16 | 36 | 48
---------------------------
01 | 07 | 24 | 28 | 33 | 47
---------------------------
01 | 09 | 11 | 13 | 28 | 46
---------------------------
01 | 11 | 15 | 19 | 21 | 34
---------------------------
02 | 03 | 13 | 40 | 49 | 50
---------------------------
02 | 06 | 10 | 30 | 36 | 45
---------------------------
02 | 12 | 23 | 30 | 40 | 44
---------------------------
02 | 21 | 25 | 30 | 38 | 45
---------------------------
03 | 04 | 05 | 06 | 38 | 46
---------------------------
03 | 04 | 08 | 24 | 28 | 44
---------------------------
03 | 06 | 12 | 18 | 30 | 49
---------------------------
03 | 07 | 25 | 27 | 32 | 45
---------------------------
03 | 10 | 22 | 40 | 44 | 50
---------------------------
03 | 11 | 25 | 26 | 29 | 33
---------------------------
03 | 12 | 25 | 34 | 35 | 36
---------------------------
03 | 13 | 23 | 31 | 36 | 50
---------------------------
03 | 17 | 19 | 43 | 44 | 46
---------------------------
03 | 21 | 24 | 29 | 31 | 48
---------------------------
04 | 05 | 13 | 25 | 37 | 46
---------------------------
04 | 07 | 19 | 24 | 33 | 40
---------------------------
04 | 09 | 13 | 29 | 32 | 40
---------------------------
04 | 17 | 23 | 37 | 39 | 45
---------------------------
04 | 25 | 28 | 35 | 36 | 41
---------------------------
05 | 07 | 14 | 18 | 20 | 38
---------------------------
05 | 09 | 20 | 25 | 29 | 35
---------------------------
05 | 13 | 21 | 29 | 38 | 50
---------------------------
05 | 15 | 16 | 21 | 37 | 43
---------------------------
05 | 15 | 20 | 22 | 26 | 29
---------------------------
05 | 19 | 21 | 39 | 41 | 46
---------------------------
06 | 07 | 13 | 15 | 20 | 44
---------------------------
06 | 08 | 27 | 28 | 31 | 39
---------------------------
06 | 09 | 22 | 23 | 37 | 42
---------------------------
06 | 09 | 23 | 36 | 40 | 47
---------------------------
06 | 12 | 23 | 29 | 35 | 47
---------------------------
07 | 08 | 26 | 31 | 40 | 41
---------------------------
07 | 11 | 14 | 37 | 38 | 45
---------------------------
07 | 11 | 15 | 19 | 23 | 36
---------------------------
07 | 11 | 18 | 27 | 44 | 46
---------------------------
07 | 13 | 18 | 30 | 31 | 38
---------------------------
08 | 12 | 17 | 26 | 48 | 49
---------------------------
08 | 23 | 24 | 25 | 32 | 47
---------------------------
08 | 26 | 28 | 37 | 39 | 44
---------------------------
09 | 10 | 14 | 22 | 33 | 49
---------------------------
09 | 11 | 18 | 19 | 38 | 40
---------------------------
09 | 11 | 18 | 21 | 38 | 48
---------------------------
09 | 13 | 20 | 29 | 37 | 45
---------------------------
09 | 13 | 22 | 30 | 37 | 43
---------------------------
09 | 14 | 15 | 27 | 44 | 45
---------------------------
10 | 20 | 37 | 39 | 41 | 49
---------------------------
11 | 13 | 20 | 22 | 24 | 49
---------------------------
11 | 14 | 16 | 23 | 45 | 48
---------------------------
11 | 17 | 19 | 21 | 25 | 45
---------------------------
12 | 13 | 23 | 24 | 32 | 48
---------------------------
12 | 19 | 24 | 37 | 38 | 42
---------------------------
12 | 25 | 29 | 30 | 44 | 46
---------------------------
13 | 14 | 19 | 24 | 34 | 40
---------------------------
13 | 16 | 21 | 29 | 33 | 40
---------------------------
13 | 22 | 23 | 29 | 35 | 49
---------------------------
14 | 15 | 27 | 30 | 33 | 41
---------------------------
14 | 18 | 23 | 42 | 45 | 47
---------------------------
14 | 21 | 27 | 39 | 43 | 47
---------------------------
15 | 19 | 28 | 31 | 38 | 40
---------------------------
15 | 20 | 27 | 35 | 42 | 45
---------------------------
16 | 18 | 21 | 30 | 49 | 50
---------------------------
16 | 23 | 24 | 38 | 45 | 48
---------------------------
19 | 30 | 42 | 43 | 44 | 49
---------------------------
20 | 22 | 26 | 33 | 40 | 41
---------------------------
21 | 29 | 31 | 38 | 47 | 48
---------------------------
22 | 29 | 31 | 34 | 45 | 47
---------------------------
23 | 26 | 29 | 31 | 35 | 38
---------------------------
23 | 28 | 30 | 33 | 39 | 50
---------------------------
23 | 36 | 43 | 44 | 46 | 49
---------------------------
24 | 28 | 35 | 37 | 45 | 48
---------------------------
25 | 31 | 35 | 37 | 39 | 46
---------------------------
28 | 30 | 36 | 43 | 48 | 50
---------------------------


Código:
(Copiar, pegar, y compilar)
Código
  1. Public Class ComboTest : Inherits Form
  2.  
  3. #Region " Objects, Vars "
  4.  
  5.    ' La Class "Random", es necesaria para desordenar una colección
  6.    ' y esta declaración tiene que ir siempre fuera de cualquier Sub.
  7.    Private ComboRandomizer As New Random
  8.  
  9.    ' El control que creo en tiempo de ejecución, donde mostraré las combinaciones.
  10.    Private rtb As New RichTextBox With
  11.            {
  12.              .Dock = DockStyle.Fill,
  13.              .Font = New Font("Lucida Console", 10.0F)
  14.            }
  15.  
  16.    ' Una "palanca" para habilitar/deshabilitar el bloque de depuración.
  17.    Private EnableDebug As Boolean = False
  18.  
  19.    ' Instancio una lista donde iremos guardando cada combinación obtenida.
  20.    Private Combos As New List(Of Integer())
  21.  
  22.    ' Otra lista donde le daré el formato deseado a los números.
  23.    Dim ComboStrings As List(Of String) = Nothing
  24.  
  25.    ' El máximo de combinaciones.
  26.    Private Property MaxCombos As Integer = 80I
  27.  
  28.    ' El máximo de longitud para cada combinación.
  29.    Private Property MaxComboLength As Integer = 6I
  30.  
  31.    ' Los números "guías" que usaremos para rellenar cada combinación.
  32.    Private ReadOnly Numbers As Integer() =
  33.        (From n As Integer In
  34.         ("01-02-03-04-05-06-07-08-09-10-11-12-13-14-15-16-17-18-19-20-" &
  35.          "21-22-23-24-25-26-27-28-29-30-31-32-33-34-35-36-37-38-39-40-" &
  36.          "41-42-43-44-45-46-47-48-49-50"
  37.         ).Split({"-"}, StringSplitOptions.RemoveEmptyEntries)).ToArray
  38.  
  39. #End Region
  40.  
  41. #Region " Constructors "
  42.  
  43.        ' De este Sub no hagas caso, es el constructor del Form.
  44.    Public Sub New()
  45.  
  46.        ' This call is required by the designer.
  47.        ' Add any initialization after the InitializeComponent() call.
  48.        InitializeComponent()
  49.  
  50.        ' Añado el control al Form.
  51.        Me.Controls.Add(rtb)
  52.  
  53.    End Sub
  54.  
  55. #End Region
  56.  
  57. #Region " Event-Handlers "
  58.  
  59.    Private Sub ComboTest() Handles MyBase.Load
  60.  
  61.        Me.DoCombos()
  62.        Me.PrintCombos()
  63.  
  64.    End Sub
  65.  
  66. #End Region
  67.  
  68. #Region " Methods "
  69.  
  70.    ' La función que se encarga de desordenar y devolverte una combinación.
  71.    ' By Elektro.
  72.    Friend Function GetRandomCombination(Of T)([Collection] As IEnumerable(Of T),
  73.                                               [Length] As Integer) As IEnumerable(Of T)
  74.  
  75.        Return (From Item As T In [Collection] Order By ComboRandomizer.Next Take [Length]).ToArray
  76.  
  77.    End Function
  78.  
  79.    Private Sub DoCombos()
  80.  
  81.        ' Añadir combinaciones a la lista, hasta que la lista tenga 'MaxComboLength' (80) elementos.
  82.        Do Until Combos.Count = (MaxCombos - 1)
  83.  
  84.            ' Obtengo una combinación.
  85.            Dim tmpCombo As Integer() = Me.GetRandomCombination(Of Integer)(Numbers, MaxComboLength)
  86.  
  87.            ' Ordeno los elementos de la combinación, de menos a mayor.
  88.            Array.Sort(tmpCombo)
  89.  
  90.            ' Añado la combinación a la lista.
  91.            Combos.Add(tmpCombo)
  92.  
  93.        Loop
  94.  
  95.        ' Ordeno los elementos de la lista, basandome en el orden de los elementos de cada Array.
  96.        ' NOTA: Puede tener fallos al ordenar, no aseguro que el orden sea perfecto.
  97.        Combos = (From Combo As Integer() In Combos Order By Convert.ToDecimal(String.Join("", Combo)) Ascending).ToList
  98.        Combos = (From Combo As Integer() In Combos Order By Combo.First Ascending).ToList
  99.  
  100.        ' Además, creo utra lista Strings, para darle formato a cada combo numérico,
  101.        ' y añadirle así un "0" a los números del "1" al "9" y que quede más bonito en la previsualización xD.
  102.        Me.ComboStrings =
  103.            (From Combo In Combos
  104.             Select (String.Join(" | ", From Value As String In Combo
  105.                                       Select If(Value.Length = 1, "0" & Value, Value)))).ToList
  106.  
  107. #If DEBUG Then
  108.  
  109.        ' El bloque de depuración.
  110.        ' Este bloque entero es para testear el formato que le quieras dar.
  111.        If Me.EnableDebug Then
  112.  
  113.            Dim sb As New System.Text.StringBuilder
  114.  
  115.            With sb
  116.  
  117.                For Index As Integer = 0 To (MaxCombos - 1)
  118.  
  119.                    sb.AppendLine(String.Format("Combo sin formato:"))
  120.                    sb.AppendLine(String.Join(", ", Combos(Index)))
  121.                    sb.AppendLine()
  122.                    sb.AppendLine(String.Format("Combo con formato:"))
  123.                    sb.AppendLine(String.Join(", ", ComboStrings(Index)))
  124.  
  125.                    MessageBox.Show(sb.ToString, "", MessageBoxButtons.OK, MessageBoxIcon.Information)
  126.  
  127.                    sb.Clear()
  128.  
  129.                Next Index
  130.  
  131.            End With
  132.  
  133.        End If
  134.  
  135. #End If
  136.  
  137.    End Sub
  138.  
  139.    Private Sub PrintCombos()
  140.  
  141.        ' Muestro los Combos en el control.
  142.        With Me.rtb
  143.  
  144.            .SuspendLayout()
  145.            For Each Combo As String In Me.ComboStrings
  146.                .AppendText(Combo)
  147.                .AppendText(Environment.NewLine & New String("-", Combo.Length) & Environment.NewLine)
  148.            Next Combo
  149.            .ResumeLayout()
  150.  
  151.            .Select(0, 0)
  152.  
  153.        End With
  154.  
  155.    End Sub
  156.  
  157. #End Region
  158.  
  159. End Class
  160.  

PD: ¿Era eso lo que querías o tampoco? xD.

Saludos
7040  Programación / Programación General / Re: Ayuda para modificar un programa para windows en: 29 Junio 2014, 19:19 pm
Además de ser algo "imposible", no se trata de un programa opensource, los terminos de uso de la aplicación seguramente prohibiran la ingeniría inversa es decir cualquier tipo de manipulación intencionada, y no se si llegará a ser incluso ilegal.

Aparte, se que lo pides sin maldad pero nadie va a desarrollarte un programa de tal magnitud (el hardware necesario para testear, el desarrollo de los algoriitmos y el chequeo de los controles de errores, las semanas o meses de tiempo invertido en hacer algo que no sea una chapuza, casi nada!), solamente por sentirse un buen samaritano para hacerte un favor, a menos que pagues lo que vale ese trabajo.

De todas formas parece que alguien se ha molestado en compartir un proyecto sencillo de usar y que parece eficiente, eso si, trabaja con imagenes estáticas, pero puedes empezar a trastear por aquí:
http://www.codeproject.com/Tips/561129/Face-Detection-with-Lines-of-Code-VB-NET

Saludos
Páginas: 1 ... 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 [704] 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 ... 1236
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines