GARANTIR DESCONTO

Fórum Extrair o conteudo de outro executavel sem o fonte? #344756

20/08/2007

0

Gostaria de extrair as informações que estão sendo digitadas em um texto ou mais epecificamente em um dbgrid.

Tem uma função que pega da calculadora.

´function ListaFilhos(Win: THandle; lp: LPARAM): Boolean; stdcall;´

http://64.233.169.104/search?q=cache:dhfmCU_gZdUJ:www.ramosdainformatica.com.br/ver_ezine.php¬3FVZ¬3D302+function+ListaFilhos(Win:+THandle¬3B+lp:+LPARAM):+Boolean¬3B+stdcall¬3B&hl=pt-BR&ct=clnk&cd=1&gl=br

E Na edição 85 da ClubDelphi tem um Exemplo tb em delphi, porem a aplicação onde os dados são extraidos parece que é em VB.


Japa_h

Japa_h

Responder

Posts

21/08/2007

Adriano Santos

Gostaria de extrair as informações que estão sendo digitadas em um texto ou mais epecificamente em um dbgrid. Tem uma função que pega da calculadora. ´function ListaFilhos(Win: THandle; lp: LPARAM): Boolean; stdcall;´ http://64.233.169.104/search?q=cache:dhfmCU_gZdUJ:www.ramosdainformatica.com.br/ver_ezine.php¬3FVZ¬3D302+function+ListaFilhos(Win:+THandle¬3B+lp:+LPARAM):+Boolean¬3B+stdcall¬3B&hl=pt-BR&ct=clnk&cd=1&gl=br E Na edição 85 da ClubDelphi tem um Exemplo tb em delphi, porem a aplicação onde os dados são extraidos parece que é em VB.

Não entendi a sua questão.


Responder

Gostei + 0

21/08/2007

Japa_h

Primeiramente, obrigado pela atenção.

Posso colocar o código do exemplo da revista?


Responder

Gostei + 0

21/08/2007

Adriano Santos

Claro, fique a vontade.


Responder

Gostei + 0

21/08/2007

Martins

Pode postar o código.

O colega quer capturar os dados q forem digitados em Grid, DbEdit, DbMemo, algo assim.

Coloca o código q nós tentaremos te dar uma luz.

boa sorte.


Responder

Gostei + 0

21/08/2007

Japa_h

O exemplo funciona conforme demostrado na revista, porem estou com dificuldades para adaptar para pegar todo o conteudo de um dbgrid que esta loga acima do campo texto.

unit MainFrm;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls,jpeg, Menus, DBCtrls, Mask, DB, DBClient, Grids,
DBGrids;
type
TMainForm = class(TForm)
tmr: TTimer;
ClientDataSet1: TClientDataSet;
DataSource1: TDataSource;
DBText1: TDBText;
DBImage1: TDBImage;
DBGrid1: TDBGrid;
Memo1: TMemo;
Button1: TButton;
Button2: TButton;
procedure tmrTimer(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
MainForm: TMainForm;
Texto : string;
PRect : TRect;

implementation


{$R *.DFM}

(*****************************************************************************)
function ListaFilhos(Win: THandle; lp: LPARAM): Boolean; stdcall;
var
pc : pchar;
loop : integer;
str : string;
Pos : TRect;
begin
result:=true;
getwindowrect(win,Pos);
// if PRect.left - pos.left = -65 then
// if Prect.top - pos.Top = -35 then
// begin
(*aloca buffer*)
str:=´´;
for loop := 1 to 300 do
str:=str + ´ ´;
pc:=strnew(pchar(str)); (*obtém um ponteiro para o buffer*)
sendmessage(Win,WM_GETTEXT,300,cardinal(pc)); (*manda uma mensagem para a janela*)
Texto := string(pc); (*texto é o desreferencimanto do ponteiro de buffer*)
strdispose(pc); (*libera buffer*)
// end;
end;
(*****************************************************************************)
procedure TMainForm.tmrTimer(Sender: TObject);
var
Programa : THandle;

begin
Programa := FindWindow(nil,pchar(´Consulta Titulos´));
Memo1.Lines.Add(intToStr(Programa));
if programa <> 0 Then
begin
GetWindowRect(Programa,Prect);
EnumChildWindows(Programa,@ListaFilhos,0);
if Texto <> ´´ then
begin
ClientDataSet1.Locate(´Common_Name´,Texto,[loCaseInsensitive,loPartialKey]);
Memo1.Lines.Add(Texto);
end;

end;
end;
(*****************************************************************************)

end.


Responder

Gostei + 0

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

Aceitar