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

#8321
...Ikillnukes, el código que puse es 100% funcional, de echo es fácil de entender y se puede apreciar a simple vista que no puede haber error alguno en las condiciones que usé.

Lo que te sucede de que la barra llega a la mitad y no sube, pero ves como vuelve a empezar el Filling ...pues la razón es muy simple, lo que sucede es que al no usar otro hilo para rellenar la barra, todas las instrucciones se hacen en el mismo hilo y la barra de progreso no da a basto a la hora de rellenarse, pintarse, y refrescarse, debes refrescar manuálmente el control para mostrar los cambios con un "progressbar1.refresh" o un "invalidate" después de modificar el valor de la barra...en cada ocasión.

...en resumen, tu crees que no se llena la barra, pero en realidad se llena, sólo que no se muestra rellenada, eso pasa siempre con las progressbar sin hilo (aunque en el code que te puse a mi no me pasa, así que quizás también influya la velocidad del PC).

Ya te dije que para usar barras de progresos tienes que introducirte en el tema del multi hilo (multi-threading), busca ejemplos de progressbars con threads o con backgroundworkers en Google, porque hay miles.

Una barra de progreso sin un thread es una chapuza muy grande, ya que ralentiza globálmente el Form, y bastante.

Un saludo
#8322
Lo que si puedes hacer es crear una plantilla, escribiendo los métodos de los eventhandlers pero sin instrucciones dentro (o como quieras escribirlos...), y usar el documento como un WinForm por defecto...

El documento lo tienes aquí:
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\ProjectTemplates\VisualBasic\Windows\1033\WindowsApplication\Form1.vb
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\ProjectTemplatesCache\VisualBasic\Windows\1033\WindowsApplication\Form1.vb

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

#Region " Form "

       ' Load
       Private Sub Form1_Load_1(sender As Object, e As EventArgs) Handles MyBase.Load
           ' Put some code here...
       End Sub

       ' Shown
       Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Shown
           ' Put some code here...
       End Sub

       ' Closing
       Private Sub Form1_FormClosing(sender As Object, e As FormClosingEventArgs) Handles MyBase.FormClosing
           ' Put some code here...
       End Sub

#End Region

#Region " Buttons "

       ' Button 1 [CLICK]
        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
           ' Put some code here...
        End Sub

       ' Button 2 [CLICK]
       ' Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
           ' Put some code here...
       ' End Sub

#End Region

#Region " Miscellaneous Methods "

       Private Sub Procedure1()
           ' Put some code here...
       End Sub

       Private Function Function1(ByVal Something As Object) As Object
           ' Put some code here...
           Return Something
       End Function

#End Region

End Class


Y así, al agregar un nuevo botón y darle click al botón... no tendrá que generar nuevo código en el documento, te "redirigirá" diréctamente a la #region...

Saludos...
#8323
Cita de: Ikillnukes en  1 Agosto 2013, 15:51 PM
Estoy intentando entender

Pues te lo explico de forma sencilla:

La barra de progreso tiene un rango, ese rango se utiliza para medir el progreso (llenar la barra), no puedes aumentar el valor infinítamente porque sinó la barra de progreso no sabría cuando se debe rellenar por completo... es obvio.

El rango por defecto es de 0-100, NUNCA puedes sobrepasar ese rango (por eso te salta error), pero si que puedes modificar el rango, por ejemplo de 0 a 10, o de 5 a 50, eso depende de tus necesidades (Leete las propiedades del control para ver la propiedad que debes modificar...).

Esto sería la solución a lo que intentas hacer:

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

   Dim WithEvents Timer1 As New Timer With {.Interval = 10, .Enabled = True}

   Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
       InfiniteProgressBar(ProgressBar1)
   End Sub

   Private Sub InfiniteProgressBar(ByVal ProgressBar As ProgressBar, _
                                   Optional value As Int32 = 1)

       Select Case ProgressBar.Value

           Case Is < ProgressBar.Maximum
               ProgressBar.Value += value
           Case Is >= ProgressBar.Maximum ' Si el valor es igual o mayor que el valor máximo del rango...
               ProgressBar.Value = ProgressBar.Minimum ' Seteamos el valor mínimo (0) a la barra de progreso...

       End Select

   End Sub

End Class
#8324
Cita de: Ikillnukes en  1 Agosto 2013, 15:58 PMEs posible que el procedimiento se escriba dentro de un #Region, o es prácticamente imposible?

No se entiende lo que quieres hacer, podrías dar ejemplos, etc...

EDITO: El nuevo código generado siempre se añade al final del documento, no puedes emplazarlo por defecto en una (#)región distinta del documento...

La única solución sería crear una extensión de VisualStudio de auto-inserción para poder seleccionar una #Region donde se auto-insertaría todo el nuevo código generado por la IDE en dicha sección del documento, hasta que desactivases la opción de auto-inserción...de nuestra extensión imaginaria.

saludos
#8325
¿Alguien me puede explicar a que se debe este error?:

No es posible crear una nueva página de seguridad para la pila

Esto sucede al dejar una aplicación corriendo (en Standby digamos) durante 2 horas más o menos.

Es muy dificil buscar información sobre el problema cuando el mensaje de error está en castellano, ya que si pongo el mensaje de error en Google la única información relacionada que aparece en los resultados es esto -> Wikipedia: Pila de llamadas <-

...Después de habermelo leido, me he quedado con esta parte:
Citar
...Usualmente hay exactamente una pila de llamadas asociado a un programa en ejecución (o más precisamente, con cada tarea o hilo de un proceso)...
...Si el empujar (push) consume todo el espacio asignado para la pila de llamadas, ocurre un error llamado desbordamiento de pila...

...No entiendo muy bien las explicaciones, pero yo no uso multi-threading en mi aplicación, y todas las funciones que devuelven un valor pues...eso, lo devuelven,
y me parece que todo lo que apilo luego lo desapilo, aunque no entiendo ni se que tipo de datos son los que se apilan en una aplicación y cuales son los que puede que no se estén desapilando bien y como detectarlos.

¿Que debo examinar en mi código para intentar averiguar que puede ser el causante de este error?.

EDITO: Creo que la traducción de mi problema al inglés sería -> Stack overflow <-

EDITO 2: Las recursiones que hago en las subrutinas que uso siempre devuelven un valor es decir que su ejecución termina corréctamente (o eso creo), así que entonces esto no puede estar causando el error, ¿verdad?

Si yo tengo esto, el desapilamiento (poping) de los datos es correcto, ¿no?:

Código (vbnet) [Seleccionar]
sub loquesea(sender as object) handles algún evento cualquiera
    sender.propiedad = uno(32)
end sub

function uno(valor as int32)
   return dos(valor)
end sub

function dos(valor as int32)
   ' hacer cosas...
   return valor modificado
end function


...Es que entonces no entiendo que tipo de recursiones son las que no estoy desapilando, si en todas las subrutinas que llamo a otras subrutinas devuelvo un valor para terminar su ejecución.

EDITO 3: Me asalta la duda de cual es el tamaño máximo del Stack (la pila), y si puedo agrandar ese tamaño (mientras busco una solución decente, claro).

EDITO 4: Y también tengo la duda de si existe alguna forma para detectar recursividades conflictivas en un código, porque si tengo que modificar código y luego mantener la aplicación durante 2 horas cada vez para ver si se ha arreglado o no... vaya tela!, y además el analizador de código del VS no me indica ninguna sugerencia que corregir.
#8326
Vamos a ver, antes de nada... la gente que siempre habla de Windows 8 diciendo cosas como: "trae un montón de cosas innecesarias", etc, vale, yo también estoy deacuerdo, pero es que nadie está obligado a usar esas cosas inútiles de Windows, SIEMPRE se puede modificar el sistema operativo a gusto de cada persona, así que las quejas que leo son más bien de flojera por no querer customizar Windows de la misma manera que customizarian un mvl nuevo para quitarle cosas innecesarias o ponerle otras,  o por no saber como modificar Windows a las necesidades de cada usuario

Sinceramente es que parece que todo el mundo quiera que le hagan un Windows especial a su medida como si fuese un traje, pero no, es un sistema operativo "globalizado", y la demanda está en eso ...en las redes sociales, todos lo sabemos, si quieres que el SO se adapte a ti, pues customízalo.

Cita de: Belial & Grimoire en 31 Julio 2013, 05:30 AMmi unico odio hacia windows 8 simplemente es que ya tiene muchas cosas innecesarias para mi, con esto de las redes sociales

Te doy la razón en eso, pero por si no lo sabes toda la "mierd*" de Windows 8 se puede "capar" para tener un sistema operativo similar a Windows 7 (casi idéntico en la interface pero con las mejoras de Windows 8), como programador que eres te gustan los retos y no estaría mal que te propusieses un pequeño reto para "arreglar" los desastres de windows 8, yo lo hice, con aplicaciones de terceros dedicadas a ello, y otras cosas que hice aparte por mi cuenta.

Cita de: Belial & Grimoire en 31 Julio 2013, 05:30 AMmuchas cosas para visualizar fotos
Eso ya me parece muy exagerado, Windows sólo trae una única aplicación para visualizar imágenes, "photoviewer", y luego el típico editor de imágenes, "mspaint".
PD: Características de Windows que porsupuesto puedes deshabilitar si no te gustan.

Cita de: Belial & Grimoire en 31 Julio 2013, 05:30 AMya si no vamos a algo mas profundo, ya descubrieron una buena tecnica de ventas, sacan un sistema operativo que funciona mal, para despues vender uno que sirva bien, ejemplo

Yo también tengo odio a Microsoft en muchas ocasiones, pero sincéramente no creo que despilfarrar millones en ventas para adquirir malas quejas como la que tu acabas de comentar ahora mismo dudo que eso séa una táctica de ventas para Microsoft o para cualquier otra empresa... no hay que ser tan mal pensados, símplemente son un poco estúpidos y sacan algo malo para luego darse cuenta de que debieron hacerlo mejor...

...Como ha pasado con Windows 8.1  (Sería lo relativo a lo que tu llamas Windows 9)


Espero que no te moleste sólo queria comentar esos aspectos tuyos como podría haber comentado algunos que he leido más arriba de otras personas, pero ...no quería alargar demasiado mi opinión.


Un saludo!
#8327
Cita de: Ikillnukes en 31 Julio 2013, 16:02 PMPD: Sigues sin opinar el Source que he encontrado.. :(

¿Porque me toca siempre a mi opinar todos los snippets q posteas? xD

Si fuese un snippet tuyo opinaria, o en caso de que tuviese errores o se pudiese mejorar pues comentaria todos esos aspectos...

...¿pero que leches quieres q diga de ese snippet? xD, pues me parece un snippet muy ...peculiar, vaya ...que no le encuentro utilidad alguna :xD, pero bueno seguro que alguna utilidad se le podrá dar, aunque sea por pura curiosidad de saber cuantos "kilometros" recorremos a diario...

Saludos.
#8328
Cita de: Ikillnukes en 31 Julio 2013, 15:08 PMMientras tu te molestabas en buscar el topic yo me estaba reiterando en lo que he dicho, pido perdón...

Cita de: Ikillnukes en  5 Julio 2013, 14:12 PM

Pincha donde dice "Cita de: Ikillnukes" y verás lo que ocurre... ;)

Saludos.






Un administrador de Snippets:

http://forum.mphca.net/showthread.php?150809-Release-Vb-net-Code-Snippet-Manager



PD: NO LO HE TESTEADO
#8329
Cita de: Ikillnukes en 31 Julio 2013, 13:11 PMyo en mi vida, he tomado a nadie por Noob en el tema de la programación

Ahá...

Cita de: Ikillnukes en  5 Julio 2013, 14:12 PMxD Que bueno es saber CSS y HTML y un poco de PHP. Es la ostia los noobs que son algunos.

Cita de: Novlucker en  5 Julio 2013, 15:06 PM[Offtopic] No subestimar a los demás, alguien podría estar pensando lo mismo sobre ti en .NET :silbar:

PD: La otra cita es para que recuerdes el buen consejo de Novlucker.

Si quieres aceptar mi consejo hazlo, sino pues no lo hagas, pero ya te he dicho lo que pienso y tu también lo acabas de hacer, ya no es necesario que sigamos haciendo más offtopics.

Saludos
#8330
Me parece indignante leer comentarios de tus codes como "esto no tengo ni p**a idea de para q sirve", etc...

En el code de VB un fallo muy grave:
Código (vbnet) [Seleccionar]
r.Next(0, 35) 'Esto no se muy bien que hace xD

Claro, que como de costumbre no te has molestado en buscar que coño significa, pus asi vas.

Significa que el número se va a generar desde el 0 hasta el 35, pero tu cadena de caracteres tiene una longitud de 62 caracteres...con lo cual no es nada aleatorio, ya que sólo escojerá entre los primeros 35 digitos...

En cambio en el code de PHP es correcto porque priméramente se obtiene la longitud de la cadena (variable $size) para usarlo como margen total del número random, cosa que no haces en VB y no sabes ni para que sirve pero en PHP si que lo haces así que debemos suponer que en PHP si que sabes para que sirve cuando ex exáctamente lo mismo?...

Código (php) [Seleccionar]
rand(0, $size - 1)

...Así que doy por supuesto que usas copy/paste para todos los lenguajes sin enterarte de nada de lo que haces, es algo que se nota a simple vista, y me parece muy mal Ikillnukes, y como he dicho, indignante, para serte aún más sincero no me extraña que algunas personas se enfaden cuando presumes de saber un lenguaje, no eres quien para llamar noobs a los que no saben PHP, porque viendo esto... tu no eres más, intenta ser un poco más humilde.

PD: A cualquiera que se haga llamar programador le molestaría darse cuenta de las cosas que me doy cuenta yo día a día contigo. Sabes o espero que sepas que no te tengo mania, pero yo estas cosas no las tolero.

Aparte de eso, no estás definiendo el tipo de valor que devuelves en la función, pero bueno, eso es una minucia comparado con lo que verdaderamente importa.

En fin, aquí tienes mi versión con dicho error corregido, ale, a copiar se ha dicho... :

Código (vbnet) [Seleccionar]
   Private Function Random_String(ByVal Length As Int32, _
                                  Optional ByVal Characters As String = _
                                  "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" _
                                 ) As String

       Select Case Length

           Case Is < 1 ' Is 0 or negative
               Throw New Exception("Length must be greater than 0")

           Case Else ' Is greater than 0

               Dim str As String = String.Empty
               Dim rand As New Random, rand_length As Int32 = Characters.Length

               Do Until str.Length = Length
                   str &= Characters.Substring(rand.Next(0, rand_length), 1)
               Loop

               Return str

       End Select

   End Function


PD2: Quizás sea beneficioso crear un método parecido pero usando LINQ para procesar más rápido cadenas extremádamente largas.