Pág 1 de 2 12 ÚltimoÚltimo
Resultados 1 a 20 de 31

Tópico: C# - CronÓmetro

  1. #1

    C# - CronÓmetro

    Boas, como faço um cronómetro em C#? Agradeço a ajuda

  2. #2
    xihhhh o que foz-te pedir!
    bem eu digo os passos e depois programas tu... espero que saibas!

    tens um controlo que se chama timer, usas esse controlo.
    nas propriedades acerta para que o timer funcione a 1segundo penso que é por 1000 numa propriedade do qual nao me recordo do nome.
    depois cria 3 variaveis globais: horas, minutos e segundos do tipo INT e põe-nas já com o valor 0(por defeito).
    Clicla duas vezes no timer(controlo que adicionas-t) e lá dentro poes o codigo onde vais estar sempre a adicionar 1 segundo a variavel "segundos" depois tens que fazer verificações do tipo:

    segundos++;

    if(segundos = 60)
    {
    segundos = 0;//repor os segundos a 0
    minutos++; //adicionar +1 aos minutos
    }

    if(minutos = 60)
    {
    minutos = 0;
    horas++;
    }
    ainda dentro do codigo do timer(já no fim) pões isto para te mostrar valores.
    textbox1.text=horas+":"+minutos+"."+segundos;

    Não te esqueças de nas propriedades do Timer por enabled a True para ele arrancar mal inicie o Form


    Espero que ajude.

  3. #3

    Wink

    Brigadão pelo tempo desperdiçado a explicar vou avançar para o cronómetro e depois digo alguma coisa.
    Última edição de joji; 25-03-2008 às 21:02

  4. #4
    privatevoid timer1_Tick(object sender, EventArgs e)
    {
    int hora=0, minuto=0, segundo=0;
    segundo++;
    if (segundo == 60)
    {
    segundo = 0;//repor os segundos a 0
    minuto++; //adicionar +1 aos minutos
    }
    if (minuto == 60)
    {
    minuto = 0;
    hora++;
    }
    textBox1.Text = hora + ":" + minuto + ":" + segundo;
    }

    criou a textbox e mostrou o cronómetro inicializado no entanto apenas altera uma vez de 0:0:0 para 0:0:1.. pork será? é preciso criar um ciclo? tentei usar um do..while mas kd corria encravava :S

  5. #5
    Boas!

    Tens que meter o timer.enabled= true para ele repetir esse codigo sempre.
    No entanto cuidado que as variaveis horas, minutos e segundos são variaveis locais, logo se não estou em erro cada vez que entra nesse método ela mete-as a 0. Dai só veres o relogio andar 1 segundo.

    Espero ter ajudado!

  6. #6
    nem pensei nisso que horror! o segundo que via avançar era por causa do segundo++ logo nc pasava dali lol.. bem vou modificar e ver o resto

    ainda n tiv a ver o prog mas agr surg o prob.. s tenho d inicializar as variáveis a 0 cm o faço fora da operação do cronómetro? a minha noobice a vir ao d cima lol
    Última edição de joji; 25-03-2008 às 22:09

  7. #7
    hummm... podes por exemplo iniciar as variaveis no evento load do form (duplo click em cima do form) e ai iniciar o timer tambem. Como o evento load ocorre só quando o form é carregado, as variáveis nunca mais vao ficar a zero e com isso em principio resolves o teu problema.

  8. #8
    isso fazes no topo do codigo logo antes do primeiro invento e escreves:
    int hora=0, minuto=0, segundo=0;
    Assim tens 3variaveis do tipo int ambas globais e já predefinidas com o valor 0.

    Para começar o cronometro fazes um botão e la dentro pões:
    hora=0, minuto=0, segundo=0; //para iniciares as variaveis
    timer1.start();//para iniciar o cronometro

    para o parares pões nouto botão:
    timer.stop();//para parar o cronometro


    O timer funciona da seguinte maneira:
    repete aquele codigo posto em "privatevoid timer1_Tick(object sender, EventArgs e)" infititamente em intervalos de tempo até ser mandado parar.
    Última edição de Tsunamy_boy; 26-03-2008 às 10:32

  9. #9
    Sem querer fazer ficar mal quem gentilmente postou várias formas para implementar o dito cronómetro...
    Se estás a usar .NET 2.0 (ou superior), existe a classe System.Diagnostics.Stopwatch, que trata disso tudo de forma simples. A MSDN é tua amiga.
    Fazes Start() no início, e com um Timer apenas actualizas os controlos que mostram o tempo com a propriedade Elapsed.
    É mais simples, mais eficiente e mais preciso (não sei se isso é um problema, mas não faz mal nenhum).
    Última edição de The_True_Eue; 27-03-2008 às 17:06

  10. #10
    Sim claro também é uma opção no entanto as outras resoluções que os nossos colegas postaram também são úteis e muito pois acaba por ser uma maneira de fazer um cronómetro apercebendo-nos melhor de como ele funciona em linha de código obrigado a todos os que têm respondido, já tenho o cronómetro funcional vou agora passar á próxima fase do programa que vai ser o jogo das diferenças

  11. #11
    Citação Resposta Original de joji Ver Resposta
    Sim claro também é uma opção no entanto as outras resoluções que os nossos colegas postaram também são úteis e muito pois acaba por ser uma maneira de fazer um cronómetro apercebendo-nos melhor de como ele funciona em linha de código obrigado a todos os que têm respondido, já tenho o cronómetro funcional vou agora passar á próxima fase do programa que vai ser o jogo das diferenças
    Isso é muito facil de fazer se kixeres ajuda diz... 3linhas de código e ta feito...

  12. #12
    Já fiz a part d clicar nas pictures ke tapam as supostas imagens ke estao por tras mas ainda n pensei sobr cm comparar as 2 e s estiverem incorretas volta a colocar pictures a tapar as imagens, o meu stor dise para fazer um metodo aparte para iso..

  13. #13
    Citação Resposta Original de joji Ver Resposta
    Já fiz a part d clicar nas pictures ke tapam as supostas imagens ke estao por tras mas ainda n pensei sobr cm comparar as 2 e s estiverem incorretas volta a colocar pictures a tapar as imagens, o meu stor dise para fazer um metodo aparte para iso..
    Boas,

    Isto é so uma ideia, não sei se a melhor.

    Cada imagem tem uma propriedade "Tag", porque nao atribuires valores as imagens (tipo 1,2,3)
    e cada par de imagens correspondia um valor. Cada vez que destapavas ias compara os valores da tag, se fossem iguais... Voila

  14. #14
    boa ideia já estive a pesquisar isso das tags e foi fácil encontrar. Associei os valores tal como disses-te a cada par de imagens correctas e pus essa atribuicao de valors ás imagens quando clicamos no botão "start game".. agora como posso fazer um random das imagens ? a minha atribuicao d valors ás tags foi feita o valor um para a picture A e B e o 2 para o C e D por ai adiante.. percebes? Logo precisamos de uma instrução que misture as imagens.

    Também queria usar uma váriavel para guardar a tag da primeira imagem seleccionada para comparar á segunda mas a operação que faço dá erro, eu faço assim: primeira=A_picturebox.Tag;
    Pensei ke guardava o valor que tinha atribuido á Tag mas devo tar errado..
    Última edição de joji; 01-04-2008 às 13:24

  15. #15
    Humm... Quanto ao erro que te dá, penso que seja por a tag ser um object e a comparação directa de object's não é o que pretendes. o que deves fazer é um cast da tag para inteiro (int)picturebox1.tag ==(int)picturebox2.tag e com isso a comparacao ja deve ficar correcta (ou para afectar fazes tipo int x = (int)picturebox2.tag). Quanto à melhor maneira de fazeres a distribuição das imagens tens que dizer como as tens guardadas. Tens um array de pictures? Tens "n" controlos pictureBox?

    Cumps.

  16. #16
    eu tenho um picturebox para cada uma das imagens (4 x 4) existe algum codigo de random? vou alterar o codigo entao e ja t digo s ta a funcionar bem

    privatevoid A_picturebox_Click(object sender, EventArgs e)
    {
    if (count == 2) count = 0;
    A_picturebox.Visible =
    false;
    if (count=0){
    primeira = (
    int)A_picturebox.Tag;
    }
    elseif(count=1){
    /*comparacao para determinar se as boxs seleccionadas estao corretas (ficam visiveis) ou nao*/
    if (primeira != (int)A_picturebox.Tag)
    {
    A_picturebox.Visible =
    true;
    }
    }
    count++;
    }

    como posso dizer para a picture ke está guardada na primeira passar a ser visivel tambem?
    Última edição de joji; 01-04-2008 às 18:59

  17. #17
    Olha crias 2 paineis um tem a imagem original onde não mexes e o outro fazes o seguinte:´
    Apos o criares poe como fundo a tua imagem depois lá dentro (onde existem os erros referentes a outra imagem) pões por cada um, um painel em cima e por cada painel desses, poes o fundo transparente.
    Cada vez que clicares no painel pai, vai tirar pontos, cada vez k cliques num painel dos que cobrem a imagem vai dar pontos e acrescenta uma imagem de fundo neste(faz em photoshop uma circunferenci mesmo com o pincel para dar estilo, mas faz em fundo transparente e grava em PNG ou BMP nao tnho a certeza, testa pois nao sei qual dos 2existe para gravar no photoshop, se houver os 2 melhor!)...
    Assim é muito mais facil e fazes milhões com 2 linhas de codigo
    Última edição de Tsunamy_boy; 01-04-2008 às 19:25

  18. #18
    hmm não consegui perceber bem a tua ideia.. estavas a dizer para deixar as imagens que são para acertar e apenas mexer nas pictures que as vao tapar certo? eu neste momento estou a fazer asim e a mexer nas pictures que tapam as imagens mm k sao para descobrir..

    vai existir um painel raiz que tem as imagens que são para adivinhar as suas posições e tem outro painel por cima que tapa essas imagens certo? no entanto ese segundo painel tem 2 pictures uma em cima da outra e uma delas transparente é isso?
    Última edição de joji; 01-04-2008 às 21:13

  19. #19
    Cria 2 paineis, um com o background da imagem original(sem diferenças), outro com a imagem diferente.
    No painel com a imagem que cotem as diferenças adicionas um painel (com o background transparente),1 por diferença, em cima de cada diferença...
    Tipo:
    Painel1(imagem original)
    Painel2(imagem com diferenças)
    __ painel3(dentro do painel2 em cima da diferença 1)
    __painel4(dentro do painel2 em cima da diferença 2)
    __painel5(dentro do painel2 em cima da diferença 3)
    __painel6(dentro do painel2 em cima da diferença 4)
    (...)

    No painel2 no envento onClick fazes a perda de pontos
    Cada vez que clicares no painel3,4,5,6(...) fazes com que este ganhe um circulo vermelho em background e o aumento de pontos...

    a ideia é adicionar um objecto que sobreponha a imagem(com diferenças) e ganhe um circulo e dar pontos...
    Não te esqueças de por enable=false cada vez que clicares no painel3,4,5,6(...)
    Última edição de Tsunamy_boy; 02-04-2008 às 09:10

  20. #20
    o meu stor está a ensinar nos a mexer com class's diz k tornase mt mais facil programar os botões e descobrir se os 2 escolhidos tão certo ou errados.. tou a tt nese método. vou experimentar usar ese método também para resolver o problema de pontos no jogo

Pág 1 de 2 12 ÚltimoÚltimo

Tópicos Similares

  1. Dúvida Cronometro
    By sirmister in forum Dúvidas e Suporte Técnico - Windows
    Respostas: 1
    Última Mensagem: 24-01-2011, 13:22
  2. Cronómetro em Access
    By aDoF96 in forum Programação
    Respostas: 2
    Última Mensagem: 07-02-2009, 09:03
  3. Cronómetro/Temporizador em PowerPoint 2007
    By mestre_the_best in forum Dúvidas e Suporte Técnico - Windows
    Respostas: 1
    Última Mensagem: 22-01-2009, 17:18
  4. Cronómetro numa apresentação
    By Killerloop in forum Dúvidas e Suporte Técnico - Windows
    Respostas: 3
    Última Mensagem: 09-01-2009, 15:52

Registe-se no fórum e active o seu registo para deixar de ver este anúncio.