Página 6 de 6
xHarbour 100% Orientado a Objetos - Uma pequena introdução
Enviado: 04 Mai 2012 12:02
por alxsts
Olá!
Obrigado Stanis.
Escrevi em uma máquina onde não há Clipper instalado e não testei.
Faltaram duas chaves. O correto seria:
Código: Selecionar todos
AAdd( aArray, { { "Codigo", "N", 3, 0 }, { "Nome", "C", 50, 0 } } )
Desculpem o inconveniente.
xHarbour 100% Orientado a Objetos - Uma pequena introdução
Enviado: 04 Mai 2012 12:45
por Stanis Luksys
alxsts escreveu:AAdd( aArray, { { "Codigo", "N", 3, 0 }, { "Nome", "C", 50, 0 } } )
Não testei, mas isso não funcionará, a função DbCreate() deve receber a matriz de um campo em cada 'linha' do array. Cada array com a declaração de um campo deve ser um elemento da matriz principal.
Não daria certo colocar em um único elemento, vários campos. Desta forma que você colocou, o tamanho de aArray será 1, quando o correto seria 2.
Teste com Len(aArray).
Abraços.
xHarbour 100% Orientado a Objetos - Uma pequena introdução
Enviado: 05 Mai 2012 11:15
por bencz
Bom dia....
testei o código... e nao funcionou... quando tento adicionar um "cliente"... recebo o seguinte erro...

xHarbour 100% Orientado a Objetos - Uma pequena introdução
Enviado: 05 Mai 2012 15:51
por alxsts
Olá!
Realmente ainda estava com o
bug mencionado. Segue o código correto para futuros utilizadores:
Código: Selecionar todos
Function Main()
LOCAL aArray, nInd, nLen
CLS
aArray := { { "Codigo", "C", 5, 0 }, { "Nome", "C", 50, 0 } }
DbCreate( "Clientes", aArray ) // ou simplesmente DbCreate( "Clientes", { { "Codigo", "N", 3, 0 }, { "Nome", "C", 50, 0 } } )
? "Tabela 'Clientes' criada"
aArray := {}
AAdd( aArray, { "1", "VARIG" } )
AAdd( aArray, { "2", "VASP" } )
AAdd( aArray, { "3", "TRANSBRASIL" } )
AAdd( aArray, { "4", "CRUZEIRO DO SUL" } )
AAdd( aArray, { "5", "PANAM" } )
AAdd( aArray, { "6", "BRANIFF" } )
USE Clientes EXCLUSIVE NEW
nLen := Len( aArray )
FOR nInd := 1 TO nLen
Clientes->( DbAppend() )
Clientes->codigo := aArray[ nInd, 1 ]
Clientes->nome := aArray[ nInd, 2 ]
NEXT
Clientes->( DbCloseArea() )
? "6 registros incluidos."
? "Fim de processamento. Tecle algo:"
Inkey(10)
RETURN NIL
Stanis Luksys escreveu:Note que no exemplo original, o código é tipo caracter, tamanho 5, e não numérico como foi colocado agora
Bencz:
quanto ao erro que você está recebendo, certamente tem a ver com o comentário do Stanis, reproduzido acima. Delete a tabela Clientes que você tem e recrie usando o código que acabo de postar (compile e linkedite este código).
xHarbour 100% Orientado a Objetos - Uma pequena introdução
Enviado: 31 Mai 2013 10:59
por bencz
blz, como q se faz a exclusão do item na tabela DBF ?? ( nao é nem mais duvida sobre a programação OO, e sim, sobre o arquivo DBF mesmo xD )
xHarbour 100% Orientado a Objetos - Uma pequena introdução
Enviado: 31 Mai 2013 11:23
por alxsts
Olá!
Não sei se entendi a tua dúvida: DELETE ou DbDelete(). Seria isto?
xHarbour 100% Orientado a Objetos - Uma pequena introdução
Enviado: 03 Jun 2013 00:34
por bencz
a minha duvida, seria de como excluir um elemento do arquivo DBF
por exemplo, usando esse código do tutorial aqui postado, e eu quero criar uma opção para deletar um elemento do arquivo DBF, por exemplo, "varig", como posso fazer isso ?