É mais ou menos assim, meu sistema terá que ler e gravar informações em algumas tabelas no sistema anterior que utiliza DBF.
PROCEDURE Abre_Arq()nI Is numeric
// Abertura do SELARQ.DBF, nesta tabela estão cadastradas todas as tabelas utilizadas pelo sistema antigo
IF HDBOpen("SELARQ", "SA", "C:\TESTE\SELARQ.DBF") THEN
HDBIndex("SELARQ", "C:\TESTE\SELARQ.NTX", "1") // Este indice é SISTEMA + NOME DO ARQUIVO
IF HReadSeek("SELARQ", "1", ["RECEBER", "CADCLI"]) // Posiciona no registro referente ao sistema CTAS A RECEBER e Arquivo CADCLI
// Abre o cadastro de clientes
IF HDBOpen("CADCLI", "CC", "C:\TESTE\CADCLI.DBF")
// Verifica os indices do definidos para CADCLI
FOR nI = 1 TO 15
// Nome do arquivo
sIndNome = "SA.SE_IND" + NumToString(nI,"02d") // Nome do Indice, tipo CLCODX, CLNOMX
IF NoSpace({sIndNome}) <> "" THEN // Usa indirection = Macro substituição
// Abre o indice numero nI que vai de [1 a 15]
//
HDBIndex("CADCLI", sDirRec + NoSpace({sIndNome}) + ".NTX", NoSpace(NumToString(nI,"2d")) )
END
END
// Aqui posso utilizar normalmente os comandos HReadSeek, HReadFirst, HReadNext ...
// para ler e gravar no cadastro de clientes do outro sistema.
//
//
//
// Depois, tenho que fechar o CADCLI.DBF
HClose("CADCLI")
END
END
// Fechar o SELARQ.DBF
HClose("SELARQ")
END
Olá, se não for muito pedir, pode passar a rotina que fez ?
Todo material e toda rotina é bem vinda para nós, leigos iniciantes.
grato
silvio