Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 21-11-2023
Arturo.Molina Arturo.Molina is offline
Miembro
 
Registrado: feb 2018
Posts: 28
Poder: 0
Arturo.Molina Va por buen camino
Enviar texto a ventana del navegador

Hola amigos,
necesito vuestra inestimable ayuda.

Desde mi programa debo abrir una página web determinada, rellenar varios campos (incluido uno de correo electrónico) y pulsar un botón de dicha página.

No tengo problemas para abrir la web y localizar los botones correspondientes, pero ¿Cómo puedo enviar el contenido de una cadena que incluye el carácter "@"?

Saludos y gracias
Responder Con Cita
  #2  
Antiguo 21-11-2023
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Es un tema que ya hemos hablado en otras ocasiones en el club, si buscan deberían aparecerte hilos al respecto.
Puedes buscar los campos y enviar los datos (aunque puede variar dependiendo de la tecnología con que esté hecha la página).


Algunos ejemplos, aunque si buscas encontrarás más:
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 21-11-2023
Arturo.Molina Arturo.Molina is offline
Miembro
 
Registrado: feb 2018
Posts: 28
Poder: 0
Arturo.Molina Va por buen camino
Gracias Germán, pero lo que yo busco es cómo enviar una cadena a otro programa que está ejecutándose.

La idea es simular que estoy escribiendo en la ventana activa
Responder Con Cita
  #4  
Antiguo 21-11-2023
Avatar de pgranados
pgranados pgranados is offline
Miembro
 
Registrado: sep 2022
Ubicación: México
Posts: 264
Poder: 2
pgranados Va por buen camino
Por lo que mencionas estas haciendo scraping a una pagina.

¿de que forma aparece el mensaje en la pagina?
Responder Con Cita
  #5  
Antiguo 21-11-2023
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por Arturo.Molina Ver Mensaje
Gracias Germán, pero lo que yo busco es cómo enviar una cadena a otro programa que está ejecutándose.
La idea es simular que estoy escribiendo en la ventana activa

Si la ventana activa es un navegador, como me ha parecido entender según el título del hilo y el mensaje anterior, en esos hilos tienes cómo hacerlo.
Si no es un navegador y se trata de un ejecutable (tipo Delphi) se me ocurre que debes buscar ventanas, componentes y enviar texto utilizando mensajes (SendMessage/PostMessages)
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #6  
Antiguo 22-11-2023
Arturo.Molina Arturo.Molina is offline
Miembro
 
Registrado: feb 2018
Posts: 28
Poder: 0
Arturo.Molina Va por buen camino
Hola a todos,
creo que no me he explicado lo suficientemente claro.

Solamente necesito saber como enviar un texto a una ventana del navegador (en este caso concreto es el navegador, pero podría ser, por ejemplo, una ventana de Word).

He revisado la función SendMessage tal y como me comenta Neftali pero debo estar espeso porque no consigo que llegue el texto...

Aquí el código que utilizo:

Código Delphi [-]
//Funcion para enviar texto
procedure TfPrincipal.EnviarTexto(Texto: string);
const
  WM_TEXTMSG = WM_USER + 103;
var
   Window : THandle;
begin
    if Texto <> '' then begin
      Window := FindWindow(NIL, PChar('Club Delphi - Brave') );

      //Comprobamos si está abierta la aplicación que recibirá los datos
      if Window = 0 then
        MessageDlg ('No se ha encontrado abierta la pagina "Club Delphi - Brave"', mtInformation, [mbok], 0)
      else begin
        SendMessage( Window, WM_TEXTMSG, 0, UnicodeString( Texto ) );
      end;
    end;
end;

Y esta es la respuesta al intentar ejecutarlo:

Error: Incompatible type for arg no. 4: Got "UnicodeString", expected "Int64"

La idea es, en una ventana abierta y con el foco en un campo de texto, que mi programa escriba en el.

En el ejemplo que pongo, el cursor YA se encuentra en el campo usuario de la web del Club Delphi y yo debo enviarle una cadena (en este caso, una dirección de correo electrónico, tal como "correo@electronico.com"), cambiar al campo pass y enviarle otra cadena.
Responder Con Cita
  #7  
Antiguo 22-11-2023
Arturo.Molina Arturo.Molina is offline
Miembro
 
Registrado: feb 2018
Posts: 28
Poder: 0
Arturo.Molina Va por buen camino
Bueno, buceando por ahí, al final lo he conseguido...

Código Delphi [-]
procedure TfPrincipal.EnviarTexto(Texto: string);
var
    Window : THandle;
    i: integer;
begin
     if Texto <> '' then begin
       Window := FindWindow(NIL, PChar('Club Delphi - Brave') );

       //Comprobamos si está abierta la aplicación que recibirá los datos
       if Window = 0 then
         MessageDlg ('No se ha encontrado abierta la pagina "Club Delphi - Brave"', mtInformation, [mbok], 0)
       else
         for i := 1 to Length(Texto) do
           SendMessage(window, WM_CHAR, dword(Texto[i]), 0);
     end;
end;

Gracias a todos
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Enviar texto a Edit de ventana ajena aguml C++ Builder 21 06-05-2020 18:28:41
Obtener texto de pagina que esta abierta en el navegador actual gulder Internet 6 13-04-2010 01:42:36
Alguna forma más eficiente de enviar HTML al navegador-cliente ??? chalao Internet 8 16-10-2008 18:23:03
Delphi 7.0 y MySql, Enviar informacion de ventana a ventana gozi Conexión con bases de datos 2 03-04-2006 05:28:41
Enviar texto a la ventana abierta Mr.Vaka Varios 4 28-11-2005 18:57:31


La franja horaria es GMT +2. Ahora son las 14:48:13.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi