|
Documento:
OCX para acesso a arquivos intraday .SID
Disponibilidade: programa Gol 5.0
publicado em 03/03/03 por omar reis <omar@enfoque.com.br>
|
Introdução
Para permitir o acesso a arquivos de séries intraday de preços (séries
.SID), a Enfoque disponibiliza um controle do tipo OCX. Este controle
pode ser usado em qualquer ambiente de desenvolvimento que aceite OCX,
como Visual Basic, Delphi, C++, scripts em VBA, VBScript ou JavaScript,
disponíveis nos programas Excel, Word e Internet Explorer.
Controle SIDReaderOCX.ocx
Os exemplos abaixo ilustram o uso do controle. O objeto SIDReader é do
tipo TSIDReaderX. Os exemplos mostram as cotações em um grid.
em Visual basic 5.0:
Sub BCarrega_Click()
SidReader.Diretorio = "c:\gol\SIDs\" 'diretório que contem as séries
SidReader.Ativo = "ibov" 'Nome da serie (sem extensão)
SidReader.CarregaSID 'Este comando carrega a serie
LNumRecs.Caption = Str(SidReader.NumRecs) + " registros"
Grid.Clear 'Este mostra as cotações num Grid
Grid.Rows = SidReader.NumRecs + 1
For i = 1 To SidReader.NumRecs
SidReader.Posicao = i 'Posiciona no registro i da série
Grid.Row = i
Grid.Col = 0
Grid.Text = Str(i)
If SidReader.Data <> 0 Then 'Data <> 0 --> registro inicializado
Grid.Col = 1
Grid.Text = Str(SidReader.Data)
Grid.Col = 2
Grid.Text = Str(SidReader.Fechamento) 'pega os valores
Grid.Col = 3
Grid.Text = Str(SidReader.Maximo)
Grid.Col = 4
Grid.Text = Str(SidReader.Minimo)
Grid.Col = 5
Grid.Text = Str(SidReader.Abertura)
Grid.Col = 6
Grid.Text = Str(SidReader.Volume)
Grid.Col = 7
Grid.Text = Str(SidReader.NumNeg)
End If
Next
End Sub
|
em Delphi:
procedure TFormTestSIDReaderOCX.BAtualizaClick(Sender: TObject);
var i:integer;
begin
try
Screen.Cursor := crHourglass;
SIDReaderX1.Diretorio:=EdDirLPs.Text;
SIDReaderX1.Ativo:=EdAtivo.Text;
SIDReaderX1.CarregaSID; {Este comando carrega a serie}
LNumRecs.Caption:=IntToStr(SIDReaderX1.NumRecs)+ ' registros';
GridSerie.RowCount:=SIDReaderX1.NumRecs+1;
for i:=1 to SIDReaderX1.NumRecs do
begin
SIDReaderX1.Posicao:=i; {Posiciona registro}
GridSerie.Cells[0,i]:=IntToStr(i);
GridSerie.Cells[1,i]:=FormatDateTime('dd/mm/yy',SIDReaderX1.Data);
GridSerie.Cells[2,i]:=Format('%6.2f',[SIDReaderX1.Fechamento]);
GridSerie.Cells[3,i]:=Format('%6.2f',[SIDReaderX1.Maximo]);
GridSerie.Cells[4,i]:=Format('%6.2f',[SIDReaderX1.Minimo]);
GridSerie.Cells[5,i]:=Format('%6.2f',[SIDReaderX1.Abertura]);
GridSerie.Cells[6,i]:=Format('%7.0f',[SIDReaderX1.Volume]);
GridSerie.Cells[7,i]:=Format('%7.0f',[SIDReaderX1.NumNeg]);
end;
finally
Screen.Cursor:=crDefault;
end;
end;
|
Para usar o controle no VB, inclua o arquivo SIDReaderOCX.OCX
no seu projeto. O componente SIDReaderX vai aparecer na palette
de componentes do Visual Basic. É um componente não visual (de fato
na versão atual não aparece nem no ambiente de desenvolvimento). Coloque
o controle no Form.
No Delphi, instale o controle no windows e depois importe
o ActiveX no ambiente de desenvolvimento.
Para carregar uma série, setar as propriedades como no exemplo e chamar
o método CarregaSid. Depois basta ajustar a Posicao
para o numero do registro desejado e ler os valores. O número real de
registros carregados é dado pela propriedade NumRecs.
Instalação e registro do componente
Para instalar o componente de acesso a SIDs:
1) Faça o download pelo link abaixo, e salve no diretorio enfoque
(p.e. c:\enfoque\ )
2) Unzipe os arquivos dentro do diretório
3) É necessário registrar o componente no Windows ao instalá-lo.
Para isso, no prompt do DOS dentro do mesmo diretorio, digitar:
regsvr32 SIDReaderOCX.ocx
Isso instalará o componente no Windows.
(c)copr 1988-2005 Enfoque Gráfico Sistemas Ltda
- todos os direitos reservados
|