Copiar dados de um site

Delphi

12/03/2010

Bom Dia

Estou migrando todo os sistema antigo da empresa em que começei a trabalhar a pouco tempo , só falta uma coisa

tem um sistema feito em Excel- VBA (BD - Access) o que ele faz é o seguinte a atendente entra no site interno da empresa via internet explorer da um Ctrl-A ( seleciona todo) depois ela abre o programa Excel- VBA e clica em importar e ele ja traz as informações do site ou melhor dizendo ele copia  EX.

Nome : Fulano
Cidade : São Paulo
Endereço : xxxxxxx

Gostaria de saber se tem como ser fetio isso pelo delphi , não tenho acesso ao código do Excel- VBA. 
Frost

Frost

Curtidas 0

Respostas

Giuseppe

Giuseppe

12/03/2010

uses Clipbrd  Deixe a janela do IE em foco Simule Ctrl A e Ctrl C pelo keybd_event Pegue o conteúdo pelo Clipboard.AsText  
GOSTEI 0
Frost

Frost

12/03/2010

Bom Dia
Giuseppe

já me deu uma luz no fim do tunel a parte do keybd_event, só estou meio perdido quanto ao identificar o campo e jogar para o campo certo.

Nome : xxxxxxxx     jogar para o Edit1.text
Endereço: xxxxxx       jogar para o Edit2.text

Ex. cod. HTML gerado pela consulta

HTML>
<HEAD>
<TITLE>Dados</TITLE>
<link rel="stylesheet" href="theme/azul/style.css" type="text/css">
</HEAD>
<body>
<div class="contentlite">
    <img src="images/pixel.gif" height="30" width="1"><br>
<div id="messagebox" align="center" class="errmsg"></div>
<div id="inputbox">
<table width="350" border=1 align="center">
<form name="frmInfo" method="POST" target="aux" Action="glosaaux.asp" OnSubmit="return ValidaSubmit();">
<input type="hidden" name="A" value="TRUE">
<input type="hidden" name="id" value="18754">
<tr><td>
    <table width="100%" cellspacing="0" cellpadding="3" class="menu">
    <tr align="center" class="tbg"><td>.: Sistema Interno :.<BR>Informações:</td></tr>
    <tr><td>
    <table width="100%" cellspacing="0" cellpadding="3" class="tbform">
    <tr><td align="right" width="110">Inspeção:</td>
    <td>101875410</td></tr>    
    <tr><td align="right" width="110">Nome:</td>
    <td>Osvaldo da cruz</td></tr>
    <tr><td align="right" width="110">Endereço:</td>
    <td>av iguaçu 930</td></tr>


Desde já obrigado pela dica


GOSTEI 0
Giuseppe

Giuseppe

12/03/2010

var SL:TStringList; i:Integer; begin   SL := TStringList.Create;   SL.Text := Clipboard.AsText;   for i := 0 to SL.Count-1 do   begin     // aqui ache as linhas de Nome e Endereço   end; end;  
GOSTEI 0
Frost

Frost

12/03/2010

Boa Tarde
Giuseppe

Obrigado pela ajuda (dica) que vc está me dando.

Vamos lá ,  fiz como vc falou  para verificar a linha fiz assim
ShowMessage(IntToStr(SL.IndexOf(SL.Strings[i])) + '-' + SL.Strings[i]); // Numero e conteudo da linha 


depois que descobri a linha fiz assim para colar

Edit1.Text := IntToStr(SL.IndexOf(SL.Strings[i]))+ SL.Strings[6]; // onde 6 é a linha iformada pelo cod. acima


Está colando no edit1 só que a linha inteira preciso pegar a linha 6:10 ao 25

ex : linha 6:10 ao 25  ** Essa informação que me falta **






GOSTEI 0
Frost

Frost

12/03/2010

Boa Tarde
Giuseppe

Obrigado pela ajuda (dica) que vc está me dando.

Vamos lá ,  fiz como vc falou  para verificar a linha fiz assim
ShowMessage(IntToStr(SL.IndexOf(SL.Strings[i])) + '-' + SL.Strings[i]); // Numero e conteudo da linha 


depois que descobri a linha fiz assim para colar

Edit1.Text := IntToStr(SL.IndexOf(SL.Strings[i]))+ SL.Strings[6]; // onde 6 é a linha iformada pelo cod. acima


Está colando no edit1 só que a linha inteira preciso pegar a linha 6:10 ao 25

ex : linha 6:10 ao 25  ** Essa informação que me falta **






GOSTEI 0
Frost

Frost

12/03/2010

Boa Tarde
Giuseppe

Obrigado pela ajuda (dica) que vc está me dando.

Vamos lá ,  fiz como vc falou  para verificar a linha fiz assim
ShowMessage(IntToStr(SL.IndexOf(SL.Strings[i])) + '-' + SL.Strings[i]); // Numero e conteudo da linha


depois que descobri a linha fiz assim para colar

Edit1.Text := IntToStr(SL.IndexOf(SL.Strings[i]))+ SL.Strings[6]; // onde 6 é a linha iformada pelo cod. acima


Está colando no edit1 só que a linha inteira preciso pegar a linha 6:10 ao 25

ex : linha 6:10 ao 25 -  Essa informação que me falta
GOSTEI 0
POSTAR