Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

hi,

habe eine combobox, deren inhalte per button event in eine Textbox übertragen werden. Jedoch soll für jedes einzelne item eine For each schleife laufen, da jeder eintrag individuell sein soll.

Jemand ne idee?

Ich hab es versucht mit combobox1.items.contains ("")

Da jeder der einträge ein bestimmtes Zeichen beinhaltet das jedoch jeder hat.

Jedoch wird das so mit der For each Schleife nicht funktionieren.

mfg

Geschrieben

Jedoch soll für jedes einzelne item eine For each schleife laufen, da jeder eintrag individuell sein soll.

Verstehe ich nicht. Willst du Zeichen für Zeichen kopieren? Was meinst du mit "individuell"?

Gib doch mal ein Beispiel, was in der Combobox steht, und was in der Textbox stehen soll.

Geschrieben (bearbeitet)

Bei dem inhalt der Combobox handelt es sich um E-mail Adressen die aus dem vorhergehenden form aus einem Datagridview per selektierung hinzugefügt wurden. Nur habe ich es damals so gemacht das ich alle sleketierten e-mails genommen habe und diese nur mit einem komma getrennt der Textbox die als Empfänger dient hinzugefügt habe. Das hat den großen Nachteil, das alle, dennen ich eine E-mail schicke auch sehen können wer noch eine bekommen hat. Nun wollte ich es ändern und wollte, da ja bekanntlich jede E-mail Adresse ein @ Zeichen beinhaltet, contains benutzen, um alle relevanten Einträge der Combobox getrennt eine E-Mail zukommen lassen. Dies wollte ich dann mit einer For Each schleife realisieren, was grad nicht so klappt :-(

Bearbeitet von Gateway_man
Geschrieben
Das hat den großen Nachteil, das alle, dennen ich eine E-mail schicke auch sehen können wer noch eine bekommen hat.
Dann schreib die Empfänger doch einfach ins BCC-Feld.

Nun wollte ich es ändern und wollte, da ja bekanntlich jede E-mail Adresse ein @ Zeichen beinhaltet, contains benutzen, um alle relevanten Einträge der Combobox getrennt eine E-Mail zukommen lassen.
Wenn sowieso nur E-Mail-Adressen drin stehen, bringt dir doch eine Prüfung auf @ rein gar nichts. Der springende Punkt ist, dass du die Adressen einzeln übertragen musst, um dann dazwischen etwas anderes zu tun (nämlich die Mail zu versenden).

Da ist es ziemlich egal, welche Art von Schleife du benutzt. Entscheidend ist, was im Schleifenrumpf passiert.

Geschrieben

Es würde wie folgt aussehn:



For each  (eben hier liegt mein problem da ich nicht weiß wie ich das mit der combobox anstellen soll, das er mir jeden index durchloopt und den jeweiligen value übernimmt)


---------------------------------------------------------------------

'Der Rest ist mir durchaus bekannt


 Dim mail As New Net.Mail.MailMessage()

            mail.From = New Net.Mail.MailAddress("Absender")

            mail.To.Add(TextBox2.Text)

            mail.Subject = TextBox1.Text

            mail.Body = RichTextBox1.Text

            mail.IsBodyHtml = True

            If low.Checked = True Then

                mail.Priority = Net.Mail.MailPriority.Low

            ElseIf Normal.Checked = True Then

                mail.Priority = Net.Mail.MailPriority.Normal

            ElseIf High.Checked = True Then

                mail.Priority = Net.Mail.MailPriority.High

            End If

            Try

                mail.Attachments.Add(New Net.Mail.Attachment(TextBox3.Text))

            Catch

            End Try

            Dim smtp As New Net.Mail.SmtpClient("SMTP Adresse")

            smtp.Credentials = New System.Net.NetworkCredential("Username", "PW")

            smtp.Send(mail)

            mail.Dispose()

            smtp = Nothing

Next


            MessageBox.Show("Mails sind versendet", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information)


Geschrieben (bearbeitet)

Möglichkeit 1 von Klotzkopp bereits vorgeschlagen BCC nutzen:

mail.to.add("absender")

mail.bcc.add(TextBox2.Text)

2 Möglichkeit Schleife durch Combo Box nutzen:
  

For Each item As String In ComboBox1.Items

            MsgBox(item)

'deine mail routine

        Next

Bearbeitet von DominikJ
Da war er wieder schneller :D
Geschrieben (bearbeitet)

habt dank ihr beide ;)

hier nochmal der vollständige funktionierende code:

(Die prioritäten hab ich mal raus da es damit noch einige probleme gibt)


For Each item As String In ComboBox1.Items

            TextBox2.Text = item

            Dim mail As New Net.Mail.MailMessage()

            mail.From = New Net.Mail.MailAddress("ABSENDER")

            mail.To.Add(TextBox2.Text)

            mail.Subject = TextBox1.Text

            mail.Body = RichTextBox1.Text

            mail.IsBodyHtml = True

            'If low.Checked = True Then

            '    mail.Priority = Net.Mail.MailPriority.Low

            'ElseIf Normal.Checked = True Then

            '    mail.Priority = Net.Mail.MailPriority.Normal

            'ElseIf High.Checked = True Then

            '    mail.Priority = Net.Mail.MailPriority.High

            'End If

            Try

                mail.Attachments.Add(New Net.Mail.Attachment(TextBox3.Text))

            Catch

            End Try

            Dim smtp As New Net.Mail.SmtpClient("mail.gmx.net")

            smtp.Credentials = New System.Net.NetworkCredential("USER", "PASSWORD")

            smtp.Send(mail)

            mail.Dispose()

            smtp = Nothing

        Next

        MessageBox.Show("Mails sind versendet", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information)

Bearbeitet von Klotzkopp
Persönliche Daten und Zugangsdaten entfernt
Geschrieben
sind doch draußen ?!?!?!
Wenn du dir die Zeiten genau ansiehst, stellst du fest, dass ich deine Mail-Zugangsdaten und die dazugehörige Mailadresse entfernt habe, nachdem DominikJ so nett war, darauf hinzuweisen. Hätte er das nicht getan, würden die vermutlich jetzt noch da stehen.

Statt alternierender Satzzeichen wäre hier vielleicht ein "Danke" angebracht.

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...