1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

VB 6.0 ajuda sff?

Discussão em 'Programação' iniciada por jony69jkl, 14 de Abril de 2008. (Respostas: 8; Visualizações: 900)

  1. jony69jkl

    jony69jkl Power Member

    boas, queria que alguem me explicasse como fazer um programa em que tudo parado,
    o programa contem 12 labels com o mesmo nome e tem 4 botoes o limpar dados , o mostrar ,o indice(em que vai pedir para inserir o indice de 1 a 12 e o respectivo valor ),e o ordenar,ate agora fiz tudo menos o do ordenar em que tou parado
    Dim i As Integer
    Dim caixa As Integer
    For i = 1 To 12
    If lbl1(1).Caption < a(indice) Then
    a(indice) = a(1)
    End If
    Next i
    se alguem me conseguir ajudar a ordenar os dados agradecia
     
  2. Pauleta_Tubarao

    Pauleta_Tubarao Power Member

    se compriendi bem o que queres, tu queres ordenar os valores intruduzidos pelo utilizador certo?
    se assim é, nao o iras fazer com for tem que ser com if e else vai-te dar um trabalhao isso rapaz nem imaginas...
    amanha tento te dar uma ajudinha com esses if e else todos
     
  3. jony69jkl

    jony69jkl Power Member

    nao ha outra maneira sem ser com ifs?pq desta vez foram so 12 caixas mas e se for com 100?da um trabalho do carago
     
  4. Pauleta_Tubarao

    Pauleta_Tubarao Power Member

    tu veres qual é o maior ou menor deles todos é fácil agora ordena-los do maior para o menor ou vise versa e muito difícil porque tens que fazer comparações entre eles todos percebes?

    Estava a ver com o encontrares o maior e o menor com um ciclo e depois ires tirando sempre o maior e o menor, mas acaba por ser tão ou mais complicado que a comparação entre eles porque depois tens que saber os quais foram os que retiras-te....
     
  5. jony69jkl

    jony69jkl Power Member

    opah eu sou muito newbie nisto
     
  6. jpaulino

    jpaulino Power Member

  7. jony69jkl

    jony69jkl Power Member

    nao funciona bem nem serve de exemplo para o que eu quero
     
  8. jpaulino

    jpaulino Power Member

    Pode não servir para o que pretendes, mas que funciona, isso posso garantir que funciona.
     
  9. andrepadez

    andrepadez Power Member

    Boas,
    eu não uso VB por isso não ligues à sintaxe; vou supor que os valores a ordenar são inteiros, mas funciona com todos os tipos;
    Penso que a solução para o que queres passa por:

    Criares um array independente com Length[12] onde vão ser ordenados os valores

    Código:
    int ordenado = new int [12];
    Quando o utilizador acaba de introduzir o 12º valor, aí usas um for.

    Código:
     
    for (i=0; i<12; i++)
    {
        ordenado[i] = arrayinicial.Min();
        arrayinicial [indexOf(ordenado[i])] = Null;
    }
    
    Assim, nas doze iterações ele coloca o valor mínimo do array inicial no índice mais baixo do array ordenado, apagando depois o seu índice original, até que o array ordenado está totalmente preenchido e o arrayinicial completamente vazio.

    Por fim podes mandar directamente os valores do ordenado para as labels ou fazer uma copia do array ordenado para o arrayinicial, e então mandar esse array para as labels.


    Espero que tenha ajudado.
    Abraço
     

Partilhar esta Página