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 2 3 4 5 6 7 8 9 10 11 12 13 14 [15] 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 ... 32
141  Programación / .NET (C#, VB.NET, ASP) / Re: Barra de progreso no termina en: 30 Marzo 2016, 14:22 pm
...
En resumen, que es lo más normal del mundo, aunque para entenderlo mejor habría que conocer el código fuente de la función SendMessage para ver como funciona, y sobre todo entender a fondo como funciona la cola de mensajes para ventanas Win32, cosa que yo no se a ciencia cierta, lo que si se es que si dejas el tiempo necesario para que se procese el mensaje y se pueda actualizar la UI (unos ms), entonces puedes comprobar como si que se completa la barra de progreso hasta el final:

Código
  1. Public NotInheritable Class Form1 : Inherits Form
  2.  
  3.    Friend WithEvents Timer1 As New System.Windows.Forms.Timer With {.Interval = 20}
  4.  
  5.    Private Sub Form1_Shown(ByVal sender As Object, ByVal e As EventArgs) _
  6.    Handles MyBase.Shown
  7.  
  8.        Me.ProgressBar1.Step = 1
  9.        Me.Timer1.Start()
  10.  
  11.    End Sub
  12.  
  13.    Private Sub IncreaseProgressBar(ByVal sender As Object, ByVal e As EventArgs) _
  14.    Handles Timer1.Tick
  15.  
  16.        Me.ProgressBar1.PerformStep()
  17.  
  18.        If (Me.ProgressBar1.Value = Me.ProgressBar1.Maximum) Then
  19.            Me.Timer1.Stop()
  20.            MsgBox("done") ' unos ms despues de saltar el msgbox verás como se completa la barra.
  21.            MyBase.Close()
  22.        End If
  23.  
  24.    End Sub
  25.  
  26. End Class

Saludos.

Ya he probado el código y ocurre igual, el mensaje se muestra antes que que termine la barra. Igual es cosa de mi compu o puede que del framework, porque no recuerdo que antes pasara.  Como solución me fabricaré mi propia barra (que ya tengo un snippet echo para eso) y listo, ya que he comprobado que funciona usando un estilo gráfico propio y el picturebox, en lugar del progressbar.

S2s

142  Sistemas Operativos / Windows / No puedo activar icono volumen y red en: 30 Marzo 2016, 12:34 pm
Hola

Los iconos de sonido y red me han desaparecido y al intentar activarlos veo que la los cuadritos de activación están deshabilitados y no lo puedo activar.  Supongo que algún HP a accedido al registro de windows y lo ha desactivado pero no se donde es.

Los cuadritos están deshabilitados  :¬¬



Nota: Windows Vista.

Gracias



No puedo usar Gpedit porque es una versión Home Premium y no está disponible



Lo he resuelto simplemente reiniciando explorer.

143  Programación / Desarrollo Web / ¿Por qué no puedo ver esta página? en: 30 Marzo 2016, 11:23 am
Es una página creo que alemana, y es sobre trucos para juegos.


European Codebase

y dice esto:
Código:
El script devolvió el siguiente error:

El servidor de base de datos (MySQL) no pudo ser contactado!



Akutell es un problema.

Nos esforzamos por ofrecer la solución más rápida posible al problema. Desafortunadamente, no podemos decir cuánto tiempo va a tomar, por favor probarlo en un momento posterior de nuevo. Nos disculpamos y lamentar su inconveniencia El Webmaster





Nota interna:
Número de error:
2054 Texto de error: Conexión a 03:22, no se admite 03:23 y 4.0 del servidor

Solía entrar para buscar trucos, pero ya no se puede.

He probado hacerlo desde TOR, pero tampoco puedo verla.
144  Programación / .NET (C#, VB.NET, ASP) / Re: Barra de progreso no termina en: 29 Marzo 2016, 23:58 pm
Hola Elektro

Gracias por el respuesta. La cual al leerla, parce que Net lo has inventado tú ¿Como sabes esas cosas? XD

Sí comprobé que así és, por ejemplo usando sleep antes que se mostrara el mensaje, entoces la barra termina y se muestra el mensaje, pero hace un parón molesto y queda mal. También probé de usar Backgroundworker, pero ocurre exáctamente igual, que la barra termina después de mostrase el mensaje.

Necesita más tiempo para el llenado gráfico de la barra de progreso, que para los valores de la misma.

Ahora no puedo probar tu código porque estoy en XP, y aquí funcionaría bien incluso el que hice yo. Lo probaré mañana.

S2s
145  Programación / .NET (C#, VB.NET, ASP) / Re: Seguimos con registros en listbox :) en: 29 Marzo 2016, 14:23 pm
Pero...

Como te he comentado también puedes usar REGEX, fíjate que el código parece el mismo pero no es igual. El uno usa Substring y el otro Regex.

Con regex da igual si lo pones así: 1 2 3 o así 1 ,2 ,3 o así  01, 02, 03 sólo tienes que establecer qué carácter o cadena hay entre los números en Pattern.

REGEX
Código
  1.  
  2.        ListBox1.Items.Add("01 ,02 ,03")
  3.        ListBox1.Items.Add("3 ,4 ,5")
  4.        ListBox1.Items.Add("15 ,35 ,45")
  5.        ListBox1.Items.Add("15 ,35 ,55")
  6.        ListBox1.Items.Add("25 ,35 ,45")
  7.        ListBox1.Items.Add("45 ,55 ,65")
  8.        ListBox1.Items.Add("57 ,58 ,59")
  9.  
  10.        Dim Pattern As String = " ,"
  11.        Dim Digito() As String
  12.  
  13.        Dim ClearList As New List(Of String)(ListBox1.Items.OfType(Of String))
  14.  
  15.        For Each Item As String In ClearList
  16.            Digito = System.Text.RegularExpressions.Regex.Split(Item, Pattern)
  17.            If CInt(Digito(1)) = CInt(Digito(0)) + 1 And
  18.               CInt(Digito(2)) = CInt(Digito(1)) + 1 Then
  19.                ListBox1.Items.Remove(Item)
  20.            End If
  21.        Next
Fíjate que hay una línea en la que la he puesto sin el cero delante, y no da error:

Código:
ListBox1.Items.Add("3 ,4 ,5")

OTRAS CONDICIONES
Puedes cambiar las condiciones fácilmente.


Este código borra las combinaciones cuyo tercer número tiene dos valores mayor que el segundo.
Por ejemplo:

1 ,2 ,4
2, 3, 5

Código
  1.  
  2.        ListBox1.Items.Add("01 ,02 ,03")
  3.        ListBox1.Items.Add("3 ,4 ,5")
  4.        ListBox1.Items.Add("15 ,35 ,45")
  5.        ListBox1.Items.Add("15 ,35 ,55")
  6.        ListBox1.Items.Add("25 ,35 ,37")
  7.        ListBox1.Items.Add("45 ,55 ,57")
  8.        ListBox1.Items.Add("57 ,58 ,60")
  9.  
  10.        Dim Pattern As String = " ,"
  11.        Dim Digito() As String
  12.  
  13.        Dim ClearList As New List(Of String)(ListBox1.Items.OfType(Of String))
  14.  
  15.        For Each Item As String In ClearList
  16.            Digito = System.Text.RegularExpressions.Regex.Split(Item, Pattern)
  17.            If CInt(Digito(2)) = CInt(Digito(1)) + 2 Then
  18.                ListBox1.Items.Remove(Item)
  19.            End If
  20.        Next
  21.  


Este otro combina las condiciones anteriores, borra las líneas que tengan números correlativos y además las que tengan el tercer número dos veces mayor que el segundo.


Código
  1.        ListBox1.Items.Add("01 ,02 ,03")
  2.        ListBox1.Items.Add("3 ,4 ,5")
  3.        ListBox1.Items.Add("15 ,35 ,45")
  4.        ListBox1.Items.Add("15 ,35 ,55")
  5.        ListBox1.Items.Add("25 ,35 ,37")
  6.        ListBox1.Items.Add("45 ,55 ,57")
  7.        ListBox1.Items.Add("57 ,58 ,60")
  8.  
  9.        Dim Pattern As String = " ,"
  10.        Dim Digito() As String
  11.  
  12.        Dim ClearList As New List(Of String)(ListBox1.Items.OfType(Of String))
  13.  
  14.        For Each Item As String In ClearList
  15.            Digito = System.Text.RegularExpressions.Regex.Split(Item, Pattern)
  16.            If CInt(Digito(2)) = CInt(Digito(1)) + 2 Or
  17.                CInt(Digito(1)) = CInt(Digito(0)) + 1 And
  18.               CInt(Digito(2)) = CInt(Digito(1)) + 1 Then
  19.                ListBox1.Items.Remove(Item)
  20.            End If
  21.        Next


Espero te sirva.
146  Programación / .NET (C#, VB.NET, ASP) / Re: Seguimos con registros en listbox :) en: 29 Marzo 2016, 03:39 am
Sería mejor que lo pusieras así 01, 25, 06, para no tener que hacer la distinción de se es un dígito o dos, porque si no te va a dar error cuando hayan dos dígitos ya que cambia las posiciones.


    
Código
  1.  
  2.        ListBox1.Items.Add("01 ,02 ,03")
  3.        ListBox1.Items.Add("03 ,04 ,05")
  4.        ListBox1.Items.Add("15 ,35 ,45")
  5.        ListBox1.Items.Add("15 ,35 ,55")
  6.        ListBox1.Items.Add("25 ,35 ,45")
  7.        ListBox1.Items.Add("45 ,55 ,65")
  8.        ListBox1.Items.Add("57 ,58 ,59")
  9.  
  10.        '//Elimina combinaciones correlativas
  11.         Dim ClearList As New List(Of String)(ListBox1.Items.OfType(Of String))
  12.  
  13.        For Each Digito As String In ClearList
  14.            If CInt(Digito.Substring(4, 2)) = CInt(Digito.Substring(0, 2)) + 1 And
  15.                 CInt(Digito.Substring(8, 2)) = CInt(Digito.Substring(4, 2)) + 1 Then
  16.                ListBox1.Items.Remove(Digito)
  17.            End If
  18.        Next



Para ser más precisos se podría usar Regex, pero si fijo vas a usar dos dígitos, y pones los números del uno al 10 así, 01, 02, 03 .. no hace falta.



Otra forma sería como he comentado con Regex. En este caso no importa si el número tiene uno, dos, tres, etc, dígitos. Pero es importante establecer qué carácter o cadena habrá entre ellos en Pattern.


Código
  1.  
  2.       ListBox1.Items.Add("1 ,2 ,3") '<-Se borrará
  3.        ListBox1.Items.Add("3 ,4 ,5") '<-Se borrará
  4.        ListBox1.Items.Add("3 ,24 ,18")
  5.        ListBox1.Items.Add("15 ,35 ,45")
  6.        ListBox1.Items.Add("16 ,17 ,18") '<-Se borrará
  7.        ListBox1.Items.Add("45 ,55 ,65")
  8.        ListBox1.Items.Add("57 ,58 ,59") '<-Se borrará
  9.        ListBox1.Items.Add("346 ,348 ,350")
  10.        ListBox1.Items.Add("350 ,351 ,352") '<-Se borrará
  11.  
  12.        Dim Pattern As String = " ,"
  13.        Dim Digito() As String
  14.  
  15.        '//Elimina combinaciones correlativas
  16.       Dim ClearList As New List(Of String)(ListBox1.Items.OfType(Of String))
  17.  
  18.        For Each Item As String In ClearList
  19.            Digito = System.Text.RegularExpressions.Regex.Split(Item, Pattern)
  20.            If CInt(Digito(1)) = CInt(Digito(0)) + 1 And
  21.            CInt(Digito(2)) = CInt(Digito(1)) + 1 Then
  22.                ListBox1.Items.Remove(Item)
  23.            End If
  24.        Next
  25.  
  26.        '//Lo que hace Regex.Split es devolver los valores que están entre espacio y coma  --> " ,"
  27.        '//Si hay tres números las posiciones serían:
  28.        '//0[ ,]1[ ,]2
  29.        '//Digito(0) devuelve el primer número
  30.        '//Digito(1) devuelve el segundo número
  31.        '//Digito(2) devuelve el tercer número
  32.  

Devuelve:

Código:
3 ,24 ,18
15 ,35 ,45
45 ,55 ,65
346 ,348 ,350
147  Programación / .NET (C#, VB.NET, ASP) / Re: Seguimos con registros en listbox :) en: 29 Marzo 2016, 03:31 am
También valdría CInt, creo que mejor incluso ya que son números pequeños:

Código
  1.   ListBox1.Items.Add("1 ,2 ,3")
  2.        ListBox1.Items.Add("1 ,4 ,5")
  3.        ListBox1.Items.Add("1 ,3 ,4")
  4.        ListBox1.Items.Add("1 ,3 ,5")
  5.        ListBox1.Items.Add("2 ,3 ,4")
  6.        ListBox1.Items.Add("4 ,5 ,6")
  7.        ListBox1.Items.Add("6 ,7 ,8")
  8.  
  9.        '//Elimina combinaciones correlativas
  10.        Dim ClearList As New List(Of String)
  11.        ClearList.AddRange(ListBox1.Items.OfType(Of String))
  12.        For Each Digito As String In ClearList
  13.            If CInt(Digito.Substring(3, 1)) = CInt(Digito.Substring(0, 1)) + 1 And
  14.                 CInt(Digito.Substring(6, 1)) = CInt(Digito.Substring(3, 1)) + 1 Then
  15.                ListBox1.Items.Remove(Digito)
  16.            End If
  17.        Next
148  Programación / .NET (C#, VB.NET, ASP) / Re: Seguimos con registros en listbox :) en: 29 Marzo 2016, 03:04 am
Amos a ver  ::)

Esa es la razón de que me haya molestado en explicar esto:

Código:
Simplemente hace una comparación de dígitos línea por línea:

Linea -->  a b c

si b= a+1 y c = b+1 entonces borra la línea

A la hora de usar  Substring, hay que tener en cuenta el lugar de los dígitos:

0]A[1]espacio[2]B[3]espacio[4]C
 
A está en la posición 0 --> (0, 1)
B está en la posición 2 --> (2, 1)
C está en la posición 4 --> (4, 1)


Si tu lo tienes puesto en el ListBox así ("1 ,2 ,3")

La posición de los dígitos cambia. Como yo no soy adivino y no se como lo tienes pues te he puesto el ejemplo en base a como lo has mostrado tu;

Código:
1 2 3 *********correlativos
1 4 5
1 3 4
1 3 5
2 3 4*********correlativo
4 5 6 ********correlativo
6 7 8 ********correlativo

¿Verdad que no lo has puesto así? 1 ,4 ,5. Pues eso.

Si copias mi código tal cual en un nuevo form y con un único listbox y lo pones en el evento load te funciona.  Lo que pasa es que como he dicho tu lo dentrás así con las comas.

Código:
1 ,2 ,3




A ver así  ::)

Código
  1.        ListBox1.Items.Add("1, 2, 3")
  2.        ListBox1.Items.Add("1, 4, 5")
  3.        ListBox1.Items.Add("1, 3, 4")
  4.        ListBox1.Items.Add("1, 3, 5")
  5.        ListBox1.Items.Add("2, 3, 4")
  6.        ListBox1.Items.Add("4, 5, 6")
  7.        ListBox1.Items.Add("6, 7, 8")
  8.  
  9.        '//Elimina combinaciones correlativas
  10.        Dim ClearList As New List(Of String)
  11.        ClearList.AddRange(ListBox1.Items.OfType(Of String))
  12.        For Each Digito As String In ClearList
  13.            If CDbl(Digito.Substring(3, 1)) = CDbl(Digito.Substring(0, 1)) + 1 And
  14.                 CDbl(Digito.Substring(6, 1)) = CDbl(Digito.Substring(3, 1)) + 1 Then
  15.                ListBox1.Items.Remove(Digito)
  16.            End If
  17.        Next



0]A[1]espacio[2],[3]B[4]espacio[5],[6]C
 
A está en la posición 0 --> (0, 1)
B está en la posición 3 --> (3, 1)
C está en la posición 6 --> (6, 1)

Lo explicaré mejor:

Donde Dígito es una cadena tal como A ,B ,C

Digito.Substring(6, 1) devuelve UN  carácter que se encuentra en la posición SEIS empezando desde la izquierda. O sea que si mueves el cursor 6 veces se pondrá justo delante de C en este caso [A ,B ,C] y devuelve justo ese carácter.

S2s


A ver que me he hecho un lío con las comas XD, pero funcionaba igual jeje

Código
  1.        ListBox1.Items.Add("1 ,2 ,3")
  2.        ListBox1.Items.Add("1 ,4 ,5")
  3.        ListBox1.Items.Add("1 ,3 ,4")
  4.        ListBox1.Items.Add("1 ,3 ,5")
  5.        ListBox1.Items.Add("2 ,3 ,4")
  6.        ListBox1.Items.Add("4 ,5 ,6")
  7.        ListBox1.Items.Add("6 ,7 ,8")
  8.  
  9.        '//Elimina combinaciones correlativas
  10.        Dim ClearList As New List(Of String)
  11.        ClearList.AddRange(ListBox1.Items.OfType(Of String))
  12.        For Each Digito As String In ClearList
  13.            If CDbl(Digito.Substring(3, 1)) = CDbl(Digito.Substring(0, 1)) + 1 And
  14.                 CDbl(Digito.Substring(6, 1)) = CDbl(Digito.Substring(3, 1)) + 1 Then
  15.                ListBox1.Items.Remove(Digito)
  16.            End If
  17.        Next
149  Foros Generales / Foro Libre / Re: ¿Semana Santa en la España "aconfesional"? en: 29 Marzo 2016, 02:34 am
Los festivos son los que mas dinero dan.


Ya estamos, con el dinero se justifica todo.


Sin duda queda mucho que hacer con eso de "aconfesional" (seguir pagando las visitas del papa por ejemplo...)

De acuerdo

pero hay que recordar que España fue y sigue siendo en su mayoría católica y que la gente tiene tradiciones.

Habría que preguntarse quienes, quien o qué es el artífice de dichas tradiciones. Si comenzamos a tirar de la cuerda al otro extremo yo creo que encontraríamos a la presencia, la constancia, la perseverancia y la imposición de la Iglesia Católica, en el pasado y ahora, me parece a mí.

En fin, yo creo que el Artículo 16 y la foto que he puesto de ejemplo, hablan por sí solos y no hace falta más.

Lo del tema económico, la tradición, etc. son justificaciones que alguien a mencionado y que yo he tratado de rebatir pero que no vienen al caso.  El comentario inicial creo que ha quedad bien claro. Todo lo demás son justificaciones y si no, lo dicho, quiten la etiqueta de aconfesional. En cualquier caso es semi-aconfesional.

Si vamos al tema económico, en mi opinión, las personas que se declarasen creyentes de una u otra religión deberían pagar un impuesto. Y con eso se pagan  las fiestas y las celebraciones.  Entonces veríamos si hay mayoría católica  :xD.

Tengo que recordar "y las demás confesiones." y en palabras de Orubatusu - "El estado debe de ir acorde con la sociedad..."·-. Pues sería interesante que todas esas personas que vivan en España, sea de la religión que sean, excepto la católica (que bastantes fiestas tienen) que demanden al Estado español días festivos, pero para toda España.

Entonces los católicos y cristianos dirán, ¿Pero porqué tengo yo que hacer fiesta si este día a mi ni me viene ni me va?¿Porqué me tengo que esperar hasta mañana o pasado mañana para ir al Banco para abrir una cuenta? ¿Porque...? Pero conociendo el patio, seguro que la gente encantada, porque en España por un día de fiesta se apuntan a un bombardeo.

Menos fiestas y más trabajar.

S2s








150  Programación / .NET (C#, VB.NET, ASP) / Re: Barra de progreso no termina en: 28 Marzo 2016, 23:40 pm
Acabo de probar tu ejemplo y el mensaje se muestra cuando la barra llega al final...

La propiedad maximum es la por default (100).

Es raro...

Gracias por probarlo. Pues si que es raro. Ejecutaré la aplicación en otra compu, haber que pasa.



Ya lo he probado.

Lo he ejecutado en XP dentro de VirtualBox y funciona bien.

Luego he cambiado el tema de windows a Windows Clásico y entonces si que termina.

Sólo ocurre cuando se ve así:


Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 [15] 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 ... 32
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines