[firebase-br] Conversao de valores

Anderson Miranda Barrozo andersonpaduarj em hotmail.com
Sáb Set 29 17:35:08 -03 2007


Maria,

     Nesta parte do seu programa vc pega os valores:

                                 posicao5:=Pos(',',s3);
                                 lpr_valor_nota:=copy(s3,1,posicao5-1);
                                 s4:=copy(s3,posicao5+1,Length(s3));

     Sugiro que vc trate esta variavel Lpr_valor_nota, ou seja, primeiro vc 
pegar o valor e depois vc troque o ponto pela virgula, pois para atualizar 
campo double precision tem que ser: 200,00


Anderson



>From: "Maria Ap Rosa da Silva" <mariaaprs em hotmail.com>
>Reply-To: FireBase <lista em firebase.com.br>
>To: lista em firebase.com.br
>Subject: Re: [firebase-br] Conversao de valores
>Date: Sat, 29 Sep 2007 17:02:42 -0300
>
>origem é em clarion com sql, este é o arquivo que geraram pra mim:
>(R,Numero, Data, Data Emissão, Série, Valor, Fornecedor
>D,Numero, Produto, Quantidade, Valor Unitário, Total, Icms, Vlr Unit 
>Liquido
>
>R,004556,'2007-08-01','3',8452.50,12211
>D,004556,3591,14700.00,0.5750,8452.50,0.00,8452.50)
>
>como a separação é feita com virgula, então criei esta rotina:
>      try
>           if opendialog1.Execute then
>           begin
>               assignfile(arq,opendialog1.FileName);//escolhe o arquivo txt
>               reset(arq); //posiciona no inicio do arquivo
>               vm_importado:=0;
>               vm_alterado:=0;
>               contador:=0;
>
>               Memo.Clear;
>               Memo.Lines.Add('||> Importação: '+ opendialog1.FileName +'
><||');
>               Memo.Lines.Add('    ');
>
>               // importação
>               while not eof(arq) do
>               begin
>                   readln(arq,s); //grava o conteudo da linha na variavel s
>                   contador:=contador + 1;
>                   if contador > 3 then
>                   begin
>
>                           posicao:=copy(s,1,1);
>                           // MESTRE
>********************************************
>                           IF posicao = 'R' THEN
>                           begin
>                                 posicao1:=Pos(',',s);
>                                 s:=copy(s,posicao1+2,Length(s));
>
>                                 posicao2:=Pos(',',s);
>                                 lpr_numero_nota:=copy(s,1,posicao2-1);
>                                 s1:=copy(s,posicao2+2,Length(s));
>
>                                 posicao3:=Pos(',',s1);
>                                 lpr_data_emissao:=copy(s1,1,posicao3-2);
>                                 data:=copy(lpr_data_emissao,6,2)+
>'/'+copy(lpr_data_emissao,09,2)+ '/'+ copy(lpr_data_emissao,01,4);
>                                 s2:=copy(s1,posicao3+2,Length(s1));
>
>                                 posicao4:=Pos(',',s2);
>                                 lpr_serie:=copy(s2,1,posicao4-2);
>                                 s3:=copy(s2,posicao4+2,Length(s2));
>
>                                 posicao5:=Pos(',',s3);
>                                 lpr_valor_nota:=copy(s3,1,posicao5-1);
>                                  s4:=copy(s3,posicao5+1,Length(s3));
>
>                                 for_cod:=copy(s4,1,posicao5-1);
>
>                                Qrpesquisa.Close;
>                                Qrpesquisa.ParamByName('NOTA').AsInteger :=
>QrnotasLPR_NUMERO_NOTA.AsInteger;
>                                Qrpesquisa.ParamByName('CODIGO').AsInteger 
>:=
>QrpesquisaFOR_COD.AsInteger;
>                                Qrpesquisa.Open;
>                                 if Qrpesquisa.recordcount = 0 then
>                                 begin
>                                     Qrnotas.Append;
>
>
>                                     QrnotasLPR_NUMERO_NOTA.AsInteger   :=
>strtoint(LPR_NUMERO_NOTA);
>                                     QrnotasLPR_DATA_EMISSAO.AsDateTime :=
>strtodate(data);
>                                     QrnotasLPR_SERIE.AsInteger         :=
>strtoint(LPR_SERIE);
>                                     QrnotasLPR_VALOR_NOTA.Value        :=
>strtoint(LPR_VALOR_NOTA);
>                                     QrnotasFOR_COD.Value               :=
>strtoint(FOR_COD);
>
>                                     Qrnotas.Post;
>                                  end;
>                         end;
>                         // FIM MESTRE
>********************************************
>
>
>
>                         // DETALHE
>********************************************
>                         IF posicao = 'D' THEN
>                         begin
>                           posicao1:=Pos(',',s);
>                        //   lpr_numero_nota:=copy(s,1,posicao2+2);
>                           s1:=copy(s,posicao1+2,Length(s));
>
>                           posicao2:=Pos(',',s1);
>                           pro_cod:=copy(s1,1,posicao2-1);
>                           s2:=copy(s1,posicao2+2,Length(s1));
>
>                           posicao3:=Pos(',',s2);
>                           ilp_qde:=copy(s2,1,posicao3-1);
>                           s3:=copy(s2,posicao3+2,Length(s2));
>
>                           posicao4:=Pos(',',s3);
>                           ilp_custo_unitario:=copy(s3,1,posicao4-1);
>                           s4:=copy(s3,posicao4+2,Length(s3));
>
>                           posicao5:=Pos(',',s4);
>                           ilp_custo_total:=copy(s4,1,posicao5-1);
>                           s5:=copy(s4,posicao5+2,Length(s4));
>
>                           posicao6:=Pos(',',s5);
>                           ilp_icms:=copy(s5,1,posicao7-1);
>                           s6:=copy(s3,posicao6,Length(s5));
>
>                           ilp_custo_unit_liq:=copy(s6,1,2);
>
>                           Qrpesquisa.Close;
>                           Qrpesquisa.ParamByName('NOTA').AsInteger :=
>QrnotasLPR_NUMERO_NOTA.AsInteger;
>                           Qrpesquisa.ParamByName('CODIGO').AsInteger :=
>QrpesquisaFOR_COD.AsInteger;
>                           Qrpesquisa.Open;
>                           if Qrpesquisa.recordcount = 0 then
>                           begin
>                               Qrnotas.Append;
>
>
>                                QrnotasLPR_NUMERO_NOTA.AsInteger   :=
>strtoint(LPR_NUMERO_NOTA);
>                                QrnotasLPR_DATA_EMISSAO.AsDateTime :=
>strtodate(LPR_DATA_EMISSAO);
>                                QrnotasLPR_SERIE.AsInteger         :=
>strtoint(LPR_SERIE);
>                                QrnotasLPR_VALOR_NOTA.Value        :=
>strtoint(LPR_VALOR_NOTA);
>                                QrnotasFOR_COD.Value               :=
>strtoint(FOR_COD);
>
>                              Qrnotas.Post;
>                             end;
>
>                           end;
>                   end;
>               end;
>           end;
>        finally
>           if opendialog1.FileName <> ''then
>           begin
>              closefile(arq);
>              showMessage('     Importação OK     ');
>           end
>           else
>              showMessage('     Importação Cancelada     ');
>        end;
>        Memo.Lines.Add('       ');
>
>Memo.Lines.Add('***************************************************');
>        Memo.Lines.Add('Quantidade de Registros Importados = '+
>inttostr(vm_importado));
>        Memo.Lines.Add('       ');
>
>Memo.Lines.Add('***************************************************');
>        Memo.Lines.Add('Quantidade de Registros Alterados  = '+
>inttostr(vm_alterado));
>
>        if SaveDialog1.Execute then
>        begin
>            Memo.Lines.SaveToFile(SaveDialog1.FileName);
>            //Memo.Clear;
>        end;
>
>
>O novo campo é LPR_VALOR_NOTA do tipo double precision
>
>
> >From: "Anderson Miranda Barrozo" <andersonpaduarj em hotmail.com>
> >Reply-To: FireBase <lista em firebase.com.br>
> >To: lista em firebase.com.br
> >Subject: Re: [firebase-br] Conversao de valores
> >Date: Sat, 29 Sep 2007 18:39:16 +0000
> >
> >Maria,
> >
> >      Esclareca um pouco mais:
> >
> >          . Arquivo origem também e Interbase.
> >          . Qual tipo de campo estava Arquivo Origem e qual tipo campo 
>novo
> >ARQUIVO.
> >          . Vc criou uma rotina para fazer esta transferencia ou esta
> >usando
> >alguma ferramenta.
> >
> >Anderson Miranda
> >
> >
> > >From: "Maria Ap Rosa da Silva" <mariaaprs em hotmail.com>
> > >Reply-To: FireBase <lista em firebase.com.br>
> > >To: lista em firebase.com.br
> > >Subject: [firebase-br] Conversao de valores
> > >Date: Sat, 29 Sep 2007 14:59:45 -0300
> > >
> > >boa tarde a todos, preciso de ajuda urgente.
> > >Estou desenvolvendo um sistema em Delphi e Interbase
> > >Gostaria de saber como faço para importar valores.
> > >Quero importar notas fiscais de outro sistema, já me pasaram o arquivo 
>a
> > >ser
> > >importado, só que quando chega no valor da nota, dá mensagem: 250.00 is
> >not
> > >a valid integer value.
> > >como faço para tirar a virgula?
> > >
> > >_________________________________________________________________
> > >Inscreva-se no novo Windows Live Mail beta e seja um dos primeiros a
> >testar
> > >as novidades-grátis. Saiba mais:
> > 
> >http://www.ideas.live.com/programpage.aspx?versionId=5d21c51a-b161-4314-9b0e-4911fb2b2e6d
> > >
> > >
> > >______________________________________________
> > >FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> > >Para editar sua configuração na lista, use o endereço
> > >http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> > >Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> >
> >_________________________________________________________________
> >Chegou o Windows Live Spaces com rede social. Confira
> >http://spaces.live.com/
> >
> >
> >______________________________________________
> >FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> >Para editar sua configuração na lista, use o endereço
> >http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> >Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>_________________________________________________________________
>Inscreva-se no novo Windows Live Mail beta e seja um dos primeiros a testar
>as novidades-grátis. Saiba mais:
>http://www.ideas.live.com/programpage.aspx?versionId=5d21c51a-b161-4314-9b0e-4911fb2b2e6d
>
>
>______________________________________________
>FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>Para editar sua configuração na lista, use o endereço 
>http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>Para consultar mensagens antigas: http://firebase.com.br/pesquisa

_________________________________________________________________
Descubra como mandar Torpedos do Messenger para o celular! 
http://mobile.msn.com/





Mais detalhes sobre a lista de discussão lista