Avatar
Daniel Vítek
Tým ITnetwork
Avatar
Daniel Vítek:

takže...mám

public void zapisText(string zadavanyText)
        {
            if (zadavanyText != "")
            {
                using (StreamWriter sw = new StreamWriter(@"emaily.txt"))
                {
                    sw.WriteLine(zadavanyText);
                    zadavanyEmail.Text = "";
                }
            }
            else
            {
                MessageBox.Show("Není zadán žádný text !", "Chyba", MessageBoxButtons.OK, MessageBoxIcon.Stop);
            }
        }

        private void pridej_button_Click(object sender, EventArgs e)
        {
            if (zapisText(zadavanyEmail.Text))
            {
                MessageBox.Show("Zapsáno !");
            }

        }

A error
Error 1 Cannot implicitly convert type 'void' to 'bool' D:\projekty-programy\---------------\-----------\Form1.cs 38 17 SeznamEmailu

 
Odpovědět 24.9.2012 20:18
Avatar
Daniel Vítek
Tým ITnetwork
Avatar
Odpovídá na Daniel Vítek
Daniel Vítek:

červené je
zapisText(zada­vanyEmail.Text

 
Nahoru Odpovědět 24.9.2012 20:19
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Daniel Vítek
David Čápka:

Jo už to vidím, zapisText ti nic nevrací a potom se ptáš na návratovou hodnotu té metody v podmínce.

Nahoru Odpovědět 24.9.2012 20:24
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Daniel Vítek
Tým ITnetwork
Avatar
Avatar
Daniel Vítek
Tým ITnetwork
Avatar
Odpovídá na David Čápka
Daniel Vítek:

Já chci udělat jako jestli se to zapíše tak ať to vyhodí MessageBox pak tam ještě přidat else a messageBox s errorem

 
Nahoru Odpovědět 24.9.2012 20:26
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Daniel Vítek
David Čápka:

Úpřímně smazat a napsat znovu, protože to nedává smysl. Máš logiku a prezentaci spojenou dohromady, to je prasekód. Navíc nejsou ošetřené výjimky. Ale to by bylo asi na dýl. Měl by ses podívat do tutoriálů, jak se toto řeší.

Abys opravil tu chybu, musí ta metoda něco vracet, pokud chceš jen dál bastlit, změň nahoře void na bool a pomocí return vracej true když se to povede a false když ne. Ale je to špatně.

Nahoru Odpovědět 24.9.2012 20:29
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
matesax
Redaktor
Avatar
Odpovídá na Daniel Vítek
matesax:
try
{
    using (var sw = new StreamWriter("emaily.txt"))
    {
        sw.Write(zadavanyText);
        zadavanyEmail.Text = "";
    }
}
catch (IOException ex)
{
    MessageBox.Show(ex.Message, "Error");
}
Editováno 24.9.2012 20:52
 
Nahoru Odpovědět 24.9.2012 20:50
Avatar
matesax
Redaktor
Avatar
Odpovídá na matesax
matesax:
try
{
    using (var sw = new StreamWriter("emaily.txt"))
        sw.Write(zadavanyText);
}
catch (IOException ex)
{
    MessageBox.Show(ex.Message, "Error");
}
finally
{
    zadavanyEmail.Text = "";
}

Pardon...

Editováno 24.9.2012 20:58
 
Nahoru Odpovědět 24.9.2012 20:57
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na matesax
David Čápka:

Ten MessageBox a načítání by vůbec nemělo být v 1 třídě. Měl bys logiku oddělit do samostatné třídy a ve formu mít jen něco jako:

try
{
   emailManager.Nacti();
}
catch
{
   MessageBox.Show("Nepodařilo se načíst emaily.");
}
Nahoru Odpovědět  +1 24.9.2012 21:09
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Daniel Vítek
Tým ITnetwork
Avatar
Odpovídá na David Čápka
Daniel Vítek:

nechci načítat chci jen vkládát ;)

 
Nahoru Odpovědět 25.9.2012 19:01
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Daniel Vítek
David Čápka:

To je jedno, všechna logika má být ve třídách, ne v obsluze formuláře.

Nahoru Odpovědět 25.9.2012 19:35
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 11 zpráv z 11.