Array
(
)

TCC em C#

.
   - 14 mar 2012

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?

Bruno Leandro
   - 14 mar 2012

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

0
|
0

.
   - 14 mar 2012

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

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

0
|
0

Joel Rodrigues
   - 15 mar 2012

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.

0
|
0

Joel Rodrigues
   - 15 mar 2012

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í.

0
|
0

Joel Rodrigues
   - 15 mar 2012

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.

0
|
0

.
   - 15 mar 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!!

0
|
0

Joel Rodrigues
   - 16 mar 2012

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

0
|
0

.
   - 18 mar 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?

0
|
0

Joel Rodrigues
   - 19 mar 2012

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.

0
|
0

.
   - 19 mar 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 ?

0
|
0

Joel Rodrigues
   - 19 mar 2012

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.

0
|
0

.
   - 21 mar 2012

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

Thanks guys

0
|
0

Joel Rodrigues
   - 22 mar 2012

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.

0
|
0

.
   - 22 mar 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 ?

0
|
0

Joel Rodrigues
   - 22 mar 2012

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?

0
|
0

Joel Rodrigues
   - 22 mar 2012

Enfim, adicione um MenuStrip ao seu form, crie os itens e seus respectivos eventos. Para cada item do menu, dê um nome distinto, por exemplo itemVerbos_Regulares, itemVerbos_Irregulares.
Para mudar o status do menu, altere a propriedade Text:

itemVerbos_Regulares.TExt += ´ (OK APROVADO)´;

Sugiro, ainda, alterar a Tag do item para funcionar como um status (1=aprovado/0=não aprovado) ou desabilitar o item, caso o aluno tenha sido aprovado.

0
|
0

.
   - 22 mar 2012

Interessante. Assim que tiver um tempinho eu tento. E ainda posto umas fotos de como está ficando o projeto só para vocês terem uma noção. Talvez fica mais fácil para me ajudarem. Vlw people

0
|
0

.
   - 31 mar 2012

Uffa, finalmente, acabaram minhas provas. De volta ao TCC.

Seguinte pessoal. Quero salvar o andamento dos estudos do usuário.
EX: Form1 = adjetivos (se acertar tudo, libera botão para form2)
Form2 = verbos (se acertar tudo, libera botão para form3)
Form3 = gramática (se acertar tudo, libera botão para form4)
E assim por diante.

Caso o usuário pare no Form2 porque tem que sair de casa. Mas quando voltar ele DEVE continuar do Form2.

Como faço ?

0
|
0

.
   - 31 mar 2012

Uffa, finalmente, acabaram minhas provas. De volta ao TCC.

Seguinte pessoal. Quero salvar o andamento dos estudos do usuário.
EX: Form1 = adjetivos (se acertar tudo, libera botão para form2)
Form2 = verbos (se acertar tudo, libera botão para form3)
Form3 = gramática (se acertar tudo, libera botão para form4)
E assim por diante.

Caso o usuário pare no Form2 porque tem que sair de casa. Mas quando voltar ele DEVE continuar do Form2.

Como faço ?


Citação:
Fotos

http://imageshack.us/photo/my-images/594/formpartculas.jpg
http://imageshack.us/photo/my-images/535/formgramtica.jpg/

0
|
0

Joel Rodrigues
   - 01 abr 2012

Cara, cria um campo no banco de dados onde você gravará o status do usuário.
Ao abrir o sistema, você verifica e habilita os menus devidamente.
Se não estiver usando BD, use as configurações/propriedades do sistema.

Boa sorte.

0
|
0