Extensoes relacionadas a clipper

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

edgolveia
Usuário Nível 1
Usuário Nível 1
Mensagens: 34
Registrado em: 07 Jun 2012 12:48
Localização: itajuba/ng

Extensoes relacionadas a clipper

Mensagem por edgolveia »

Estive vendo um exemplo de um programa clipper aki e é mostrado dentro da pasta os seguintes arquivos.
- vestuario.exe ( ok, este é o executavel gerado pelo rtlink fi )
-vestuario.obj ( ok, este é o compilado )
- vestuario.prg ( ok, este é o proprio programa digitado )
- IROUPA.ntx ( o que é isto? onde abro? como altero teus campos?)
- INRCAlCA.ntx(o que é isto? onde abro? como altero teus campos?)
- NRCALCA.DBF ( como entre neste arquivo? como configuro os campos deste DBF?
...
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Extensoes relacionadas a clipper

Mensagem por Pablo César »

Vou explicar de forma generalizada, tem alguns detalhes que serão omitidos ou explicados de forma generalizada para não causar confusão dos iniciantes.
NTX, o que é isto? onde abro? como altero teus campos?
Os arquivos com extensão NTX, são arquivos de índices. Isto é, graça a criação desses arquivo podemos definir pela campo chave a ordem dos registros de determinado(s) campo(s) de um dbf. O NTX em si, não possui campos como o dbf, ele é apenas uma referência. Para alterar a "chave" basta indexar novamente. Como você faz para indexar ? Exemplo:
USE CLIENTES // abre o arquivo de clientes.dbf
INDEX ON NOME TO CLI_NOM // criar o arquivo CLI_NOM (pode ser dado o nome que quiser) ordenando pelo campo NOME

Se quiser mudar o nome pelo data de nascimento (mudar a chave do indice), por exemplo:
INDEX ON dtos(DTA_NAS) TO CLI_NOM

Mas atenção: se você mudar isto, o programa irá dar erro, pois no programa existente, se você mudar a chave e não mudar o código fonte, com certeza irá dar pau. Pois imagine procurar o nome em lugar de data no formato: AAAAMMDD (ano+mês+dia). Você pode criar um novo arquivo de indice, faça sempre com nomenclatura de forma que você possa identificar de cara qual é a chave e qual é o arquivo dbf a que se refere cada NTX. Um NTX só serve para aquele DBF. Só que se você cria um novo NTX, esse arquivo deverá ser aberto SEMPRE em todos os módulos PRG onde se faça atualização do DBF relativo a esse NTX criado, senão irá ficar desatualizado e dará mensagem de erro ao utilizá-lo.
DBF, como entro neste arquivo? como configuro os campos deste DBF?
Como assim entrar ? Configurar não seria o apropriado, seria definir os campos de um dbf. Mas vamos lá à ver se você entende melhor o que é um DBF.

Um DBF é um arquivo binário, sito é você não abre simplesmente com um editor de textos. Ele contém caracteres especiais que servem para separar o que é header (cabeçalho) dos dados e esses dados também possuem caracter separador para separar um dado de um campo a outro. Imagine o dbf como se fosse um edifício retangular, onde cada apartamento é um campo e cada anda é um registro e dentro deles, guardam dados que podem ser do tipo: C, D, N, M ou L. Cada campo é definido com um nome que não deve e não pode ser repetido e com um tamanho máximo que permita guardar os dados. No caso de dados lógicos, data e memo o tamanho já vem predefinidos, isto é não precisam de definição de tamanho. Ora porque o campo do tipo LÓGICO tem: .T. ou .F., o campo do tipo DATA só pode ser 8 ou 10 (dependendo do SET CENTURY) isto é, o ano se tem 2 ou 4 dígitos, se bem que na realidade ele vai gravar sempre AAAAMMDD e o comando CENTURY é mais pra visualização e definição. E o campo MEMO é arquivo texto sem limite e este cria um arquivo com extensão DBT onde guarda texto vinculado ao DBF (este tipo, melhor evitar, porque é muito passível de corrupção e é sugerido outra forma de guardar arquivos textos).

Aqui no fórum, na seção de Downloads disponibilizei o STRU.EXE e seu código fonte. Ele serve para LISTAR a estrutura do DBF. Então quando você diz, como posso alterar um DBF, você precisa saber o que você quer alterar no DBF ? Seria a estrutura do DBF ? Que nada menos é inserir, alterar ou excluir os nomes dos campos ou os tamanhos dos campos. Agora se você deseja alterar os dados, isto é o conteúdo das informações que guarda o DBF, você tem duas formas: através de uma rotina em Clipper (que seria através do seu código fonte: PRG) ou através de algum aplicativo de edição de DBF, assim como o DBU.

Com o DBU, você pode alterar o DBF tanto os dados como a estrutura e pode criar ou alterar também NTX.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
edgolveia
Usuário Nível 1
Usuário Nível 1
Mensagens: 34
Registrado em: 07 Jun 2012 12:48
Localização: itajuba/ng

Extensoes relacionadas a clipper

Mensagem por edgolveia »

Puxa..que show de explicação!!!
Entendi perfeitamente.......vou realizar algumas modificações em testes.......valewwwwwwwwwwww
Responder