Voce tambem poderia usar outra alternativa que seria gravar seu texto em DBF mesmo exemplo :
cria um arquivo por exemplos
CODI N,5 && CODIGO CLIENTE
TEXTO,C,60 && Campo ainde seria gravado a linha do texto
quando voce for digitar a OBS do cliente voce ler esse TEXTO para um memo linha por linha,edita depois grava de novo o DBT temporario no arquivo DBF.
Ficaria assim
codi=1
texto="teste do sistem"
codi=1
texto="continuaão."
Nao sei se foi claro, e tambem so dei mais uma alternativa.
Limpar arquivo DBT
Moderador: Moderadores
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Limpar arquivo DBT
Nossa essa dica não achei legal, não. Guardar textos/observações em dbf... ummm na MMO essa não é uma boa prática de programar. Todos os registros mesmo que em branco (vazios) no DBF irão ocupar espaço. Daí eu partiria pelos arquivo TXTs.lucimauro escreveu:tambem poderia usar outra alternativa que seria gravar seu texto em DBF
Alexandre, qual seria a diferença entre ZAPear ou re-criar o DBF ? Ambos, você terá que abrir em modo EXCLUSIVO ou melhor dito, terá que todo mundo deixar de compartilhar o DBF que você deseja zerar. Não é ? Então, sendo assim crie o DBF com a mesma estrutura e pronto... não é ? Assim como o colega Euclides indicou.
Ou você está dizendo (desde a sua primeira mensagem) que precisa zapear. O que você estaria querendo dizer é apenas limpar o DBT ou FTP do registros que foram deletados no DBF, mas não quer ZAPear o BD propriamente dito ? Se for isso, então concordo com o Itamar, copiar com "Set Deleted On" seria o mais seguro e o mais rápido levando em conta que irá varrer o arquivo inteiro. De todas as formas qualquer dessas práticas de manutenção, iriam demandar EXCLUSIVIDADE do uso desse arquivo. Mais uma vez, fico convencido que abolindo os campos MEMOs seria a melhor opção e a sua implementação não será tão grande assim. Eu faria !
Se é o exemplo do Euclides que você se refere, discordo pois não está apagando apenas re-criando. Quase o mesmo efeito mas diferente ação.Itamar escreveu:Pelo exemplo que ele colocou eu não vi isso não.
Você ja passou por essa experiência ? Se o colega já disse que ao eliminar no dbf os registros no memo ainda ficam... então algo deve ter herdado...Itamar escreveu:Outra coisa é que o Harbour não herda alguns bugs do clipper não.
Concordo plenamente. E ainda creio (não lembro, mas acho que ja aconteceu comigo) que mesmo no caso de arquivo corrompido, ao utilizar o COPY TO este, copia sem tais registros quebrados.Itamar escreveu:A forma mais segura sempre será copiar o DBF para outro com "set deleted on"
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.
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.
Limpar arquivo DBT
Pessoal,
Quando houver algum problema no zap (que deixe lixo no dbt ou fpt) fazer copia da estrutura e renomear é uma opção.
Conforme dica já postada aqui.
[]´s
Quando houver algum problema no zap (que deixe lixo no dbt ou fpt) fazer copia da estrutura e renomear é uma opção.
Conforme dica já postada aqui.
[]´s
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7929
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Limpar arquivo DBT
Oi.
Nâo precisa de exclusividade para isso.
Saudações,
Itamar M. Lins Jr.
Não no caso do "set deleted on"iriam demandar EXCLUSIVIDADE do uso desse arquivo.
Código: Selecionar todos
set exclusive off
set deleted on
use velho.dbf new shared alias "db1"
use novo.dbf new shared alias "db2"
DbSelectArea("db1")
Do while !eof()
db2->(DbAppend())
db2->field... := db2->field...
DbSkip()
EndDo
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Limpar arquivo DBT
Tem razão Itamar, não precisa exclusividade como COPY TO TEMP.DBF. Mas com certeza irá precisar todo mundo sair na hora de renomear para o nome do arquivo original.
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.
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.

