Guest - Claudio - Postado Março 19, 2005 Denunciar Share Postado Março 19, 2005 OI pessoal tudo bom?eu to com uma duvida..eu preciso fazer um programa para sortear os times...ex:time 1 x time2time 3 x tima 4time 5 x time 6quando clicar no botao sortar os times...comoeu posso fazer???algum me entendeu??abraços claudio Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Março 20, 2005 Denunciar Share Postado Março 20, 2005 Sempre nesta ordem (o atual com o próximo) ou aleatoriamente?Abraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest - Claudio - Postado Março 20, 2005 Denunciar Share Postado Março 20, 2005 aleatoriamente...AbraçosClaudio Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Março 20, 2005 Denunciar Share Postado Março 20, 2005 aleatoriamente... Então, veja se isso serve:var times : array[0..9] of integer; i, qt, n, total : integer; achou : boolean; begin randomize; qt := 0; i := 0; for i:=low(times) to high(times) do times[i] := -1; while qt<=high(times) do begin n := random(high(times)+1)+1; achou := false; for i:=low(times) to high(times) do if times[i]=n then achou := true; if not achou then begin times[qt] := n; qt := qt+1; end; end; total := trunc((high(times)-1)/2); for i:=0 to total do begin showmessage('Time ' + inttostr(times[i]) + ' : Time ' + inttostr(times[total+i+1])); end;Abraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest - claudio - Postado Março 20, 2005 Denunciar Share Postado Março 20, 2005 aaaaaVLW...muito obrigado...vlwmsm =]]Eternamente grato =]Claudio Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest - Claudio - Postado Março 20, 2005 Denunciar Share Postado Março 20, 2005 como eu faço pra eles apareçerem em umlabel?eu tenteilbl_time1.caption := ('Time ' + inttostr(times) + ' : Time ' + inttostr(times[total+i+1]));lbl_time2.caption := ('Time ' + inttostr(times) + ' : Time ' + inttostr(times[total+i+1]));so que eles mostram o mesmo time...como fazer para invez de apareçer no showmessage apareçer em 10 labels?ObrigadoCLaudio Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest - Claudio - Postado Março 20, 2005 Denunciar Share Postado Março 20, 2005 ae eu fiz assim: begin lbl_time1.caption := ('Time ' + inttostr(times) + ' x Time ' + inttostr(times[total+i-5])); lbl_time2.caption := ('Time ' + inttostr(times[i+1]) + ' x Time ' + inttostr(times[total+i-6])); lbl_time3.caption := ('Time ' + inttostr(times[i+2]) + ' x Time ' + inttostr(times[total+i-7])); lbl_time4.caption := ('Time ' + inttostr(times[i+3]) + ' x Time ' + inttostr(times[total+i-8])); lbl_time5.caption := ('Time ' + inttostr(times[i+4]) + ' x Time ' + inttostr(times[total+i+1])); end;e deu certo... seria esse o geito certo mesmo,ou eu fiz uma gambiarra?? =]]]AbraçosClaudio Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 felipe_pr Postado Março 20, 2005 Denunciar Share Postado Março 20, 2005 Claudio eu não sei... mais já que estamos falando de futebol, eu estou com um pequeno problema...eu to tentando fazer uma "Classificação" 1 colocado 2 colocado etc..a duvida e a seguinte,eu to tentando fazer uma classificação com 4 times... usei 4 labels de pontos....lbl_ptos_time1lbl_ptos_time2lbl_ptos_time3lbl_ptos_time4como verificar qual label e maior?eu tentei fazer com if mais não consegui fazer todos.... to meio confusso aki...espero ter me expressado direito =]se alguém me entendeu, e souber me ajudar...ObrigadoFelipeps:Claudio desculpe usar o seu tópico...grato. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Março 21, 2005 Denunciar Share Postado Março 21, 2005 ae eu fiz assim: begin lbl_time1.caption := ('Time ' + inttostr(times) + ' x Time ' + inttostr(times[total+i-5])); lbl_time2.caption := ('Time ' + inttostr(times[i+1]) + ' x Time ' + inttostr(times[total+i-6])); lbl_time3.caption := ('Time ' + inttostr(times[i+2]) + ' x Time ' + inttostr(times[total+i-7])); lbl_time4.caption := ('Time ' + inttostr(times[i+3]) + ' x Time ' + inttostr(times[total+i-8])); lbl_time5.caption := ('Time ' + inttostr(times[i+4]) + ' x Time ' + inttostr(times[total+i+1])); end;e deu certo... seria esse o geito certo mesmo,ou eu fiz uma gambiarra?? =]]]AbraçosClaudio Sim, está certo. É isso que o loop faz.Abraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Março 21, 2005 Denunciar Share Postado Março 21, 2005 Claudio eu não sei... mais já que estamos falando de futebol, eu estou com um pequeno problema...eu to tentando fazer uma "Classificação" 1 colocado 2 colocado etc..a duvida e a seguinte,eu to tentando fazer uma classificação com 4 times... usei 4 labels de pontos....lbl_ptos_time1lbl_ptos_time2lbl_ptos_time3lbl_ptos_time4como verificar qual label e maior?eu tentei fazer com if mais não consegui fazer todos.... to meio confusso aki...espero ter me expressado direito =]se alguém me entendeu, e souber me ajudar...ObrigadoFelipeps:Claudio desculpe usar o seu tópico...grato. O jeito mais simples é jogar para uma matriz e ordenar somente por uma das "colunas". No exemplo abaixo eu fiz isso, e guardo a pontuação na primeira "coluna" e o nome na segunda:var v : array[0..3, 0..1] of string; i, j : integer; aux1, aux2 : string; begin v[0, 0] := '4'; v[0, 1] := 'Time1'; v[1, 0] := '2'; v[1, 1] := 'Time2'; v[2, 0] := '1'; v[2, 1] := 'Time3'; v[3, 0] := '3'; v[3, 1] := 'Time4'; for i:=0 to 3 do for j:=0 to 3 do if strtoint(v[i, 0])>strtoint(v[j, 0]) then begin aux1 := v[i, 0]; aux2 := v[i, 1]; v[i, 0] := v[j, 0]; v[i, 1] := v[j, 1]; v[j, 0] := aux1; v[j, 1] := aux2; end; for i:=0 to 3 do showmessage(inttostr(i+1) + 'º Lugar: ' + v[i, 1] + ' com ' + v[i, 0] + ' pontos!'); end;Certo? Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 felipe_pr Postado Março 21, 2005 Denunciar Share Postado Março 21, 2005 isso mesmo, muito Obrigao Graymalkin, não querendo abusar mais já abusando, você saberia um tutorial bom, ou uma apostila boa para um iniciante?ps: pra passa para um labal eu fiz assim lbl_time_1.caption := inttostr(i-2) + 'º Lugar: ' + v[i-3, 1] + ' com ' + v[i-3, 0] + ' pontos!'; lbl_time_2.caption := inttostr(i-1) + 'º Lugar: ' + v[i-2, 1] + ' com ' + v[i-2, 0] + ' pontos!'; lbl_time_3.caption := inttostr(i) + 'º Lugar: ' + v[i-1, 1] + ' com ' + v[i-1, 0] + ' pontos!'; lbl_time_4.caption := inttostr(i+1) + 'º Lugar: ' + v[i, 1] + ' com ' + v[i, 0] + ' pontos!'ta certo?Desculpe o abusivo..Muito gratoFelipe Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Março 24, 2005 Denunciar Share Postado Março 24, 2005 isso mesmo, muito Obrigao Graymalkin,não querendo abusar mais já abusando, você saberia um tutorial bom, ou uma apostila boa para um iniciante?Infelizmente não sei de alguma apostila para iniciantes em Delphi. Todavia, o que você precisar, poste aqui no fórum que a gente tenta ajudar. ps: pra passa para um labal eu fiz assim lbl_time_1.caption := inttostr(i-2) + 'º Lugar: ' + v[i-3, 1] + ' com ' + v[i-3, 0] + ' pontos!'; lbl_time_2.caption := inttostr(i-1) + 'º Lugar: ' + v[i-2, 1] + ' com ' + v[i-2, 0] + ' pontos!'; lbl_time_3.caption := inttostr(i) + 'º Lugar: ' + v[i-1, 1] + ' com ' + v[i-1, 0] + ' pontos!'; lbl_time_4.caption := inttostr(i+1) + 'º Lugar: ' + v[i, 1] + ' com ' + v[i, 0] + ' pontos!' ta certo?Em termos de programação é meio vago definir o "certo" e o "errado" (falo no sentido de algo que esteja realizando exatamente o esperado), uma vez que existem várias maneiras de se fazer a mesma coisa. E essa sua é uma delas.Abraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Mario Junior Gyn Postado Julho 12, 2006 Denunciar Share Postado Julho 12, 2006 Boa Tarde Graymalkin, tudo bem... esse codigo que você colovou para que os times apareçam nos labels, o ultimo time aparece com um numero grande e não o titme sorteado, já procurei o erro e não consegui achar, você pode me dar uma ajuda. obrigado. Vou colocar todo o codigo do controle.var times : array[0..7] of integer; i, qt, n, total : integer; achou : boolean;[begin randomize; qt := 0; i := 0; for i:=low(times) to high(times) do times := -1; while qt<=high(times) do begin n := random(high(times)+1)+1; achou := false; for i:=low(times) to high(times) do if times=n then achou := true; if not achou then begin times[qt] := n; qt := qt+1; end; end; total := trunc((high(times)-1)/2); for i:=0 to total do begin// showmessage('Time ' + inttostr(times) + ' : Time ' + inttostr(times[total+i+1])); end; begin label1.caption := ('Time ' + inttostr(times) + ' x Time ' + inttostr(times[total+i-5])); label2.caption := ('Time ' + inttostr(times[i+1]) + ' x Time ' + inttostr(times[total+i-6])); label3.caption := ('Time ' + inttostr(times[i+2]) + ' x Time ' + inttostr(times[total+i-7])); label4.caption := ('Time ' + inttostr(times[i+3]) + ' x Time ' + inttostr(times[total+i-8])); end;end;]Desde já agradeço sua atenção. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Julho 13, 2006 Denunciar Share Postado Julho 13, 2006 A última expressão... total+i-8... resulta em um valor negativo, você notou? Além disso, acho que o times[0] não é preenchido, já que n nunca vai ser igual a zero (porque você soma +1).Abraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Mario Junior Gyn Postado Julho 13, 2006 Denunciar Share Postado Julho 13, 2006 Boa noite Graymalkin, tudo bem?? tenho mais uma pergunta para você. desculpe se estou sendo chato -rs - mas... vamos la...já tentei de diversas forma para jogar o valor de uma show message no capiton de um label, so que não consegui, você pode me ajudar a fazer esse "proeza" - rsrs.O que quero fazer é o seguinte, pegar o resultado de uma Showmessage e jogar no caption de um Label...você pode me ajudar a resolver isso???Obrigado. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Julho 14, 2006 Denunciar Share Postado Julho 14, 2006 Como assim? Uma ShowMessage *não* retorna nada... Você estaria querendo dizer uma MessageBox?Abraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Mario Junior Gyn Postado Julho 14, 2006 Denunciar Share Postado Julho 14, 2006 Boa tarde Graymalkin, tudo bem?? posso te pedir para você corrigir para mim esse código?? eu to iniciando mesmo na carreira, peguei isso apenas com teste de aprendizado... você tem como descobrir onde eu estou errando, não consigo ver meu erro, peço sua ajuda para isso.Obrigado.A showmessge apresenta uma mensagem, eu quero pegar essa mensagem que aparece na caixa de diálogo da showmessage e colocar no caption de um label, mas... se a messagenbox tem como fezer isso também?? ou ambas não tem como fazer isso???Obrigado. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Julho 15, 2006 Denunciar Share Postado Julho 15, 2006 A showmessge apresenta uma mensagem, eu quero pegar essa mensagem que aparece na caixa de diálogo da showmessage e colocar no caption de um label, mas... se a messagenbox tem como fezer isso também?? ou ambas não tem como fazer isso???A ShowMessage() mostra uma mensagem que *você* informa para ela. Então, é só você passar a mesma mensagem para a Caption de uma label:var s : string; begin s := 'Isto é um teste'; Label1.Caption := s; ShowMessage(s); end;Certo? ;)Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guest - Claudio -
OI pessoal tudo bom?
eu to com uma duvida..
eu preciso fazer um programa para sortear os times...
ex:
time 1 x time2
time 3 x tima 4
time 5 x time 6
quando clicar no botao sortar os times...
comoeu posso fazer???
algum me entendeu??
abraços claudio
Link para o comentário
Compartilhar em outros sites
17 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.