Clipper On Line • Ver Tópico - Abertura de arquivos com cdx

Abertura de arquivos com cdx

Discussão sobre a linguagem CA-Clipper.

Moderador: Moderadores

 

Abertura de arquivos com cdx

Mensagempor Josmar dos Santos » 30 Nov 2008 12:45

Ola caros colegas, sei que esse assunto ja foi bastante discutido nesse forum, mas ainda tenho algumas duvidas de como trabalhar em aberturas de arquivos com o cdx.
Ai vai a situação... Tenho esse função no arquivos de funções:

Function indicet
if .not. file("client.cdx") .or. pcount()<>0
     select 1
     use clientes
     mensagem("Organizando o arquivo client")
     index on cod_cli tag ind_cli1 to client
     index on dtos(dat_cli) tag ind_cli2 to client
     index on nom_cli tag ind_cli3 to client
endif
if .not. file("fornec.cdx") .or. pcount()<>0
     select 2
     use forneced
     mensagem("Organizando o arquivo fornec")
     index on cod_for tag ind_for1 to fornec
     index on dtos(dat_for)+dtos(dat_for)+nom_for tag ind_for2 to fornec
     index on str(val_for) tag ind_for3 to fornec
endif
use


Como os senhores podem notar, eu fiz essa função e declarei o mesmo no arquivo principal para fazer a abertura dos arquivos "indicet()". A pergunta e o seguinte: É necessário colocar abertura também nos arquivos ?, ou seja, Cadastro de clientes, alteração de clientes, relatórios, etc. e se tiver, o que eu coloco ? e também como travar para que dois usuários ou mais não tenham acesso ? Somente um ...sem mais obrigado
um abraços a todos...fico no aguardo !!!
:xau

-------------------------------
Nota de Moderação (Toledo): mensagem editada para colocar a tag [ code ]
Veja como utilizar esta tag: faq.php?mode=bbcode#f21
Josmar dos Santos
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 220
Data de registro: 11 Jan 2006 17:36
Cidade/Estado: Botucatu
Curtiu: 0 vez
Mens.Curtidas: 0 vez

Re: Abertura de arquivos com cdx

Mensagempor Maligno » 30 Nov 2008 15:53

Sugestão: faça uma função de abertura para cada banco de dados, não misturando clientes e fornecedores, como você mostra nesse código. Há momentos em que só é preciso cliente, por exemplo.

A abertura de arquivos de dados e seus índices só de ser feita no momento em que forem necessários. Se precisar que apenas um usuário tenha permissão de escrita, dê uma olhada no help sobre o comando USE, que contém uma cláusula chamada EXCLUSIVE. Esse é só um ponto de partida para você começar a estudar. Se você se aprofundar, verá que há uma cláusula SHARED, um comando SET EXCLUSIVE, etc.
[]'s
Maligno
http://prg.buzinello.com
http://pub.buzinello.com
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar de usuário

Maligno
Membro Master

Membro Master
 
Mensagens: 6419
Data de registro: 06 Jul 2004 01:40
Cidade/Estado: Londrina/PR
Curtiu: 0 vez
Mens.Curtidas: 8 vezes

Re: Abertura de arquivos com cdx

Mensagempor SandroBelarmino » 01 Dez 2008 09:45

Bom dia,
Eu mudei um sistema pra CDX e coloquei em uso no cliente há uns 10 dias, e tanto eu quanto os usuarios ficamos muito felizes com os resultados.
Como comecei agora com o CDX não tenho tanto conhecimento no assunto, porém algumas dicas:
- para fazer a indexação abra sempre o dbf em modo exclusivo,
- antes de fazer a indexação, caso já exista o arquivo cdx, apague-o para criar um novo, caso contrário ele vai inflando e ficando muito grande.
- na abertura de arquivos, quando voce dá o comando use para abrir o dbf, se já existir o cdx com o mesmo nome do dbf, este já será aberto automaticamente, porém eu ainda continuo a usar o set index, o que tambem é permitido.

Para maiores esclarecimentos, na seção Banco de Dados voce encontrará vários tópicos sobre o assunto com muito mais detalhes e exemplos.

Abraços.
Alessandro R Belarmino
Clipper 5.2e - Blinker 7 - DBFNTX / DBFCDX
"Quem trabalha muito erra muito, quem trabalha pouco erra pouco, quem não trabalha não erra e quem não erra é promovido !!!!"
SandroBelarmino
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 457
Data de registro: 04 Set 2007 16:11
Cidade/Estado: Pedreira-SP
Curtiu: 11 vezes
Mens.Curtidas: 0 vez

Re: Abertura de arquivos com cdx

Mensagempor Josmar dos Santos » 01 Dez 2008 11:49

Maligno,
O grande problema, e que declaro essa funcao também numa outra função para excluir registros, para o mesmo reorganizar os arquivos. Mas te pergunto: Poderiamos deixar essa funçao somente para reorganizar os arquivos nessa funçao excluir, isto e, sem declarar ela na abertura do prg principal e criar novamente mais duas como vc mesmo disse ??

se alguem tiver algum exemplo platico de como fazer isso e lançar ela no topico, ficaria muito contente...sem mais
obrigado !
Josmar dos Santos
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 220
Data de registro: 11 Jan 2006 17:36
Cidade/Estado: Botucatu
Curtiu: 0 vez
Mens.Curtidas: 0 vez

Re: Abertura de arquivos com cdx

Mensagempor Maligno » 01 Dez 2008 12:10

Veja: o ideal é você particionar as tarefas ao máximo possível. Se a função é para abrir apenas o cadastro e índice de clientes, que seja só pra isso. Não interessa no que vai ser usado. Na medida em que você segmenta seu código desta forma, tudo fica mais fácil. A função ficou pronta? Funciona? Sim. Então nessa "caixa-preta" não se mexe nunca mais. E você se mantém ocupado com outras partes do código. Se nele houver algum erro, você já sabe que naquela função de abertura do cadastro de clientes não precisa investigar coisa alguma. Ela funciona. Ela já foi "certificada". Seu foco poderá estar todo no código problemático. Esse pensamento, claro, vale pra qualquer coisa, e não só pra abertura de arquivos. Isso economiza muito tempo de trabalho.
[]'s
Maligno
http://prg.buzinello.com
http://pub.buzinello.com
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar de usuário

Maligno
Membro Master

Membro Master
 
Mensagens: 6419
Data de registro: 06 Jul 2004 01:40
Cidade/Estado: Londrina/PR
Curtiu: 0 vez
Mens.Curtidas: 8 vezes




Retornar para CA-Clipper

Quem está online

Usuários vendo este fórum: Bing [Bot], Google [Bot] e 2 visitantes


Faça uma doação para o forum
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro