Ir para conteúdo


Foto

WebService para Cotação de Moedas


Não há respostas para este tópico

#1 Jhonas

Jhonas
  • Monitores
  • 7.469 posts
  • Gender:Male
  • Location:São Paulo

Postado 04 agosto 2011 - 12:32

Pessoal, pesquisando na net, vi que muitos se interessam por terem em seus projetos um webservice que de em tempo real a cotação de moedas, porem, não existem exemplos praticos que possibilitem o seu uso sem muitas complicações... então resolvi disponibilizar a todos um exmplo feito em delphi 7, mas creio que não aja problemas em outras versões tambem.

Em um form coloque um botão e um StringGrid

No StringGrid, modifique as propriedades:

ColCount = 2

DefaultColWidth = 200

RowCount = 9

agora vamos ao código:

CODE
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Grids;

type
  TForm1 = class(TForm)
    Button1: TButton;
    StringGrid1: TStringGrid;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

uses UrlMon;

procedure TForm1.Button1Click(Sender: TObject);
var
   caminho, linha, s, f, g : string;
   arq : TextFile;
   cc, x, y, z : integer;

   Function Download(FSource, FDest: String): Boolean;
   begin
     try
       Result := UrlDownloadToFile(nil, PChar(Fsource),PChar(FDest), 0, nil) = 0;
     except
       Result := False;
     end;
   end;

begin
   // WEB SERVICE DE COTAÇÃO DO DOLAR

   cc := 0; x := 0; y := 0; z := 0;
   caminho := 'C:\cotacao.htm';
   Download('http://cotacao.republicavirtual.com.br/web_cotacao.php?formato=javascript', caminho);
   AssignFile ( arq, caminho);
   Reset ( arq );

   while not Eof(arq) do
   begin
      inc(cc);
      Readln ( arq, linha);
      s := trim(linha);
      while Pos('''', S) > 0 do
         S[Pos('''', S)] := ' ';

      if cc > 2 then
         begin

            if Pos(':',s) > 0 then
               begin
                  f := trim(copy(s,1,Pos(':',s)-1));
                  g := trim(copy(s,Pos(':',s)+1,20));

                  // MOSTRAR A COTAÇÃO EM UM STRINGGRID
                  StringGrid1.Cells[0,0]:= 'MOEDA';
                  StringGrid1.Cells[1,0]:= 'COTAÇÃO';
                  StringGrid1.Cells[0,cc-2]:= f;
                  StringGrid1.Cells[1,cc-2]:= g;
               end;
         end;
   end;
   CloseFile ( arq );

end;

end.


O resultado no StringGrig será parecido com isso

QUOTE
dolar_comercial_compra.....1,5740 ,
dolar_comercial_venda.......1,5755 ,
dolar_paralelo_compra.......1,5900 ,
dolar_paralelo_venda.........1,7300 ,
euro_dolar_compra............1,4130 ,
euro_dolar_venda..............1,4140 ,
euro_real_compra..............2,2250 ,
euro_real_venda................2,2270


o webservice é disponibilizado por este link

http://www.republica...ao/exemplos.php

OBS: voces poderão observar que é feito o download do arquivo (usei o Formato de retorno: javascript) para ser manipulado e disposto num StringGrid

URL: http://cotacao.repub...mato=javascript

abraços










Responder



  


0 usuário(s) está(ão) lendo este tópico

0 membros, 0 visitantes, 0 membros anônimos