Cotação via Banco Central
Moderador: Moderadores
- André Corrêa
- Usuário Nível 2

- Mensagens: 81
- Registrado em: 03 Nov 2015 07:46
- Localização: Caraguatatuba/SP
Cotação via Banco Central
Boa tarde,
Estou começando a estudar Clipper, Harbour, xHarbour, Xailer e afins.
Claramente o Clipper é uma linguagem bastante poderosa. A maior diferença
que encontrei em relação ao Object Pascal, que já conhecia, foi o fato de
ser dinamicamente tipada. Quanto ao Xailer, como conhecia um pouco de Delphi,
estou me adaptando com certa facilidade.
Segue anexo um arquivo contendo duas funções que desenvolvi para acessar e extrair
o valor da cotação de moedas a partir do site do Banco Central.
Obs: Ainda estou engatinhando com a linguagem, então tenho optado pelos caminhos
menos complexos.
Qualquer dica ou crítica será bem-vinda.
Obrigado,
André Corrêa
Estou começando a estudar Clipper, Harbour, xHarbour, Xailer e afins.
Claramente o Clipper é uma linguagem bastante poderosa. A maior diferença
que encontrei em relação ao Object Pascal, que já conhecia, foi o fato de
ser dinamicamente tipada. Quanto ao Xailer, como conhecia um pouco de Delphi,
estou me adaptando com certa facilidade.
Segue anexo um arquivo contendo duas funções que desenvolvi para acessar e extrair
o valor da cotação de moedas a partir do site do Banco Central.
Obs: Ainda estou engatinhando com a linguagem, então tenho optado pelos caminhos
menos complexos.
Qualquer dica ou crítica será bem-vinda.
Obrigado,
André Corrêa
- Anexos
-
CotacaoViaBancoCentral.PRG- Busca cotações de moedas no site do Banco Central
- (1.27 KiB) Baixado 245 vezes
-- André Corrêa
"Opte por aquilo que faz o seu coração vibrar, apesar de todas as consequências". - Osho
"Opte por aquilo que faz o seu coração vibrar, apesar de todas as consequências". - Osho
-
alxsts
- Colaborador

- Mensagens: 3092
- Registrado em: 12 Ago 2008 15:50
- Localização: São Paulo-SP-Brasil
Cotação via Banco Central
Olá!
Seja bem-vindo ao fórum André!
Agradecemos sua contribuição e desejamos a você sucesso em seus estudos relacionados a xBase.
Se precisar, conte com os amigos daqui.
Seja bem-vindo ao fórum André!
Agradecemos sua contribuição e desejamos a você sucesso em seus estudos relacionados a xBase.
Se precisar, conte com os amigos daqui.
[]´s
Alexandre Santos (AlxSts)
Alexandre Santos (AlxSts)
Cotação via Banco Central
Legal, seja bem vindo....
O q puder ajudarmos estamos a disposição...
O q eu teria de sugestão seria passar um exemplo de como utilizar e cria um valor default pra caso não informado a data... exemplo...
default cData to DToS(Date()) // '20151106' além de informar q a data tem q ser passada no formado aaaammdd
depois no final da função para obter o fechamento chamar a função para buscar o valor mostrando o mesmo no LOGDEBUG do Xailer q mostra o resultado na IDE, qdo o modo DEBUG esta ativado.
Exemplo:
LogDebug( 'Valor', BuscaValor(hArq, ';540;') ) // Resultado obtido: Valor 5,73190000
Parabéns pela função não conhecia e achei interessante.
[]´s
O q puder ajudarmos estamos a disposição...
O q eu teria de sugestão seria passar um exemplo de como utilizar e cria um valor default pra caso não informado a data... exemplo...
default cData to DToS(Date()) // '20151106' além de informar q a data tem q ser passada no formado aaaammdd
depois no final da função para obter o fechamento chamar a função para buscar o valor mostrando o mesmo no LOGDEBUG do Xailer q mostra o resultado na IDE, qdo o modo DEBUG esta ativado.
Exemplo:
LogDebug( 'Valor', BuscaValor(hArq, ';540;') ) // Resultado obtido: Valor 5,73190000
Parabéns pela função não conhecia e achei interessante.
[]´s
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:
“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”.
Até 2017 Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL
Novos Projetos:
Desktop Visual Windev Desktop
Celular Android/iOS Windev Mobile
WEB Windev Web
Sejamos gratos a Deus.
“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”.
Até 2017 Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL
Novos Projetos:
Desktop Visual Windev Desktop
Celular Android/iOS Windev Mobile
WEB Windev Web
Sejamos gratos a Deus.
- André Corrêa
- Usuário Nível 2

- Mensagens: 81
- Registrado em: 03 Nov 2015 07:46
- Localização: Caraguatatuba/SP
Cotação via Banco Central
Obrigado alxsts e fladimir pelos retornos.
fladimir, incluí suas sugestões para o valor default de cData, o resultado do LogDebug.
Também comentei o código com o site para obter a lista completa de séries e a informação sobre o formato da data.
Estou enviando o projeto completo. Utilizei um TDatePicker e um TRadioMenu para o usuário selecionar a data e a série.
Esse arquivo CSV obtido pela URL do Banco Central contém todas as séries disponíveis. Seria possível utilizar um TCombobox
para acessar qualquer uma delas, mas preferi adicionar apenas algumas no TRadioMenu.
fladimir, incluí suas sugestões para o valor default de cData, o resultado do LogDebug.
Também comentei o código com o site para obter a lista completa de séries e a informação sobre o formato da data.
Estou enviando o projeto completo. Utilizei um TDatePicker e um TRadioMenu para o usuário selecionar a data e a série.
Esse arquivo CSV obtido pela URL do Banco Central contém todas as séries disponíveis. Seria possível utilizar um TCombobox
para acessar qualquer uma delas, mas preferi adicionar apenas algumas no TRadioMenu.
- Anexos
-
CotacaoCSV.zip- (45.03 KiB) Baixado 236 vezes
-- André Corrêa
"Opte por aquilo que faz o seu coração vibrar, apesar de todas as consequências". - Osho
"Opte por aquilo que faz o seu coração vibrar, apesar de todas as consequências". - Osho
- rubens
- Colaborador

- Mensagens: 1520
- Registrado em: 16 Ago 2003 09:05
- Localização: Nova Xavantina - MT
Cotação via Banco Central
A título de curiosidade Fladimir...
Não seria a mesma coisa de
cData := DToS(Date())
Qual a diferença de declara de uma forma ou de outra ?
Obg
Rubens
Esse comando default eu não consigo assimilar ele muito bem.default cData to DToS(Date()) // '20151106' além de informar q a data tem q ser passada no formado aaaammdd
Não seria a mesma coisa de
cData := DToS(Date())
Qual a diferença de declara de uma forma ou de outra ?
Obg
Rubens
"Eu e minha casa servimos ao Senhor e você
"
Cotação via Banco Central
Rubens não tem muita diferença, seria mais a nível de clareza... explico
Antes eu fazi assim
Não sei se ficou claro, qualquer coisa vai postando ai q vamos vendo.
[]´s
Antes eu fazi assim
Código: Selecionar todos
function CalcJuros(nValor, nDias)
.... ai colocava...
if nDias == NIL
nDias := 30
endif
... ao invés de fazer isso uso o "default" tipo uma tradução
default nDias to 30
... signifca a mesma coisa do meu if antigo, tipo se nDias for NIL atribui o valor 30
[]´s
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:
“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”.
Até 2017 Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL
Novos Projetos:
Desktop Visual Windev Desktop
Celular Android/iOS Windev Mobile
WEB Windev Web
Sejamos gratos a Deus.
“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”.
Até 2017 Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL
Novos Projetos:
Desktop Visual Windev Desktop
Celular Android/iOS Windev Mobile
WEB Windev Web
Sejamos gratos a Deus.
- André Corrêa
- Usuário Nível 2

- Mensagens: 81
- Registrado em: 03 Nov 2015 07:46
- Localização: Caraguatatuba/SP
Cotação via Banco Central
Boa tarde,
Ainda sobre a opção de se fazer a cotação diretamente do Banco Central, que é um canal oficial,
existe um webservice em https://www3.bcb.gov.br/sgspub/JSP/sgsg ... WSSGS.wsdl.
Esse webservice possui os seguintes métodos:
getUltimoValorVO - Recupera o último valor de uma determinada série e retorna um objeto do tipo WSSerieVO.
Parâmetros: long codigoSerie – Código da série. Retorno: WSSerieVO – Objeto série.
GetUltimoValorXML - Recupera o último valor de uma determinada série e retorna o resultado em formato XML.
Parâmetros: long codigoSerie – Código da série. Retorno: String – String contendo o resultado da consulta em formato XML.
getValor - Recupera o valor de uma série em uma determinada data (dd/MM/aaaa).
Parâmetros: long codigoSerie – Código da série. String data – String contendo a data (dd/MM/aaaa) do valor a ser pesquisado. Retorno: BigDecimal – Objeto contendo o valor.
getValorEspecial - Recupera o valor de uma série especial em um período.
Parâmetros: long codigoSerie – Código da série. String data – String contendo a data (dd/MM/aaaa) inicial. String dataFim – String contendo a data (dd/MM/aaaa) final. Retorno: BigDecimal – Objeto contendo o valor.
getValoresSeriesXML - Recupera os valores de uma ou mais séries dentro de um determinado período.O resultado da consulta é devolvido ao cliente em formato XML.
Parâmetros: long[] codigosSeries – Lista(array) dos códigos das séries. String dataInicio – String contendo a data (dd/MM/aaaa) inicial. String dataFim – String contendo a data (dd/MM/aaaa) final. Retorno: String – String contendo o resultado da consulta em formato XML.
getValoresSeriesVO - Recupera os valores de uma ou mais séries dentro de um determinado período e retorna o resultado em forma de Array de objetos do tipo WSSerieVO.
Parâmetros: long[] codigosSeries – Lista(array) dos códigos das séries. String dataInicio – String contendo a data (dd/MM/aaaa) inicial. String dataFim – String contendo a data (dd/MM/aaaa) final. Retorno: WSSerieVO – Lista(array) de objeto série.
Ainda sobre a opção de se fazer a cotação diretamente do Banco Central, que é um canal oficial,
existe um webservice em https://www3.bcb.gov.br/sgspub/JSP/sgsg ... WSSGS.wsdl.
Esse webservice possui os seguintes métodos:
getUltimoValorVO - Recupera o último valor de uma determinada série e retorna um objeto do tipo WSSerieVO.
Parâmetros: long codigoSerie – Código da série. Retorno: WSSerieVO – Objeto série.
GetUltimoValorXML - Recupera o último valor de uma determinada série e retorna o resultado em formato XML.
Parâmetros: long codigoSerie – Código da série. Retorno: String – String contendo o resultado da consulta em formato XML.
getValor - Recupera o valor de uma série em uma determinada data (dd/MM/aaaa).
Parâmetros: long codigoSerie – Código da série. String data – String contendo a data (dd/MM/aaaa) do valor a ser pesquisado. Retorno: BigDecimal – Objeto contendo o valor.
getValorEspecial - Recupera o valor de uma série especial em um período.
Parâmetros: long codigoSerie – Código da série. String data – String contendo a data (dd/MM/aaaa) inicial. String dataFim – String contendo a data (dd/MM/aaaa) final. Retorno: BigDecimal – Objeto contendo o valor.
getValoresSeriesXML - Recupera os valores de uma ou mais séries dentro de um determinado período.O resultado da consulta é devolvido ao cliente em formato XML.
Parâmetros: long[] codigosSeries – Lista(array) dos códigos das séries. String dataInicio – String contendo a data (dd/MM/aaaa) inicial. String dataFim – String contendo a data (dd/MM/aaaa) final. Retorno: String – String contendo o resultado da consulta em formato XML.
getValoresSeriesVO - Recupera os valores de uma ou mais séries dentro de um determinado período e retorna o resultado em forma de Array de objetos do tipo WSSerieVO.
Parâmetros: long[] codigosSeries – Lista(array) dos códigos das séries. String dataInicio – String contendo a data (dd/MM/aaaa) inicial. String dataFim – String contendo a data (dd/MM/aaaa) final. Retorno: WSSerieVO – Lista(array) de objeto série.
-- André Corrêa
"Opte por aquilo que faz o seu coração vibrar, apesar de todas as consequências". - Osho
"Opte por aquilo que faz o seu coração vibrar, apesar de todas as consequências". - Osho
Cotação via Banco Central
Legal André... eu peguei teu exemplo e no OnChange do RadioButton coloquei pra chamar o Click do Botão assim: Button1Click()
Parabéns ficou legal teu exemplo.
[]´s
Parabéns ficou legal teu exemplo.
[]´s
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:
“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”.
Até 2017 Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL
Novos Projetos:
Desktop Visual Windev Desktop
Celular Android/iOS Windev Mobile
WEB Windev Web
Sejamos gratos a Deus.
“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”.
Até 2017 Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL
Novos Projetos:
Desktop Visual Windev Desktop
Celular Android/iOS Windev Mobile
WEB Windev Web
Sejamos gratos a Deus.