Retornar nome do dbf corrente
Moderador: Moderadores
Retornar nome do dbf corrente
Alguem sabe que comando do xHarbour eu uso para poder retornar o nome do arquivo dbf que está sendo utilizando ?
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Re: Retornar nome do dbf corrente
#include "DbInfo.ch"
DBInfo(DBI_FULLPATH)
DBInfo(DBI_FULLPATH)
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
- rochinha
- Administrador

- Mensagens: 4664
- Registrado em: 18 Ago 2003 20:43
- Localização: São Paulo - Brasil
- Contato:
Re: Retornar nome do dbf corrente
Amiguinhos,
Desde quando usava Clipper eu usava a função DBF().
Caso queira saber quantos indices estão ativos para a área corrente use:
Caso queira uma lista de indices use:
Caso queira saber os nomes de todos DBFs abertos no momento use:
Desde quando usava Clipper eu usava a função DBF().
Caso queira saber quantos indices estão ativos para a área corrente use:
Código: Selecionar todos
FUNCTION NDXCOUNT()
LOCAL counter
FOR counter = 1 TO 15
IF EMPTY(INDEXKEY(counter))
EXIT
ENDIF
NEXT
RETURN (counter-1)
Código: Selecionar todos
FUNCTION ordList()
LOCAL counter
PUBLIC nomes_ndx := {}
FOR counter = 1 TO 15
IF EMPTY(INDEXKEY(counter))
EXIT
ENDIF
AADD(nomes_ndx,ORDNAME(counter))
NEXT
RETURN nomes_ndx
Código: Selecionar todos
FUNCTION dbfList()
LOCAL counter
PUBLIC nomes_dbf := {}
FOR counter = 1 TO 255
IF EMPTY(ALIAS(counter))
EXIT
ENDIF
AADD(nomes_dbf,ALIAS(counter))
NEXT
RETURN nomes_dbf
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Re: Retornar nome do dbf corrente
Olá Rochinha,
O nome do ALIAS nem sempre é o mesmo nome do DBF, eX.:
use AGENDA alias AGEN shared
DBF()// AGEN (acho errado, no meu ver deveria voltar o nome do DBF e volta o nome do ALIAS)
ALIAS() // AGEN
O nome do ALIAS nem sempre é o mesmo nome do DBF, eX.:
use AGENDA alias AGEN shared
DBF()// AGEN (acho errado, no meu ver deveria voltar o nome do DBF e volta o nome do ALIAS)
ALIAS() // AGEN
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
Retornar nome do dbf corrente
Pessoal, aproveito o tema deste tópico pra perguntar o seguinte:
Numa pasta eu tenho vários dbfs e não sei o nome de nenhum deles.
Como faço para listar na tela o nome de cada um desses arquivos, um a um ?
E sim, eu pesquisei no fórum, e o tópico q achei e q chegou mais perto do q necessito foi este, sobre ADIR e cia
Grato
Numa pasta eu tenho vários dbfs e não sei o nome de nenhum deles.
Como faço para listar na tela o nome de cada um desses arquivos, um a um ?
E sim, eu pesquisei no fórum, e o tópico q achei e q chegou mais perto do q necessito foi este, sobre ADIR e cia
Grato
lugab
Retornar nome do dbf corrente
usa a função Directory...
Código: Selecionar todos
#include "Directry.ch"
PROCEDURE Main
LOCAL aDir
aDir := Directory( "*.prg" )
AEval( aDir, {|a| QOut( a[F_NAME] ) } )
aDir := Directory( "C:", "V" )
AEval( aDir[1], {|x| QOut( x ) } )
RETURN
Retornar nome do dbf corrente
Kiko, não fui feliz em meu pedido de ajuda.
Na verdade eu tenho uma rotina para pegar todos os dbfs (não sei quantos e nem quais os seus nomes) , que é bem simples, veja:.
Eu só não sei como pegar cada dbf encontrado e dar um PACK , automaticamente e encerrar a rotina logo após o último dbf encontrado e packeado.
Vc, ou algum outro colega, saberia como fazer ?
Na verdade eu tenho uma rotina para pegar todos os dbfs (não sei quantos e nem quais os seus nomes) , que é bem simples, veja:.
Código: Selecionar todos
private vdir[adir("*.dbf")]
adir("*.dbf",vdir)
Vc, ou algum outro colega, saberia como fazer ?
lugab
-
joaoalpande
- Usuário Nível 2

- Mensagens: 93
- Registrado em: 24 Fev 2005 09:04
- Localização: CAMPO GRANDE / MS
Retornar nome do dbf corrente
com xharbour faço assim , não sei se é igual no harbour
Código: Selecionar todos
Function Zapea()
LOCAL aDir, aFile, cFile, nI
aDir:={}; aFile:={}
aDir:=Directory("*.DBF")
AEval(aDir,{|f| AAdd(aFile,f[1])})
FOR nI=1 TO Len(aFile)
cFile:=aFile[nI]
IF !Protect(cFile)
USE (cFile) NEW
ZAP
PACK
USE
ENDIF
NEXT nI
RETURN (Nil)
Editado pela última vez por Pablo César em 12 Fev 2012 09:56, em um total de 1 vez.
Razão: Mensagem editada para colocar a tag [ code ]<br>Veja como utilizar esta tag: http://www.pctoledo.com.br/forum/faq.php?mode=bbcode#f2r1
Razão: Mensagem editada para colocar a tag [ code ]<br>Veja como utilizar esta tag: http://www.pctoledo.com.br/forum/faq.php?mode=bbcode#f2r1
Retornar nome do dbf corrente
Obrigado Kiko e João, graças a vcs o problema ta resolvido.
Espero poder retribuir-lhes um dia
Gabriel
Espero poder retribuir-lhes um dia
Gabriel
lugab


