Inserir elemento em Matriz

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Avatar do usuário
rafael
Usuário Nível 1
Usuário Nível 1
Mensagens: 43
Registrado em: 14 Ago 2003 10:28
Localização: Londrina - PR

Inserir elemento em Matriz

Mensagem 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
MARINI
Usuário Nível 3
Usuário Nível 3
Mensagens: 288
Registrado em: 06 Jul 2004 08:06
Localização: Pindamonhangaba SP

Mensagem por MARINI »

Faça assim:

AADD(acTeste,{"NOVO ELEMENTO"})

veja mais em:

http://www.clipx.net/ng/53guide/ng394e.php
Sds
Marini
Avatar do usuário
rafael
Usuário Nível 1
Usuário Nível 1
Mensagens: 43
Registrado em: 14 Ago 2003 10:28
Localização: Londrina - PR

Inserindo elemento

Mensagem por rafael »

Eu preciso inserir este elemento no meio da matriz! não no final
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Re: Inserir elemento em Matriz

Mensagem 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
Avatar do usuário
rafael
Usuário Nível 1
Usuário Nível 1
Mensagens: 43
Registrado em: 14 Ago 2003 10:28
Localização: Londrina - PR

Mensagem 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!
Responder