Benutzer mit den meisten Antworten
Frage zum Timer

Frage
-
Hallo. Ich hab eine Frage, was den Timer in VB 08 angeht...
Und zwar hab ich mir eine kleine Anwendung gebastelt, mit der ich an eine vorgegebene email adresse mails versenden kann... hab da dann meine eingestellt, um damit zu experimentieren, damit keiner zu schaden kommt (außer mir)
und das problem ist folgendes:
wie kann ich den timer so programmieren, dass er diesen sende-prozess z.b. alle 120 sekunden wiederholt...? ich weiß nur, dass ich 2 buttons brauche - start und stop button. wäre nett, wenn einer von euch dafür einen code hätte, weil das mein erstes mal ist, wo ich mit nem timer arbeite...
wollte aus dem timer eigentlich einen shutdown-countdown machen, der dann ein zeitlimit anzeigt, bis mein pc runterfährt... aber ich frag mich, ob und wie das auch mit anderen prozessen, wie z.b. dateien kopieren/verschieben, nachrichten verschicken, fertigen tastatureingaben oder dem wiederholten öffnen einer datei hinhaut
Montag, 27. Oktober 2008 11:52
Antworten
-
Der Timer bietet ein Event namens 'Tick'. Dieses wird, nachdem der Timer mit Start() gestartet wurde, in einem festgelegten Intervall ausgelöst. Die Intervalldauer wird über die Eigenschaft 'Interval' festgelegt.
Doppelklicke einfach im Designer auf das Timer- Control, und Visual Studio erstellt dir automatisch einen Eventhandler zum Tick- Ereigniss. In diesen musst du dann deinen Code, etwa zum versenden von Mails, einfügen.
- Als Antwort markiert Thorsten Dörfler Dienstag, 13. Juli 2010 09:50
Montag, 27. Oktober 2008 17:11 -
Nur um das hier sauber zu schließen und nicht weitere "Wiederbelebungsversuche" zu provozieren:
Es fehlt schlicht die Anweisung:
Dim MyMailMessage As New MailMessage()
innerhalb des Timer.Tick Ereignisses. Vollständiges Beispiel fürs Archiv:Imports System.Net.Mail Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs _ ) Handles Button1.Click Timer1.Interval = 120000 Timer1.Enabled = True End Sub Private Sub Button2_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs _ ) Handles Button2.Click Timer1.Enabled = False End Sub Private Sub Timer1_Tick(ByVal sender As System.Object, _ ByVal e As System.EventArgs _ ) Handles Timer1.Tick Dim MyMailMessage As New MailMessage() MyMailMessage.From = New MailAddress("sender@example.org") MyMailMessage.To.Add("user@example.org") MyMailMessage.Subject = TextBox1.Text MyMailMessage.Body = TextBox2.Text Dim SMTP As New SmtpClient("smtp.example.org") SMTP.Port = 587 SMTP.EnableSsl = True SMTP.Credentials = New System.Net.NetworkCredential("account", "password") SMTP.Send(MyMailMessage) TextBox2.Text = "" End Sub End Class
Thorsten Dörfler
Microsoft MVP Visual Basic
vb-faq.de- Als Antwort markiert Thorsten Dörfler Dienstag, 13. Juli 2010 09:50
Dienstag, 13. Juli 2010 09:49
Alle Antworten
-
Der Timer bietet ein Event namens 'Tick'. Dieses wird, nachdem der Timer mit Start() gestartet wurde, in einem festgelegten Intervall ausgelöst. Die Intervalldauer wird über die Eigenschaft 'Interval' festgelegt.
Doppelklicke einfach im Designer auf das Timer- Control, und Visual Studio erstellt dir automatisch einen Eventhandler zum Tick- Ereigniss. In diesen musst du dann deinen Code, etwa zum versenden von Mails, einfügen.
- Als Antwort markiert Thorsten Dörfler Dienstag, 13. Juli 2010 09:50
Montag, 27. Oktober 2008 17:11 -
soweit war ich auch schon, mit dem einfügen...
aber das problem ist dieses:
der startet das debugging nicht, weil der mymailmessage und mailaddress nicht deklarieren konnte... ich weiß nur, wie ich diese sende-funktion so einbaue, dass die anwendung durch klick auf einen button dann den befehl einmal ausführt... aber leider nicht, wie das letztendlich mit einem timer hinhauen soll...
hier mein code:
Imports
System.Net.MailPublic
Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.ClickTimer1.Enabled =
True End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.ClickTimer1.Enabled =
False End Sub Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.TickMyMailMessage.From =
New MailAddress("example@gmail.com") 'from-E-Mail Adress"MyMailMessage.To.Add(
"nin.jutsu@hotmail.de") 'your e-mail adress here "to-E-Mail Adress"MyMailMessage.Subject = TextBox1.Text
MyMailMessage.Body = TextBox2.Text
Dim SMTP As New SmtpClient("smtp.gmail.com")SMTP.Port = 587
SMTP.EnableSsl =
TrueSMTP.Credentials =
New System.Net.NetworkCredential("example.visualbasic2008@gmail.com", "example123") '"From E-Mail Adress Username and PasswordSMTP.Send(MyMailMessage)
TextBox2.Text =
"" End SubEnd
Classich dachte, da das ja im grunde der gleiche befehl ist und der timer so gesehen nur eine art abspiel-funktion darstellt, könnte ich einfach den code einfügen und das ganze dann starten... aber der hat leider nichts anrichten können...
Montag, 27. Oktober 2008 21:16 -
Nur um das hier sauber zu schließen und nicht weitere "Wiederbelebungsversuche" zu provozieren:
Es fehlt schlicht die Anweisung:
Dim MyMailMessage As New MailMessage()
innerhalb des Timer.Tick Ereignisses. Vollständiges Beispiel fürs Archiv:Imports System.Net.Mail Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs _ ) Handles Button1.Click Timer1.Interval = 120000 Timer1.Enabled = True End Sub Private Sub Button2_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs _ ) Handles Button2.Click Timer1.Enabled = False End Sub Private Sub Timer1_Tick(ByVal sender As System.Object, _ ByVal e As System.EventArgs _ ) Handles Timer1.Tick Dim MyMailMessage As New MailMessage() MyMailMessage.From = New MailAddress("sender@example.org") MyMailMessage.To.Add("user@example.org") MyMailMessage.Subject = TextBox1.Text MyMailMessage.Body = TextBox2.Text Dim SMTP As New SmtpClient("smtp.example.org") SMTP.Port = 587 SMTP.EnableSsl = True SMTP.Credentials = New System.Net.NetworkCredential("account", "password") SMTP.Send(MyMailMessage) TextBox2.Text = "" End Sub End Class
Thorsten Dörfler
Microsoft MVP Visual Basic
vb-faq.de- Als Antwort markiert Thorsten Dörfler Dienstag, 13. Juli 2010 09:50
Dienstag, 13. Juli 2010 09:49