Fórum Ajuda sobre HTML no Delphi 7 #347595

19/10/2007

0

Olá Pessoal, sou novo no fórum Clube-Delphi. Tenho uma dúvida num programa que estou desenvolvendo. Trata-se de um software para uma clínica médica. O programa está concluído, falta apenas uma rotina que eu queria fazer automaticamente pela internet. Capturar textos de um arquivo .HTML ou diretamente no site.
Já tentei fazer mas não consigo resolver, a princípio, sou um programador novato e este é meu terceiro programa.
Para exemplificar melhor o que eu quero:

Digamos que seja um jogo da Mega-Sena, e o arquivo .HTML seja os resultados que a Caixa Econômica Federal dispões na internet, eu irei baixar este arquivo .HTML e, no programa, irá capturar da seguinte maneira:

Localizar a data, pegar a data e colocar na primeira coluna do ListBox, capturar as dezenas relacionado ao sorteio desta data e jogar na segunda coluna da ListBox, e assim sucessivamente...
O programa que tô tentando fazer é para uma clínica, tem o mesmo objetivo, mas o site não está pronto, mas segue o mesmo raciocínio, eles colocam as datas do receituários numa coluna, e outro dado numa outra coluna, da mesma forma que o arquivo .HTML da caixa faz, para ver este arquivo, você pode baixar no seguinte endereço:

http://www1.caixa.gov.br/loterias/_arquivos/loterias/D_lotfac.zip

[b:b3755d6746]Alguém poderia me dar uma dica?[/b:b3755d6746]

Já pesquisei muito, vi até, na DTDelphi26 que poderia servir como base para o que eu quero, mas como sou iniciante não sei como ´adaptar´ para o que quero, vejam abaixo:

========================================= Dica 763:

Como separar termos de uma string usando comandos básicos como Delete, Copy e Pos e guardar os valores em um array.

Supondo que tenho um arquivo que o formato de cada linha seja ´website|titulo|descricao|categoria´, gostaria de enviar cada termo para um array e disponibilizar em um Listbox o website e a categoria. Difícil? Não.

var
MeuArray: array of array of string;
// Em MeuArray tenho que:
// MeuArray[0][0] = Website da 1ª linha
// MeuArray[0][1] = Título da 1ª linha
// MeuArray[0][2] = Descrição da 1ª linha
// MeuArray[0][3] = Categoria da 1ª linha
Arquivo: TStringList;
// Arquivo é uma variável TStringList, que facilitará o uso das strings;
LoopI,PosBarra: Integer;
// Em LoopI será executado um ´for´.
// PosBarra é a posição de ´|´.
Linha: String;
// Linha é a linha que está sendo executada no momento.
begin
Arquivo:=TStringList.Create;
Arquivo.LoadFromFile(´C:\Sites.txt´); // Abrir o arquivo C:\Sites.txt.
SetLength(MeuArray,Arquivo.Count+1,4); // Definir o tamanho do array.
for LoopI := 0 to Arquivo.Count -1 do // Fazer o ´for´.
begin
Linha:=Arquivo.Strings[LoopI]; // Linha atual.
PosBarra:=Pos(´|´,Linha);
MeuArray[LoopI][0] := Copy(Linha,1,PosBarra-1);
Delete(Linha,1,PosBarra); // Deleta, porque já peguei valor do 1º
PosBarra:=Pos(´|´,Linha); // Pega novamente a posição de ´|´
MeuArray[LoopI][1] := Copy(Linha,1,PosBarra-1);
Delete(Linha,1,PosBarra);
PosBarra:=Pos(´|´,Linha);
MeuArray[LoopI][2] := Copy(Linha,1,PosBarra-1);
Delete(Linha,1,PosBarra);
PosBarra:=Pos(´|´,Linha);
MeuArray[LoopI][3] := Linha; // É o que restou da variável Linha.
ListBox1.Items.Add(MeuArray[LoopI][0]+´: ´+MeuArray[LoopI][2]);
end;
Arquivo.Free;
end;

PS: Este código ainda é muito simples, precisa ser aperfeiçoado, mas funciona!

Enviada por:
Marcus Vitoratti


Futuro

Futuro

Responder

Posts

19/10/2007

Mayron Cachina

eu tinha feito isso com o [b:8f3d2080d9]webbrowser[/b:8f3d2080d9], ele pegava a cotação do dolar em uma página... agora ele ia direto na internet e pegava a string com o valor... agora eu tinha q saber a posição CORRETA da string no site, se ele mudar uma posição ou site for reformulado vai da erro na minha aplicação...

eu vou procurar aqui e postar pra você, mais ja tem meio caminho andado, va pesquisando sobre o webbrowser :D


Responder

Gostei + 0

19/10/2007

Futuro

Poxa, te aguardo ancioso!

agradeço


Responder

Gostei + 0

20/10/2007

Nerdex

Olá seja bem vindo, sobre seu problema, você pode utilizar o compontente idHTTP localizado na paleta Indy, assim irá criar conexões HTTP e ter acesso a páginas Web, podendo assim manipular o conteúdo retornado, na sua aplicação.

Para isto, peço que veja este [url=https://www.devmedia.com.br/articles/viewcomp.asp?comp=988]vídeo[/url] do DevMedia que explica seu uso.

[]´s


Responder

Gostei + 0

25/10/2007

Futuro

Ok, agradeço pela ajuda. Como ainda não existe o site, posso indicar o nome do arquivo HTML em vez do endereço na internet?


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar