Array
(
)

Transferencia de dados DBF para Paradox...

Janete
   - 13 mar 2006

Estou transferindo o banco de dados com extenso DBF para DB (Paradox), estou fazendo um while pegando os dados dos campos DBF em uma table e jogando em outra Table com banco paradox. OK ele transfere, mas nos campos de descrio qdo tem algum tipo de acentuao, sempre fica com caracteres estranhos nos lugares dos acentos os , coisas assim... Tem como fazer algo que no deixe acontecer isso, q transfira os dados sem q de esse problema nos caracteres?


Edilcimar
   - 14 mar 2006

Eu j fiz este tipo de transferncia e nunca tive problema, quais os componentes que est utilizando?


Aroldo Zanela
   - 14 mar 2006

Colega,

O BDE possui componente e mtodos (TBatchMove) para efetuar este tipo de transferncia, sem necessidade de cdigo. Sobre o seu problema, verifique as configuraes de inicializao do BDE no BDE Administrator -> Configuration -> INIT ->Langdriver.


Aroldo Zanela
   - 14 mar 2006

Colega,

Estava verificando com maior ateno no BDE Administrator e constatei que por padro, a configurao do Paradox e dBase so realmente diferentes. Verifique ento:

Configuration -> Drivers -> Nativo -> Paradox -> LangDriver
Configuration -> Drivers -> Nativo -> dBase-> LangDriver

Como nunca fiz este tipo de tarefa, no tenho certeza, mas acho que o caminho.


Janete
   - 14 mar 2006


Citao:
Eu j fiz este tipo de transferncia e nunca tive problema, quais os componentes que est utilizando?


Table


Edilcimar
   - 14 mar 2006

eu coloco uma table para um dbf(clipper), e depois uma table para o piradox 7, jogo todos os campos do dbf para uma varivel e depois fao um append no piradox


Paulocesar1301
   - 14 mar 2006

se fores tratar registro a registro manualmente, podes tentar:

#Cdigo


function AjustaAcento(Str: ShortString): WideString; Export; StdCall;
Const SemAjuste = ;
ComAjuste = ܴ;

Var x: Integer;
begin
for x := 1 to Length(Str) do
if Pos(Str[x],SemAjuste) <> 0 then
Str[x] := ComAjuste[Pos(Str[x], SemAjuste)];

Result := Str;
Result := UpperCase(Trim(Result));
end;



Paulocesar1301
   - 14 mar 2006

se fores tratar registro a registro manualmente, podes tentar:

#Cdigo


function AjustaAcento(Str: ShortString): WideString; Export; StdCall;
Const SemAjuste = ;
ComAjuste = ܴ;

Var x: Integer;
begin
for x := 1 to Length(Str) do
if Pos(Str[x],SemAjuste) <> 0 then
Str[x] := ComAjuste[Pos(Str[x], SemAjuste)];

Result := Str;
Result := UpperCase(Trim(Result));
end;



Paulocesar1301
   - 14 mar 2006

se fores tratar registro a registro manualmente, podes tentar:

function AjustaAcento(Str: ShortString): WideString; Export; StdCall;
Const SemAjuste = ;
ComAjuste = ܴ;

Var x: Integer;
begin
for x := 1 to Length(Str) do
if Pos(Str[x],SemAjuste) <> 0 then
Str[x] := ComAjuste[Pos(Str[x], SemAjuste)];

Result := Str;
Result := UpperCase(Trim(Result));
end;


Paulocesar1301
   - 14 mar 2006

se fores tratar registro a registro manualmente, podes tentar:

function AjustaAcento(Str: ShortString): WideString; Export; StdCall;
Const SemAjuste = ;
ComAjuste = ܴ;

Var x: Integer;
begin
for x := 1 to Length(Str) do
if Pos(Str[x],SemAjuste) <> 0 then
Str[x] := ComAjuste[Pos(Str[x], SemAjuste)];

Result := Str;
Result := UpperCase(Trim(Result));
end;


Paulocesar1301
   - 14 mar 2006

se fores tratar registro a registro manualmente, podes tentar:

function AjustaAcento(Str: ShortString): WideString; Export; StdCall;
Const SemAjuste = ;
ComAjuste = ܴ;

Var x: Integer;
begin
for x := 1 to Length(Str) do
if Pos(Str[x],SemAjuste) <> 0 then
Str[x] := ComAjuste[Pos(Str[x], SemAjuste)];

Result := Str;
Result := UpperCase(Trim(Result));
end;


Paulocesar1301
   - 14 mar 2006

Amigos Administradores/Moderadores...

No sei o que estava acontecendo, um pequeno erro na hora de encaminhar mensagens, porm no me retornada tal informao... desculpem as duplicidades.

PS.: se for possvel exclu-las seria providencial