private void registar_Click(object sender, EventArgs e) { //Conta os elementos do ficheiro para poder atribuir um ID sendo que esse tem de ser diferente dos existentes int cont = 0; string li; StreamReader sr = File.OpenText(contas); //abre o ficheiro contas while ((li = sr.ReadLine()) != null) { cont++; //adiciona 1 ao Id, em relacao ao ID anterior, do nova linha } sr.Close(); if (File.ReadAllText(contas) != "") { //Chama instância vazia e atribui valores a classe utilizador utilizadores user = new utilizadores(); user.perfil = cont; user.username = nome.Text; user.password = passe.Text; user.email = email.Text; string util = user.username; //opções que fazem com que o botão para registar não funcione if (nome.Text == "" || nome.Text == "Nome de utilizador..." || passe.Text == "" || passe.Text == "Palavra-passe..." || email.Text == "" || email.Text == "Email..." || confirmar.Text == "" || confirmar.Text == " Confirmar Palavra-passe...") { MessageBox.Show("Os requesitos para criar uma conta não se encontram todos corretos!", "Erro na criação de conta", MessageBoxButtons.OK, MessageBoxIcon.Error); //mensagem de erro } else if (!email.Text.Contains("@esmad.ipp.pt")) { MessageBox.Show("O seu email tem que ser do formato '@esmad.ipp.pt'!", "Erro ao Criar Conta", MessageBoxButtons.OK, MessageBoxIcon.Error); //mensagem de erro! } //se o texto da textbox passe for diferente do texto da textbox confirmar, dá mensagem de erro! else if (passe.Text != confirmar.Text) { MessageBox.Show("As Palavras passe não coincidem!", "Erro ao Criar Conta", MessageBoxButtons.OK, MessageBoxIcon.Error); //mensagem de erro! } else //caso os campos estejam completados { if (valido(util) == true)//Caso de o user ser inexistente { if (passe.Text == confirmar.Text)//Caso houver confirmação do password { //Faz a extruturação para adicionar no ficheiro string linha = ((user.perfil.ToString()) + ";" + user.username + ";" + user.email + ";" + user.password + ";" + 2); //Adiciona no ficheiro contas.txt StreamWriter sw; sw = File.AppendText(contas); sw.WriteLine(linha); sw.Close(); int i = 0; string[] linha1 = File.ReadAllLines(contas); int c = 0; for (i = 0; i < linha1.Length; i++) { if (linha1[i].Split(';')[1] == nome.Text && linha1[i].Split(';')[3] == passe.Text) { variaveis.id = Convert.ToInt16(linha1[i].Split(';')[4]); variaveis.nomeut = nome.Text; Form2 form2 = new Form2(); form2.Show(); //abre o form "sessao iniciada" quando se carrega no botom "log in" this.Hide(); //esconde os outros forms c++; } } } else //Caso não haja confirmacao do password { MessageBox.Show("Os passwords são diferentes", "Password", MessageBoxButtons.OK, MessageBoxIcon.Error); //mensagem de erro } } else { MessageBox.Show("Username já existe!", "Username existente!", MessageBoxButtons.OK, MessageBoxIcon.Error); //mensagem de erro } } } else { //Chama instância vazia e atribui valores a classe utilizador utilizadores user = new utilizadores(); user.perfil = cont; user.username = nome.Text; user.password = passe.Text; user.email = email.Text; string util = user.username; if (nome.Text == "" || nome.Text == "Nome de utilizador..." || passe.Text == "" || passe.Text == "Palavra-passe..." || email.Text == "" || email.Text == "Email..." || confirmar.Text == "" || confirmar.Text == " Confirmar Palavra-passe...") //opções que fazem com que o botão para registar não funcione { MessageBox.Show("Os requesitos para criar uma conta não se encontram todos corretos!", "Erro na criação de conta", MessageBoxButtons.OK, MessageBoxIcon.Error); //mensagem de erro } else if (passe.Text != confirmar.Text) //se o texto da textbox passe for diferente do texto da textbox confirmar, dá mensagem de erro! { MessageBox.Show("As Palavras passe não coincidem!", "Erro ao Criar Conta", MessageBoxButtons.OK, MessageBoxIcon.Error); //mensagem de erro! } else //caso os campos estejam completados { if (valido(util) == true)//Caso de o user ser inexistente { if (passe.Text == confirmar.Text)//Caso houver confirmação do password { //Faz a extruturação para adicionar no ficheiro string linha = ((user.perfil.ToString()) + ";" + user.username + ";" + user.email + ";" + user.password + ";" + 0); //Adiciona no ficheiro contas StreamWriter sw; sw = File.AppendText(contas); sw.WriteLine(linha); sw.Close(); int i = 0; string[] linha1 = File.ReadAllLines(contas); int c = 0; //le o ficheiro com o ciclo for for (i = 0; i < linha1.Length; i++) { //MessageBox.Show(username + password); if (linha1[i].Split(';')[1] == nome.Text && linha1[i].Split(';')[3] == passe.Text) { variaveis.id = Convert.ToInt16(linha1[i].Split(';')[4]); variaveis.nomeut = nome.Text; Form2 form2 = new Form2(); form2.Show(); //abre o form "sessao iniciada" quando se carrega no botom "log in" this.Hide(); //esconde os outros forms c++; } } } else //Caso não haja confirmacao do password { MessageBox.Show("Os passwords são diferentes", "Password", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { MessageBox.Show("Username já existe!", "Username existente!", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } }
private void button4_Click(object sender, EventArgs e) { int cont = 0; string li; StreamReader sr = File.OpenText(contas); while ((li = sr.ReadLine()) != null) { cont++; } sr.Close(); //Chama instância vazia e atribui valores a classe utilizador utilizadores user = new utilizadores(); user.perfil = cont; user.username = nome1.Text; user.password = passe1.Text; user.email = email1.Text; string util = user.username; if (nome1.Text == "" || nome1.Text == "Nome de utilizador..." || passe1.Text == "" || passe1.Text == "Palavra-passe..." || email1.Text == "" || email1.Text == "Email..." || confirmar1.Text == "" || confirmar1.Text == " Confirmar Palavra-passe...") //opções que fazem com que o botão para registar não funcione { MessageBox.Show("Os requesitos para criar uma conta não se encontram todos corretos!", "Erro na criação de conta", MessageBoxButtons.OK, MessageBoxIcon.Error); //mensagem de erro } else if (!email1.Text.Contains("@esmad.ipp.pt")) { MessageBox.Show("O email tem que ser do formato '@esmad.ipp.pt'!", "Erro ao Criar Conta", MessageBoxButtons.OK, MessageBoxIcon.Error); //mensagem de erro! } else if (passe1.Text != confirmar1.Text) //se o texto da textbox passe for diferente do texto da textbox confirmar, dá mensagem de erro! { MessageBox.Show("As Palavras passe não coincidem!", "Erro ao Criar Conta", MessageBoxButtons.OK, MessageBoxIcon.Error); //mensagem de erro! } else //caso os campos estejam completados { if (valido(util) == true)//Caso de o user ser inexistente { if (passe1.Text == confirmar1.Text)//Caso houver confirmação do password { //Faz a extruturação para adicionar no ficheiro string linha = ((user.perfil.ToString()) + ";" + user.username + ";" + user.email + ";" + user.password + ";" + 1); //Adiciona no ficheiro StreamWriter sw; sw = File.AppendText(contas); sw.WriteLine(linha); sw.Close(); int i = 0; string[] linha1 = File.ReadAllLines(contas); int c = 0; for (i = 0; i < linha1.Length; i++) { if (linha1[i].Split(';')[1] == nome1.Text && linha1[i].Split(';')[3] == passe1.Text) { //variaveis.id = Convert.ToInt16(linha1[i].Split(';')[4]); //variaveis.nomeut = nome1.Text; c++; } } MessageBox.Show("Conta criada com sucesso", "Sucesso!", MessageBoxButtons.OK, MessageBoxIcon.Information); } else //Caso não haja confirmacao do password { MessageBox.Show("Os passwords são diferentes", "Password", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { MessageBox.Show("Username já existe!", "Username existente!", MessageBoxButtons.OK, MessageBoxIcon.Error); } } //limpa as textbox's nome1.Clear(); email1.Clear(); passe1.Clear(); confirmar1.Clear(); panel1.Visible = false; }