Página 1 de 1

Inserir elemento em Matriz

Enviado: 23 Jul 2004 11:53
por rafael
Olá Amigos,

Estou tentando inserir um elemento em um determinado ponto de uma matriz...

Ex .. tenho a matriz

acTeste := {{'LONDRINA','PR'},;
{'MARINGA','PR'}.;
{'OURINHOS','SP'}}

Tentei usar o AINS(acTeste,2) e dá erro...

fiz o teste com a matriz assim {'TESTE1','TESTE2','TESTE3'} e funciona...

o que estou fazendo de errado!

Abraços

Enviado: 23 Jul 2004 12:00
por MARINI
Faça assim:

AADD(acTeste,{"NOVO ELEMENTO"})

veja mais em:

http://www.clipx.net/ng/53guide/ng394e.php

Inserindo elemento

Enviado: 23 Jul 2004 13:12
por rafael
Eu preciso inserir este elemento no meio da matriz! não no final

Re: Inserir elemento em Matriz

Enviado: 23 Jul 2004 17:27
por Maligno
rafael escreveu:Estou tentando inserir um elemento em um determinado ponto de uma matriz...

Ex .. tenho a matriz

acTeste := {{'LONDRINA','PR'},;
{'MARINGA','PR'}.;
{'OURINHOS','SP'}}

Tentei usar o AINS(acTeste,2) e dá erro...

fiz o teste com a matriz assim {'TESTE1','TESTE2','TESTE3'} e funciona...

o que estou fazendo de errado!
Você precisará de duas funções. AIns() não cria espaço na matriz. Ela apenas insere um novo elemento na posição indicada, "empurrando" o último elemento para o limbo. A solução é, primeiro, criar espaço com a função AAdd(), e só depois inserir o novo elemento na posição desejada, usando AIns(). No seu exemplo:

Código: Selecionar todos

acTeste := {{"LONDRINA","PR"},; 
            {"MARINGA" ,"PR"},;
            {"OURINHOS","SP"}
            }
AAdd(acTeste,nil)
AIns(acTeste,2)  // se quiser incluir outra cidade logo após Londrina
Se antes AIns() resultou em erro, pode ser por causa do ponto que você usou no lugar da vírgula logo após a cidade de Maringá. Observe.

[]'s
Maligno
http://www.buzinello.com/prg

Enviado: 26 Jul 2004 08:30
por rafael
Grande Maligno!

Deu tudo certo! a minha falha foi a seguinte

acTeste := {{'LONDRINA','PR'},;
{'MARINGA','PR'}.;
{'OURINHOS','SP'}}

aadd(acTeste,{space(10),space(02)})
ains(acTeste,2)
acTeste[2] := {space(10),space(02)} // nesta linha eu estava tentanto
//usar assim acTeste[2,1] := space(10) ; acTeste[2,2] := space(02)

Obrigado!