TCC em C#

14/03/2012

0

Estou fazendo meu TCC, preciso de muita ajuda. Sou novato em C#
Quero usar as técnicas mais simples que puderem ser usadas.

Tenho 4 textbox. Deve-se responder a perguntas.
caso esteja certa as 4 libera o botão pra próximas perguntas.
Como faço isso de maneira mais simples possível ?
Qual o código para carregar outro form, quando o botão liberado for clicado?
Responder

Posts

14/03/2012

Bruno Leandro

como voce pretende validar o campo texto, sendo que a pessoa pode escrever uma palavra errada, sem acento ou com, com s,ç, etc
Responder

14/03/2012

.

Não estou considerando isso ainda.
Meu projeto é para ensinar japonês.

Alias, as regras de validação já estão prontas.
Responder

15/03/2012

Joel Rodrigues

Em que momento você vai validar as respostas? Clicando em um botão para verificar?
Enfim, você precisará fazer basicamente o seguinte:

SE
validar_primeiro E validar_segundo E validar_terceiro E validar_quarto
ENTÃO
liberar_botao;

ou seja,

if(validar_respostas_aqui)
botao.Enabled = true;

ou ainda

botao.Enabled = (validar_respostas)// condição booleana.

Boa sorte.
Responder

15/03/2012

Joel Rodrigues

Sendo um pouco mais claro: se sua validação consiste em verificar se o texto digitado é igual a um pré-definido, considere o seguinte exemplo.

//no Click de um determinado botão btnValidar (que faz a verificação)
public void btnValidar_Click(object sender, EventArgs e)
{
btnProxima.Enabled = (txtResp1.Text == resp1 && txtResp2.Text == resp2 && txtResp3.Text == resp3 && txtResp4.Text == resp4 );
}

Isso equivale a

public void btnValidar_Click(object sender, EventArgs e)
{
if(txtResp1.Text == resp1 && txtResp2.Text == resp2 && txtResp3.Text == resp3 && txtResp4.Text == resp4 )
btnProxima.Enabled = true;
}

Qualquer dúvida, posta aí.
Responder

15/03/2012

Joel Rodrigues

Complementando, para abrir outro form, use o seguinte código:

SegundoForm frm = new SegundoForm();
frm.ShowDialog();

Melhorando:
//abre o form e, após fechado, o libera da memória
using(SegundoForm frm = new SegundoForm())
{
frm.ShowDialog();
}

Cara, que curso é esse que você está fazendo que agora na hora de fazer o TCC você está com esse tipo de dúvida?
Boa sorte.
Responder

15/03/2012

.

Vlw cara, vou experimentar aqui. Mais é um pouco mais complexo do que parece,
pq a cada validação ocorre várias ações. Quando tiver um tempinho deixo bem claro tudo.

Ciência da Computação, sou da turma que gosta de programar, porém não sabe.
Normal, querer aprender somente quando se necessita de verdade!!
Responder

16/03/2012

Joel Rodrigues

Bom, então boa sorte.
Quando puder esclarecer melhor, posta aí que a gente tenta ajudar.
Responder

18/03/2012

.

Tá vamos lá, detalhes do projeto.

São 4 textbox, 1 botão de OK(button1) e 1 botão NEXT(btnNEXT).

No código de cada textbox estão predefinidas as regras para a validação.
(Ex: Se terminar com U, chama o método contador (i++), e o fundo fica verde. Senão, fundo vermelho apenas.)

Em todos textbox tem o método contador e também um método chamado Verifica().
Verifica ()
{
if (i == 4)
{
i = -1;
btnNEXT.Enabled = true;
}
}

Ao clicar no botão NEXT outro formulário com novos exercícios else aberto.
E assim em diante.

Em cada método TXT1, TXT2,TXT3 e TXT4 que setam as regras, mostra uma mensagem com o resultado correto.
Como eu faço para mostrar em apenas 1 messageBox.show() todos resultado?
Responder

19/03/2012

Joel Rodrigues

Em que evento você está validando os TextBoxes?
Uma ideia era você fazer todas as validações em um único evento (click de um botão, por exemplo). Então você montaria um string informando se as respostas e quais estão corretas/erradas.
Responder

19/03/2012

.

A validação no evento click do botão é impossível, iria ficar imensa.
tá aí a maneira que eu fiz a validação:

public TXTBOX1()
{
string frase = textBox1.Text;
frase = frase.Replace(ru, masu);

if (texto.EndsWith(eru))
{
textBox1.BackColor = Color.Green;
pictureBox1.Visible = true;
textBox1.Enabled = false;
contador(); verifica();
MessageBox.Show(frase);
}
}

private void button1_Click(object sender, EventArgs e)
{
TXTBOX1();
}

Tá funcionando assim. Porém, em cada validação dessa, tem o MessageBox.Show();
Como faço para aparecer em um só MessageBox todas as frase ?
Responder

19/03/2012

Joel Rodrigues

Bem, nesse caso, declare uma variável pública e, ao invés de mostrar o MessageBox com a frase, apenas concatene a frase com o string público. No final de todas as validações, esse string deverá conter todas as frases.
Como você quer ´´a forma mais simples´´, não vou sugerir muita coisa, mas com certeza dá pra enxugar esse seu código.

Boa sorte.
Responder

21/03/2012

.

É boa ideia, vou tentar.
Vlw. Aguardem que novas dúvidas me surgirão. ;)

Thanks guys
Responder

22/03/2012

Joel Rodrigues

Dica: use um objeto do tipo StringBuilder e não um String para concatenar as frases.
Explicação: cada vez que você altera uma variável do tipo string, um novo objeto é criado na memória com o novo valor e o antigo é descartado (fica sem uso até que o Garbage Collector se encarregue de liberar a memória por ele utilizada). Utilizando o StringBuilder, você criar apenas um objeto e pode alterá-lo várias vezes. Utilize o método Append(string) para concatenar o string e o ToString() para obter o resultado final.

Boa Sorte.
Responder

22/03/2012

.

É vou ter que pesquisar, como utilizar isso aí.
Depois dou uma olhada na net. Vlw


Como eu poderia fazer um mini-menu do tipo índice.

Verbos
..Regulares (OK APROVADO)
..Irregulares (OK APROVADO)
Gramática
..Gramática 1 (OK APROVADO)
..Gramática 2 (não aprovado ainda)
..Gramática 3 (não aprovado ainda)

Nesse menu, tem um evento click que abre o respectivo form.
E como eu poderia salvar o progresso da pessoa que estaria passando por estas fases ?
Responder

22/03/2012

Joel Rodrigues

Para guardar o status/nível da pessoa você pode usar as configurações do projeto, veja em:
http://msdn.microsoft.com/pt-br/library/aa730869(v=vs.80).aspx

Outra forma seria ter uma variável estática em algum lugar (uma classe, um form, etc).

Para criar o menu, você já montou o menu e quer alterar o caption para APROVADO ou NÃO APROVADO ou você ainda nem criou o menu?
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar