Caros colegas, boa tarde
Possuo a matriz abaixo para criar DBFs, e este é um arquivo de configurações do meu sistema.
Ocorre que esta matriz possui 100 campos e se eu adicionar mais um o compilador da a seguinte informação "imput buffer overflow" e não gera o executavel.
Tem algum jeito de resolver esta limitação ??
Obrigado
Edson
ASTRU:={{"FANTIT","C",40,0},;
{"ENDTIT","C",40,0},;
{"BAITIT","C",20,0},;
{"CIDTIT","C",20,0},;
{"ESTTIT","C",02,0},;
{"CEPTIT","C",08,0},;
{"DC1TIT","C",14,0},;
{"DC2TIT","C",13,0},;
{"DDDTIT","N",03,0},;
{"FONTIT","N",08,0},;
{"FAXTIT","N",08,0},;
{"SPCTIT","N",09,0},;
{"CADTIT","D",08,0},;
{"SOMTON","N",04,0},;
{"SOMTPO","N",01,0},;
{"VDAATA","C",01,0},;
{"LUCBRU","C",01,0},;
{"REGDEL","C",01,0},;
{"ATUIND","C",01,0},;
{"VERCRE","C",01,0},;
{"ETIPRO","C",01,0},;
{"ETITIP","N",01,0},;
{"FORREL","C",01,0},;
{"LINREL","N",02,0},;
{"DIACAR","N",03,0},;
{"INTPAR","N",03,0},;
{"TIPPAG","C",01,0},;
{"CODCLI","N",06,0},;
{"QTIPAR","N",03,0},;
{"INTLIB","C",01,0},;
{"PARMAX","N",03,0},;
{"DESMAX","N",06,2},;
{"CDGVEN","C",01,0},;
{"FORPAG","C",01,0},;
{"COTDOL","N",10,3},;
{"COTOUR","N",10,3},;
{"FATMIN","N",10,3},;
{"JURDIA","N",06,3},;
{"JURPRZ","N",06,2},;
{"ARRCEN","C",01,0},;
{"PCOUNI","C",01,0},;
{"RECVDA","C",01,0},;
{"ENDVDA","C",01,0},;
{"SITREC","C",01,0},;
{"GAVETA","C",01,0},;
{"GAVCOM","C",01,0},; && PORTA GAVETA
{"INFEST","C",01,0},;
{"QUAPRO","C",01,0},;
{"VERSPC","C",01,0},;
{"LISVDA","C",01,0},; && LISTA PRODUTOS VENDA BALCAO
{"CONSUM","C",01,0},;
{"ATALTE","C",01,0},; && ATIVAR ALT-E
{"RLPVDB","C",01,0},; && ORDEM REL.PROD.VDA.BALCAO
{"TX1MEN","C",55,0},;
{"TX2MEN","C",55,0},;
{"OBPROV","C",01,0},; && OBS.PRODUTO NAS VENDAS
{"DTVDAV","C",01,0},; && DATA VENDAS
{"DTULCP","C",01,0},; && DATA ULTIMA COMPRA
{"ATUSPC","N",04,0},; && ATUALIZAR CONSUL.SPC
{"IMP10C","C",20,0},; && IMPRESSORA
{"IMP12C","C",20,0},;
{"IMPCDL","C",20,0},; && CONDEN LIG
{"IMPCDD","C",20,0},; && CONDEN DES
{"IMPNGL","C",20,0},; && NEGRIT LIG
{"IMPNGD","C",20,0},; && NEGRIT DES
{"IMP06L","C",20,0},; && 6 LPP
{"IMP08L","C",20,0},; && 8 LPP
{"INFCOD","C",01,0},;
{"IMPVDA","C",01,0},;
{"IMPRED","C",01,0},;
{"IMPSEL","C",01,0},;
{"ANOTAC","C",01,0},;
{"FICCLI","C",01,0},;
{"IMPPRE","C",01,0},;
{"IFCLIEN","C",01,0},;
{"IFFORNE","C",01,0},;
{"IFCONVE","C",01,0},;
{"IFVENDE","C",01,0},;
{"IFFECHA","C",01,0},;
{"IFCOMPR","C",01,0},;
{"IFCAIXA","C",01,0},;
{"IFRECEB","C",01,0},;
{"IFPAGAM","C",01,0},;
{"IFPRODU","C",01,0},;
{"IFGRUPO","C",01,0},;
{"IFSUBGR","C",01,0},;
{"IFVENDA","C",01,0},;
{"IFVENIT","C",01,0},;
{"IFVENFE","C",01,0},;
{"IFCHEQU","C",01,0},;
{"IFCARTA","C",01,0},;
{"IFAGEND","C",01,0},;
{"IFTELEF","C",01,0},;
{"IFUSUAR","C",01,0},;
{"IFCONTR","C",01,0},;
{"IFNEGAT","C",01,0},;
{"IFBANCO","C",01,0},;
{"IFCOBRA","C",01,0},;
{"IFBANCO","C",01,0},;
{"IFTEXTO","C",01,0},;
{"IFCONFI","C",01,0}}
Matriz
Moderador: Moderadores
Re: Matriz
Crie uma matriz vazia e adicione as matrizes de cada campo, uma a uma. Eu fazia dessa forma.Tem algum jeito de resolver esta limitação ??
[]'s
Maligno
http://www.buzinello.com/prg
Maligno, boa noite.
Eu consegui criar a matriz e gerar o DBF, porém o DBU nao consegue listar todos os campos, e o dBase, mesmo estando no path, retorna a mensagem "dBase cannot be found (30)" e isso só acontece no XP, então eu tenho que entrar no diretorio do dBase, chamar o program e voltar onde estão os DBFs. Dá para arrumar isto também ?
Obrigado
Edson
Eu consegui criar a matriz e gerar o DBF, porém o DBU nao consegue listar todos os campos, e o dBase, mesmo estando no path, retorna a mensagem "dBase cannot be found (30)" e isso só acontece no XP, então eu tenho que entrar no diretorio do dBase, chamar o program e voltar onde estão os DBFs. Dá para arrumar isto também ?
Obrigado
Edson
Você tem duas formas, a feia:Edmo escreveu:Maligno, obrigado pela dica, mas, da para você me dar um exemplo simples ?
Código: Selecionar todos
DBF := {}
AAdd(DBF, {"TEXTO" ,"C",50,0} )
AAdd(DBF, {"NUMERO","N", 5,2} )
AAdd(DBF, {"DATA" ,"D", 8,0} )
AAdd(DBF, {"LOGICO","L", 1,0} )Código: Selecionar todos
#xcommand ADDFLD <name> IN <array> CHA <size> =>
AAdd(<array>,{<name>,"C",<size>,0})
#xcommand ADDFLD <name> IN <array> NUM <size> [,<dec>] =>
AAdd(<array>,{<name>,"N",<size>,[<dec>]})
#xcommand ADDFLD <name> IN <array> DAT =>
AAdd(<array>,{<name>,"D",8,0})
#xcommand ADDFLD <name> IN <array> LOG =>
AAdd(<array>,{<name>,"L",1,0})Código: Selecionar todos
DBF := {}
AddFld "TEXTO" in DBF cha 50
AddFld "NUMERO" in DBF num 5,2
AddFld "DATA" in DBF
AddFld "LOGICO" in DBFMaligno
http://www.buzinello.com/prg
Se você conseguiu criar o DBF e ele funciona no programa, o problema não está nem no DBF e nem na forma como ele foi criado. É problema no DBU. Se dá pra arrumar, não sei. Nunca usei DBU. Eu fazia manutenções pelo FoxBase. Não é uma maravilha de programa, mas cumpria bem o seu papel, ou pelo menos, fazia o que eu precisava que fizesse. Se quiser experimentar, tem pra download na minha página.Edmo escreveu:Eu consegui criar a matriz e gerar o DBF, porém o DBU nao consegue listar todos os campos, e o dBase, mesmo estando no path, retorna a mensagem "dBase cannot be found (30)" e isso só acontece no XP, então eu tenho que entrar no diretorio do dBase, chamar o program e voltar onde estão os DBFs. Dá para arrumar isto também ?
[]'s
Maligno
http://www.buzinello.com/prg

