Ir para conteúdo
  • Cadastre-se

dev botao

Classe para cotação de ações


  • Este tópico foi criado há 4293 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Olá pessoal,

Precisei implantar um recurso de cotação de ações em meu ERP, pesquisei bastante sobre o assunto e acabei desenvolvendo uma pequena e muito simples classe que resolveu meu problema! A questão era basicamente acessar o atual valor de um ativo e apresentar em uma tela do sistema.

Envio em anexo a classe caso alguém tenha a mesma necessidade! Basicamente é feito um acesso ao site do Yahoo Finance e feito o download de um arquivo .csv por meio do ACBrDownload. Existem outros sites de onde podem ser baixadas estas informações, porem este do Yahoo me atendeu perfeitamente.

Sei que não é o foco do componente AcBr mas fica ai uma contribuição! No momento não pretendo evoluir na melhoria desta classe, mas já vi algumas possibilidades de melhorar no futura para adicionar alguns recursos interessantes ao ERP...

Abaixo um exemplo de utilização da classe...


procedure TfrmTeste.btnCotacaoClick(Sender: TObject);

var

   vAtivo : String;

   vCotacao : TCotacao;

begin

   vAtivo := InputBox('Cotação', 'Cotação:', 'PETR4.SA');


   vCotacao := TCotacao.Create(Self);

   try

      if vCotacao.BuscaCotacao(vAtivo) then

      begin

         ShowMessage(

            'Ativo: '       + vCotacao.Ativo + #13 +

            'Cotacao: '     + FormatFloat('#,##0.00', vCotacao.Cotacao) + #13 +

            'Data: '        + vCotacao.Data + #13 +

            'Hora: '        + vCotacao.Hora + #13 +

            'Variação R$: ' + FormatFloat('#,##0.00', vCotacao.ValorVariacao) + #13 +

            //'Variação %: '  + FormatFloat('#,##0.00', vCotacao.PercentualVariacao) + #13 +

            'Abertura R$: ' + FormatFloat('#,##0.00', vCotacao.Abertura) + #13 +

            'Máxima R$: '   + FormatFloat('#,##0.00', vCotacao.Maxima) + #13 +

            'Minima R$: '   + FormatFloat('#,##0.00', vCotacao.Minima) + #13 +

            'Volume: '      + FormatFloat('#,##0', vCotacao.Volume));

      end;

   finally

      FreeAndNil(vCotacao);

   end;

end;

UCotacao.pas

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 4293 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...