Isso vai depender da sua aplicação, respeitando-se os limites impostos pelo próprio Clipper para o número/tamanho de variáveis e vetores, observe que o comando DECLARE é considerado obsoleto para a versão 5.2 e ou superior, sendo recomendado neste caso o uso de PRIVATE.
Você não precisa especificar um valor inicialmente, pode criar um vetor e ir incrementando-o conforme a sua necessidade, o que na minha opnião é mais recomendável.
Até logo.
Marcelo
Programador que é programador, quando tá de folga vai inventar função nova, fazer testes, ou seja... se divertir
Cobra 210 - Drive de 8" 1.024 KB - 64 KB RAM - Impressora de Linha Cobra - Visicalc - Fortran - Dialog - Sistema Operacional SP/M (é sp/m mesmo - era o cp/m da cobra)
O limite de tamanho de um array é de 4096 elementos, tanto no declara quanto no comando AADD, vc pode usar o xHarbour pois nele os arrays não tem limites de tamanho, este limite é a memória disponível na máquina.
Perguntei isso porque tenho a seguinte situação:
- tenho dois bancos de dados (estoque.dbf), em duas lojas distintas.
- até determinado código de produto (de 10000 até 15000), as duas lojas tem os mesmos itens.
- preciso atualizar apenas 3 campos (de estoque.dbf) da loja 2 (custo, revendedor,consumidor) com os preços constantes da loja 1 ... isso porque esses preços na loja 1 são constantemente modificados
Então, pensei:
- em vez de ficar abrindo e fechando os dois arquivos item a item, abriria estoque.dbf da loja 1, jogaria vários registros de uma só vez em uma ARRAY, e depois abriria estoque.dbf da loja 2 e atualizaria os campos necessários !
Foi o que de melhor me ocorreu, mas estou aberto a novas idéias dos amigos do forúm.
Vc abre o arquivo 1 pega os dados e fecha
Abre o arquvio 2 grava os dados e fecha
Abre o arquivo 1 pega os dados e fecha
Abre o arquivo 2 grava os dados e fecha...
É isto que vc está fazendo, no seu caso a melhor forma é ficar com os dois bancos de dados abertos referenciando a area de trabalho
USE ESTOQUE NEW ALIAS EST1
USE C:\OUTR\ESTOQUE NEW ALIAS EST2
...
SELECT EST2
REPLACE PRECO WITH EST1->PRECO.
Para este tipo de processo os arrays não são indicados primeiro por não serem necessários e segundo pela sua limitação de dimensão e por ocupar memória do computador.