emotta Posted April 14, 2014 Report Share Posted April 14, 2014 Em determinada rotina preciso saber a estrutura de uma tabela DBF mas não preciso dos dados, apenas da estrutura. Hoje eu dou um DBUSEAREA e depois uso o DBSTRUCT. Para melhorar a performance gostaria de obter a estrutura sem precisar abrir o DBF. Vi certa vez em algum forum (senão nesse foi ou no fivetech ou pctoledo) uma rotina para abrir ler baixo nivel (FOPEN/FREAD/FCLOSE) o cabeçalho do DBF e obter a estrutura, mas nao consegui encontrar. Se alguem souber por favor, poste o local ou o código. Obrigado, Quote Link to comment Share on other sites More sharing options...
kapiaba Posted April 14, 2014 Report Share Posted April 14, 2014 algo assim: http://www.pctoledo.com.br/forum/viewtopic.php?f=43&t=13807&p=80177&hilit=DBSTRUCT#p80177 http://www.pctoledo.com.br/forum/viewtopic.php?p=4096 Veja também, samples\TESTXBRW.PRG abs, Quote Link to comment Share on other sites More sharing options...
vagner Posted April 14, 2014 Report Share Posted April 14, 2014 Olá Edu, A muiiito tempo atrás eu montei algo assim, mas ainda trabalha com dbII e dbrun, mas vamos ver se consigo lhe ajudar se eu lembrar tudo né ? o primeiro field começa sempre na posição 27, contêm 10 caracteres e + 1 de espaço, aí entra o tipo e +1 de espaço, depois mais 3 caracteres que é o tamanho ex.: TESTE C 123Onde o 123 vc precisa colocar o chr() ou seja 3 caractes dá o Chr(3), eu não me lembro exatamente onde fica localizada a posição do primeiro registro, porém é dentro desses primeiros 27 caracters, sabendo-se que até o 4 caracter do dbf define o tipo de arquivo. vou ver se consigo montar algo pra vc Abraços Vendo uns dos post do Kapiaba, Ví que o tamanho do reader, é a 10ª posição com duas casas, também em CHR(), então fica fácil Quote Link to comment Share on other sites More sharing options...
emotta Posted April 14, 2014 Author Report Share Posted April 14, 2014 Kapiaba, é parecido com o segundo link, mas la nao fala da estrutura... Vagner, show de bola, mesclando o 2o link que o Kapiaba postou com a sua explicação ja da pra montar algo... vlw mesmo pessoal abraços Quote Link to comment Share on other sites More sharing options...
vagner Posted April 15, 2014 Report Share Posted April 15, 2014 Olá Edu, só uma coisa, não é Chr() e sim o Asc() :$, falha nossa Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.