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

#4401
No manejo WPF, pero formulas una pregunta básica que puedes encontrar muy sencillamente en Google...

Te muestro una imagen que lo explica al detalle:

Change Background opacity without changing content opacity


Saludos
#4403
Yo empezaría con PyCharm de JetBrains, para mi es la IDE más completa de las que están orientadas a Python, tiene muy buenas características.
https://www.jetbrains.com/pycharm/

PD: Formula las preguntas sobre Python, que es un lenguaje de scripting, en la sección de Scripting.

Saludos
#4404
De nada, pero déjame hacerte un consejo, ¿sabes lo que estaría muy bien que hagas?, un módulo donde definir todas esas funciones para tus propósitos, que seguro son muchas funciones ya en todo este tiempo... y así, aparte de reducir código, no llenarías tanto código para volverlo un código spaghetti.

Hazme caso, no se si aceptarás mi sugerencia, en caso de que lo hagas no se si al principio pensarás que no te vale la pena (por que creo que te cuesta bastante escribir xD), pero a la larga si, sobre todo para la depuración de posibles fallos, joder, que ahora mismo lo tienes todo mezclao por todos laos.

Incluso podrías crear extensiones de método para ganar mayor simplificación de código.

Te lo digo simplemente como una sugerencia para mejorar tus hábitos de programación, puedes tomarla o ignorarla.


Un ejemplo inicial:
Código (vbnet) [Seleccionar]
Dim pairs As IEnumerable(Of KeyValuePair(Of Integer, IEnumerable(Of String))) =
   {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}.GetPairs()

For Each pair As KeyValuePair(Of Integer, IEnumerable(Of String)) In pairs

   ListBox1.Items.Add(String.Format("Key: {0,-4} Values: {1}", pair.Key, String.Join(", ", pair.Value)))

Next pair


+

Código (vbnet) [Seleccionar]
Imports System
Imports System.Collections.Generic
Imports System.Linq
Imports System.Runtime.CompilerServices

Public Module IEnumerableExtensions

   ''' ----------------------------------------------------------------------------------------------------
   ''' <summary>
   ''' Descripción de lo que hace esta función.
   ''' </summary>
   ''' ----------------------------------------------------------------------------------------------------
   ''' <param name="sender">
   ''' La colección de origen.
   ''' </param>
   ''' ----------------------------------------------------------------------------------------------------
   ''' <returns>
   ''' Descripción delo que devuelve esta función.
   ''' </returns>
   ''' ----------------------------------------------------------------------------------------------------
   ''' <exception cref="ArgumentException">
   ''' El valor máximo de la colección debe ser un valor inferior a 10.;col
   ''' </exception>
   ''' ----------------------------------------------------------------------------------------------------
   <Extension>
   <DebuggerHidden>
   <DebuggerStepThrough>
   Public Function GetPairs(ByVal sender As IEnumerable(Of Integer)) As IEnumerable(Of KeyValuePair(Of Integer, IEnumerable(Of String)))

       If (sender.Max >= 10) Then
           Throw New ArgumentException(paramName:="col", message:="El valor máximo de la colección debe ser un valor inferior a 10.")

       Else
           Return From value As Integer In sender
                  Select New KeyValuePair(Of Integer, IEnumerable(Of String))(
                         key:=value,
                         value:=From index As Integer In Enumerable.Range(1, 9)
                                Where (index <> value)
                                Select (value & index))
       End If

   End Function

End Module


Saludos
#4405
Bien, si según dices no hay número mayor de 9 en el array inicial, entonces todo perfecto con el último código que te puse, ¿no? :P

...Solo que si el array inicial contiene un 0, entonces deberás devolver uno de strings para formatear los ceros, y de paso podemos evitar castings innecesarios:

Lo que hago es, por cada valor de la colección de origen (ej: {1,5,3,6,7,2,9,4,0}) recorro el rango del 1 al 9 ({1,2,3,4,5,6,7,8,9}), y los voy uniendo en un string con el valor inciial (ej: 1&2="12", 1&3="13", así hasta el 9), excluyendo el valor que sea igual, es decir, si número de rango=1 y número de origen=1, entonces no juntar 1&1 para obtener el string "11".

El poder de LINQ xD.
Código (vbnet) [Seleccionar]
Public Shared Function Test(ByVal col As IEnumerable(Of Integer)) As IEnumerable(Of KeyValuePair(Of Integer, IEnumerable(Of String)))

   If (col.Max >= 10) Then
       Throw New ArgumentException(paramName:="col", message:="Maximum value samaller than 10 is required.")

   Else
       Return From value As Integer In col
              Select New KeyValuePair(Of Integer, IEnumerable(Of String))(
                     key:=value,
                     value:=From index As Integer In Enumerable.Range(1, 9)
                            Where (index <> value)
                            Select (value & index))
   End If

End Function


+

Código (vbnet) [Seleccionar]
Dim values As IEnumerable(Of Integer) =
   {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}

For Each pair As KeyValuePair(Of Integer, IEnumerable(Of String)) In Test(values)

   Console.WriteLine(String.Format("Key: {0,-4} Values: {1}",
                                   pair.Key, String.Join(", ", pair.Value)))

Next pair


Resultado de ejecución:
Cita de: ConsolaKey: 0    Values: 01, 02, 03, 04, 05, 06, 07, 08, 09
Key: 1    Values: 12, 13, 14, 15, 16, 17, 18, 19
Key: 2    Values: 21, 23, 24, 25, 26, 27, 28, 29
Key: 3    Values: 31, 32, 34, 35, 36, 37, 38, 39
Key: 4    Values: 41, 42, 43, 45, 46, 47, 48, 49
Key: 5    Values: 51, 52, 53, 54, 56, 57, 58, 59
Key: 6    Values: 61, 62, 63, 64, 65, 67, 68, 69
Key: 7    Values: 71, 72, 73, 74, 75, 76, 78, 79
Key: 8    Values: 81, 82, 83, 84, 85, 86, 87, 89
Key: 9    Values: 91, 92, 93, 94, 95, 96, 97, 98

Recordemos tus expectativas:
Cita de: luis456 en  1 Octubre 2015, 13:17 PMKey: 0    Values: 01, 02, 03, 04, 05, 06, 07, 08, 09
Key: 1    Values: 12, 13, 14, 15, 16, 17, 18, 19
Key: 2    Values: 21, 23, 24, 25, 26, 27, 28, 29
Key: 3    Values: 31, 32, 34, 35, 36, 37, 38, 39
Key: 4    Values: 41, 42, 43, 45, 46, 47, 48, 49
Key: 5    Values: 51, 52, 53, 54, 56, 57, 58, 59
Key: 6    Values: 61, 62, 63, 64, 65, 67, 68, 69
Key: 7    Values: 71, 72, 73, 74, 75, 76, 78, 79
Key: 8    Values: 81, 82, 83, 84, 85, 86, 87, 89
Key: 9    Values: 91, 92, 93, 94, 95, 96, 97, 98

Saludos
#4406
Más bien parecen permutaciones, pero sigue sin estar claro y sabes que la ausencia de información esencial me cabrea, da los detalles necesarios, no me hagas tener que escribir o explicar 20 códigos distintos por no saber los detalles suficientes del algoritmo, ¿que pasa si el numero es 10, o 152, o 25095, o 123456789?, ¿qué se debe hacer entonces?.

No explicaré el código hasta que me puedas confirmar si es correcto así, pero si no entiendes algo de este código, pregunta:
Código (vbnet) [Seleccionar]
Dim valuesInt As IEnumerable(Of Integer) =
   {1, 3, 4, 6, 2, 5, 8, 7, 9, 10}

Dim pairs As IEnumerable(Of KeyValuePair(Of Integer, IEnumerable(Of Integer))) =
    From value As Integer In valuesInt
    Select New KeyValuePair(Of Integer, IEnumerable(Of Integer))(
           key:=value,
           value:=From index As Integer In Enumerable.Range(1, 9)
                  Where index <> Integer.Parse(CStr(value).Last)
                  Select CInt(value & index))

For Each pair As KeyValuePair(Of Integer, IEnumerable(Of Integer)) In pairs

   Console.WriteLine(String.Format("Key: {0,-4} Values: {1}", pair.Key, String.Join(", ", pair.Value)))

Next pair



Resultado de ejecución:
CitarKey: 1    Values: 12, 13, 14, 15, 16, 17, 18, 19
Key: 3    Values: 31, 32, 34, 35, 36, 37, 38, 39
Key: 4    Values: 41, 42, 43, 45, 46, 47, 48, 49
Key: 6    Values: 61, 62, 63, 64, 65, 67, 68, 69
Key: 2    Values: 21, 23, 24, 25, 26, 27, 28, 29
Key: 5    Values: 51, 52, 53, 54, 56, 57, 58, 59
Key: 8    Values: 81, 82, 83, 84, 85, 86, 87, 89
Key: 7    Values: 71, 72, 73, 74, 75, 76, 78, 79
Key: 9    Values: 91, 92, 93, 94, 95, 96, 97, 98
Key: 10   Values: 101, 102, 103, 104, 105, 106, 107, 108, 109


Saludos!
#4407
Hola Luis

No se entiende muy bien lo que necesitas, pero si no me equivoco lo que quieres hacer es añadir ceros a la izquierda a los números menores de 10, para que estos formen una logintud de 2 caracteres, par.

Código (vbnet) [Seleccionar]
Dim valuesInt As IEnumerable(Of Integer) =
   {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}

Dim valuesStr As IEnumerable(Of String) =
   From value As Integer In valuesInt
   Select CStr(value).PadLeft(totalWidth:=2, paddingChar:="0"c)

Console.WriteLine(String.Join(", ", valuesStr))


Resultado de ejecución:
Citar01, 02, 03, 04, 05, 06, 07, 08, 09, 10

Saludos
#4408
Cita de: paradoxx-adum en  1 Octubre 2015, 00:38 AMsoft que permita hacer aplicaciones para android? pero de manera visual.

Estas son solo algunas...

C#, con soporte limitado para VB.Net:
Xamarin Studio
Microsoft Visual Studio + ➢ Xamarin for Visual Studio

Java:
JetBrains IntelliJ IDEA (a partir de la versión 12+)
Eclipse + ➢ Android Development Tool plugin for Eclipse

HTML5/CSS/javascript:
Telerik AppBuilder

C++:
Embarcadero C++ Builder (creo que a partir de la versión XE5+)

Delphi (Object-Pascal):
Embarcadero Delphi (creo que a partir de la versión XE5+)

REBOL:
Saphir R3 (REBOL 3)

Otros:
Estas aplicaciones parecen más bien una especie de asistentes o wizards para gente que no sabe programar, no las he probado así que no se si permiten la utilización de algún lenguaje cnocido.
appypie
DroidDraw
Easy-to-Use Android App Builder 2014

Nota(s):
  • Embarcadero RAD Studio XE incluye Delphi y C++ Bulder.
  • Si, todas las IDEs o software mencionado llevan un GUI builder para construir la interfáz gráfica de una app Android.

    Saludos.
#4409
Uy, ese tema no lo controlo mucho, pero con la herramienta certutil que puedes encontrar en el SDK de Windows puedes importar certificados .pfx, por si te sirve de algo:



Saludos!
#4410
Cita de: kaisersouse2 en 30 Septiembre 2015, 22:39 PMOtra cosa podrías como en anteriores ocasiones y también para los que lean esto en un futuro, como funciona el código, así como para dummies. y de nuevo gracias  ;-).

Más bien voy a tener que epxlicarte cómo funciona la etiqueta QUOTE, que me estás dando trabajo con eso corrigiendo las citas que haces xD.

El código es muy, muy sencillo, realmente no hay mucho que decir por que no hay nada así complicado, pero lo intentaré:

Primero de nada, establezco la extensión, asignándola a una variable para tener una referencia corta.
CitarSet "ext=encrypted.txt"

Luego, uso un For para iterar los archivos del directorio de trabajo, usando como patrón de búsqueda para los archivos la extensón de antes ("*.encrypted.txt")
CitarFor %%_ In ("*.%ext%") DO ...

La variable de FOR (%%_) no nos sive de mucho ya que no sabemos la cantidad de puntos "." que puede contener un nombre de archivo, así que asigno a una nueva variable el nombre completo incluyendo la extensión:
CitarSet "filename=%%~nx_"

Seguidamente, hago un reemplazamiento de string para eliminar del nombre la extensión que habiamos asignado al principio (".encrypted.txt")
CitarCall Set "filename=%%filename:.%ext%=%%"

Y por último, renombramos el archivo.
CitarCall Ren  "%%~f_"    "%%filename%%"

Nota(s):
- El comando Call es necesario por la expansión de variables, pero se puede reemplazar por el uso de SetLocal EnableDelayedExpansion si uno quiere hacerlo.

- El modificador ~n de la variable de For devuelve el nombre del archivo, el modificador ~x la extensión, y el modificador ~f la ruta absoluta.

Saludos