DBF Confusa! help

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

kristo
Usuário Nível 2
Usuário Nível 2
Mensagens: 78
Registrado em: 21 Set 2004 16:19

DBF Confusa! help

Mensagem por kristo »

Bom dia caros amigos, espero que todos estejam em paz.
Amigos estou com um problema meio sinistro aqui, tenho um banco de dados com uma coluna somente, a coluna se chama NOME e nela contém o nome da pessoa, so que segunda linha contém o endereço da pessoa, ou seja é uma linha nome e aproxima linha endereço, eu gostaria se fosse possível de acrescentar mais uma coluna nesse banco de dados com o nome de endereço e transferir a linha que consta o endereço para essa nova coluna chamada endereço.
EX.
Nome
José Carlos do Nascimento
Rua pedreiras, 62
Antonio José
Rua Mascote, 98

Gostaria que ficasse assim:
Nome | Endereço
José Carlos do Nascimento | Rua pedreiras, 62
Antonio José | Rua Mascote, 98

Será que é possível uma PRG para essa função?
Se alguém puder monta-la para mim, vai me ajudar muito.
Desculpe o abuso, mais por gentileza me ajudem.

Kristo

Ps. o nome da DBF é "DADOSPF"
Avatar do usuário
alaminojunior
Colaborador
Colaborador
Mensagens: 1717
Registrado em: 16 Dez 2005 21:26
Localização: Ubatuba - SP

Re: DBF Confusa! help

Mensagem por alaminojunior »

kristo escreveu:tenho um banco de dados com uma coluna somente, a coluna se chama NOME e nela contém o nome da pessoa, so que segunda linha contém o endereço da pessoa, ou seja é uma linha nome e aproxima linha endereço,
Assumindo que esta ordem não falha, pode-se incluir o campo endereço no dbf e em seguida:

Código: Selecionar todos

Function main
public ender
use nomes
do while !eof()
    repl endereco with pega_end(recno()+1)
    skip+2
enddo
pack
return

function pega_end(arg)
local estava:= recno()
dbgoto(arg)
ender = nome
delete
dbgoto(estava)
return ender
Codifiquei aqui mesmo, sem testar.

Não me lembro agora o número da conta, mas depois mando o boleto. :))
Compilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
Avatar do usuário
gvc
Colaborador
Colaborador
Mensagens: 1270
Registrado em: 23 Ago 2005 10:57

Re: DBF Confusa! help

Mensagem por gvc »

Eu acho melhor criar ou DBF, só por segurança.

Código: Selecionar todos

function main

local a1

use dadospf alias hum
a1 := dbstruct()

aadd(a1, {'endereco', 'C', 50, 0})

dbcreate('novo', a1)

use novo alias doiz new 

hum->(dbgotop())
while !hum->(eof())
   doiz->(dbappend())
   doiz->nome := hum->nome
   hum->(dbskip())
   doiz->endereco := hum->nome
   hum->(dbskip())
end

dbcloseall()

return(Nil)
Boa sorte. Espero ter ajudado.
"TRS-80/Sincler/Apple/PC - Clipper Winter 85, tlink 1.0 [pc 10 MHz - 640K] {NEZ 8000 2Kb RAM}"
{POG - Programação Orientada a Gambiarra}
kristo
Usuário Nível 2
Usuário Nível 2
Mensagens: 78
Registrado em: 21 Set 2004 16:19

Re: DBF Confusa! help

Mensagem por kristo »

Amigos, desculpe minha ignorância, mais é somente pegar essa função e compilar?
Pois eu estou compilando e não está acontecendo nada ao executar.
Eu não sei montar uma prg inteira com todas as funções, caminhos.
Se não for pedir muito, alguém poderia fazer isso.

Kristo.
Avatar do usuário
alaminojunior
Colaborador
Colaborador
Mensagens: 1717
Registrado em: 16 Dez 2005 21:26
Localização: Ubatuba - SP

Re: DBF Confusa! help

Mensagem por alaminojunior »

Se for usar o meu exemplo:

Abra o dadospf.dbf com o dbu e inclua o novo campo "endereco"
em seguida rode o programinha. Depois de compilar e linkar, é claro.

Para compilar: clipper main
e depois linke: rtlink fi main

Código: Selecionar todos

Function main
public ender
use dadospf
do while !eof()
    repl endereco with pega_end(recno()+1)
    skip+2
enddo
pack
return

function pega_end(arg)
local estava:= recno()
dbgoto(arg)
ender = nome
delete
dbgoto(estava)
return ender
Mas faça uma cópia do dbf antes, pois como eu disse, não testei.
Compilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
kristo
Usuário Nível 2
Usuário Nível 2
Mensagens: 78
Registrado em: 21 Set 2004 16:19

Re: DBF Confusa! help

Mensagem por kristo »

Amigo, fiz tudo como você explicou, compilei, linkei, acrecentei o novo campo "endereco", rodei o executável e nada aconteceu.

Obrigado pela ajuda e paciência.

Kristo
Avatar do usuário
alaminojunior
Colaborador
Colaborador
Mensagens: 1717
Registrado em: 16 Dez 2005 21:26
Localização: Ubatuba - SP

Re: DBF Confusa! help

Mensagem por alaminojunior »

Que coisa.
Se quiser mandar o arquivo para eu tentar, estou a disposição.
edson.alamino@itelefonica.com.br
Compilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
Avatar do usuário
gvc
Colaborador
Colaborador
Mensagens: 1270
Registrado em: 23 Ago 2005 10:57

Re: DBF Confusa! help

Mensagem por gvc »

[kristo]
Qual dos exemplos não funcionou???
"TRS-80/Sincler/Apple/PC - Clipper Winter 85, tlink 1.0 [pc 10 MHz - 640K] {NEZ 8000 2Kb RAM}"
{POG - Programação Orientada a Gambiarra}
kristo
Usuário Nível 2
Usuário Nível 2
Mensagens: 78
Registrado em: 21 Set 2004 16:19

Re: DBF Confusa! help

Mensagem por kristo »

alaminojunior

Meu amigo muito abrigado, realmente funcionou perfeitamente, eu não sei o que eu estava fazendo de errado, obrigado em dispor o seu tempo comigo, um forte abraço.

Paz a todos
kristo
Usuário Nível 2
Usuário Nível 2
Mensagens: 78
Registrado em: 21 Set 2004 16:19

Re: DBF Confusa! help

Mensagem por kristo »

GVC

Eu testei apenas o exemplo do alaminojunior, pois eu estava com dificuldade de fazer rodar a PRG dele, então ficamos batalhando o que estava acontecendo, e como sempre, era EU o ERRO, mais um dia eu aprendo.

Abrigado a todos pela ajuda.

Kristo
Responder