Página 1 de 1
duvida com asort
Enviado: 02 Mai 2005 10:17
por clebermano
Ola pessoa bom dia.
Estou uma duvida na funcao asort()
tenho a seguinte matriz
aadd(Vmat1, str(codigo,13) + " " + left(nomeprod,25))
preciso organizar por orde de nome, em formato crescente "ALFACE,BATATA"ETC.
Agradeco desde ja.
Re: duvida com asort
Enviado: 02 Mai 2005 11:07
por Maligno
aadd(Vmat1, str(codigo,13) + " " + left(nomeprod,25))
preciso organizar por orde de nome, em formato crescente "ALFACE,BATATA"ETC.
Para que sua ordenadação especial seja implementada a contento, você só precisará limitar as strings de comparação. Assim, para ordenação ascendente da string parcial (posição 15, onde começa o nome do produto):
Considerei que o nome do produto tem a largura fixa de 25 caracteres. Mas se tiver largura variável, troque os Right() por SubStr(), reparametrizando as posições.
[]'s
Maligno
http://www.buzinello.com/prg
Enviado: 02 Mai 2005 12:23
por Toledo
Só corrigindo o exemplo do nosso amigo Maligno...
O correto é:
Atenção: desconsidere esta mensagem - veja as demais mensagens abaixo...
Mensagem editada por Toledo em 02/05 - 16:30 hs
Abraços,
Enviado: 02 Mai 2005 14:28
por clebermano
obrigado a todos, funcionou chuchu beleza.
:xau :xau :xau :xau :xau :xau :xau :xau
Enviado: 02 Mai 2005 14:35
por Maligno
Toledo escreveu:Só corrigindo o exemplo do nosso amigo Maligno...
Corrigindo sua correção:
Como a matriz do nosso amigo é
unidimensional, o exemplo que mostrei está correto. A sua correção é que está, conceitualmente, errada. Apesar do erro, não deve gerar erro de run-time.
[]'s
Maligno
http://www.buzinello.com/prg
Enviado: 02 Mai 2005 14:47
por Jorge Adourian
Maligno escreveu:Apesar do erro, não deve gerar erro de run-time.
O Toledo está errado mesmo.
Mas me desculpe, isto gera erro de run-time SIM !!!
Enviado: 02 Mai 2005 16:01
por Maligno
isto gera erro de run-time SIM !!!
Você está certo. Portanto, sou eu quem pede desculpas pelo lapso.
[]'s
Maligno
http://www.buzinello.com/prg
Enviado: 02 Mai 2005 16:21
por Toledo
Maligno,
Revendo o exemplo do Clebermano, notei que ele realmente utilizou uma matriz unidimensional, e sendo assim,
a minha correção está completamente errada.
Como eu sempre que vou adicionar um novo elemento a uma matriz coloco o conteúdo do elemento entre { } (chaves), mesmo que sendo uma única dimensão, pressuni que a função ASORT() não iria fazer a ordenação corretamente.
Note que ele não usou { } ao adicionar o conteúdo na matriz...
Caso, ele tivesse usado as chaves, o meu exemplo estaria correto.
Abraços,
Enviado: 04 Mai 2005 11:17
por clebermano
Bom, eh que sempre usei matrizes unidimensionais, acho + facil, mas valeu a todos.obrigado, funicionou direitinho..
:xau :xau :xau :xau :xau

) :xau :xau :xau :xau :xau :xau