Escribir en Label numeros que vayan aumentando sus cifras por codigo, Ayuda!

Iniciado por Braayhaan, 30 Agosto 2009, 14:48 PM

0 Miembros y 1 Visitante están viendo este tema.

Braayhaan

Bueno lo del titulo es que estaba pensando en ponerle a mi app de Spamming una Opcion que cuente cuantos correos va enviando en un label, la redaccion seria simple, ya que la app envia correos en un loop y en ese loop pondria el codigo del label aumentando 1 numero.

Pero ese es el detalle como hago para que un label cambie su texto?

Basicamente es esto:

Label1 'va a empezar en 0'

y despues que con cada loop que se haga vaya aumentando 1.

label1 "1"
label1 "2"
label1 "3"
label1 "4"
label1 "5"

No se si me entienden la idea?

entonces es eso que cambie su texto de 0 a 1 de 1 a 2 y haci hasta que se cierre el programa.

Gracias espero su Ayuda...!!! ;D

raul338

No se si sera esto, pero es muy simple lo que estas pidiendo....


usa un contador y lo pones al final del bucle con el que mandas mails


Código (vbnet) [Seleccionar]

Dim contador As Int32 = 0
Do while (...)
' enviar por gmail
contador += 1
Label1.Caption = contador
Loop

Braayhaan


raul338

Un contador es una variable que se usa para contar  :laugh: :laugh:

Imagina asi:

Código (vbnet) [Seleccionar]

Dim MailsMandados As Integer = 0
Do while (...)
' enviar por gmail
MailsMandados = MailsMandados + 1
Label1.Caption = MailsMandados
Loop

Braayhaan

ok yo puse el dim para cambiarle el nombre en el primer ejemplo que pusistes.

y pege el resto del codigo en el loop de mi programa, el nombre de mi label es Numeroenvio.

pero hay un detalle en el vb.net no me lee el Texto "Caption" me da error, me imagino que un equivalente a ese sera el "text" pero lo puse y me dijo error.

Haci lo puse mira
Código (vbnet) [Seleccionar]

            Do
                correo.From = New MailAddress("correo.spammer@gmail.com", "")
                envio.Credentials = New NetworkCredential("correo.spammer@gmail.com", "")
                envio.Host = "smtp.gmail.com"
                envio.Port = 587
                envio.EnableSsl = True
                envio.Send(correo)
                contador += 1
                Numeroenvio.Text = contador
            Loop


no se que fallara echame una mano porfa por cierto, este proceso completo incluyendo el loop es llamado por un Thread tendra esto algo que ver?

raul338

 ;D ;D ;D ;D disculpas.....tenia el visual basic 6 en la cabeza xD XD

jajaja...sip, era Text, pero si te da error es porque tienes Option Stric On (no te deja poner cualquier tipo en lugar de otro, en este caso, no te deja poner uan variable integer en lugar de un string que es el Text)


prueba


Numeroenvio.Text = contador.ToString()

Braayhaan

mira probe todos los ejemplos y todos me da este error:

"Operacion no valida a traves de subprocesos: Se tuvo acceso al control "Numeroenvio" desde un subproceso distinto a aquel en que lo creó"

a mi me parece que es porque esta en el Sub del proceso del Thread que es el que hace que el programa no se cuelgue.

Por cierto el label que utilize tiene de texto 0 tiene que estar vacio o no importa?

Graciass

Braayhaan

ya revise el codigo si funciona pero no desde un subproceso como el thread, en cambio lo puse en un sencillo boton y funciono Gracias Raul.

Aunque tengo que ver como lo logro ya que la unica forma de usarlo es en el thread ya que si lo pongo en el boton no tendria uso alguno puesto que el boton solo llama el proceso del Thread.

Gracias por la ayuda ya me toca echarme coco a mi  :xD

raul338

jejeje... recuerdas tu guia para uso de threads?? recuerdas lo que te conteste??

Cita de: raul338 en 29 Agosto 2009, 22:50 PM
jojojo....threads simples  ;D

aver, sigamos en el siguente nivel!!!  ::)


Escribe (o amplia) el tutorial para comunicar entre threads.... Te digo el tipico caso de error....

Tienes un thread principal que muestra un formulario
Tienes otro thread que hace algun calculo, etc

para avisa que termino el thread calculo, éste al final de su codigo "Label2.Text = 'Listo'", lo ejecutas y !BEEP!, error. Los threads no se pueden comunicar directacmente (el trhead2 no puede acceder al thread1 directamente) (Bueno en realidad si se puede poniendo en falso una propiedad general, pero solo funciona en formularios y no es muy segura que digamos)

Si necesitas ayuda contesta aca.....o MP  :P

no soy vidente, sino que te esta pasando lo mismo que a mi  :P :P

Braayhaan

jajaja que cosas no.

Lo resolvi de esta manera, puse un timer que cambiara el texto del label cada 2500 ms que es el tiempo en que envia un E-mail y ya!!! xDD

Ahora si tengo que supperrr revisar temas sobre multithreading xD ya que mi solucion fue un poco chapuzera jejejeje