Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-08-2010
gaston260 gaston260 is offline
Miembro
 
Registrado: ene 2008
Posts: 169
Poder: 17
gaston260 Va por buen camino
que en lblmarquee se pueda copiar un renglon

Hola estoy intentando que en lblmarquee se pueda copiar cada renglon que va pasando en tiempo real pero estoy muy lejos de poder hacerlo ! ademas no se si es posible hacerlo ?!.

saludos.
Responder Con Cita
  #2  
Antiguo 28-08-2010
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Gaston.

Por favor explica un poco más de que modo y donde querés que se copie.

Saludos.
Responder Con Cita
  #3  
Antiguo 28-08-2010
gaston260 gaston260 is offline
Miembro
 
Registrado: ene 2008
Posts: 169
Poder: 17
gaston260 Va por buen camino
Hola ecfisa , tengo este codigo y estoy usando un memo en vez de un Label


unit Unit1;
interface
uses

Windows, SysUtils, Forms, ExtCtrls, Classes;
type
TForm1 = class(TForm)
Timer1: TTimer;
procedure FormCreate(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
private
FCaption: string;
public
end;

var Form1: TForm1;

implementation

{$R *.dfm}

procedure
TForm1.FormCreate(Sender: TObject);
begin Caption:= 'prueba1234';
FCaption:= Caption;
Timer1.Interval := 1000 div 5;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
var txt: string;begin txt:= Self.Caption;
Caption:= Copy(txt, length(txt), 1) + Copy(txt, 1, length(txt) -1);
// ó, Caption:= Copy(txt, 2, length(txt)-1) + Copy(txt,1,1);
// si FCaption = Caption , implica que el último o primer caracter llegaron a su lugar

if FCaption = Caption
then

Windows.MessageBeep(MB_ICONEXCLAMATION);end;end.

pero lo que necesito es poder copiar renglon por renglon para que un programa externo lo pueda leer pero tiene que ser solo renglon por renglon ; Amigo estoy usando el mismo codigo de acá http://www.clubdelphi.com/foros/showthread.php?t=69548

y el codigo completo que encontre es este http://delphi.about.com/library/weekly/aa071100a.htm

saludos !

Última edición por gaston260 fecha: 28-08-2010 a las 13:52:05.
Responder Con Cita
  #4  
Antiguo 28-08-2010
gaston260 gaston260 is offline
Miembro
 
Registrado: ene 2008
Posts: 169
Poder: 17
gaston260 Va por buen camino
y contestando donde quiero que se copie eso no interesa por que el programa que es llamado lee el texto al ser copiado y eso es lo que quiero como fin a este programa !
Responder Con Cita
  #5  
Antiguo 28-08-2010
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Gaston.

Vas a necesitar una aplicación que envie el string y otra que lo reciba. Una solución es usar el record TCopyDataStruct (unit Windows) para pasar el dato usando el mensaje WM_COPYDATA.

En el ejecutable receptor puse un TPanel que recibe el valor en su propiedad Caption.
(Tál como en el post anterior, reduje código para simplificar)

Ejecutable Emisor:
Código Delphi [-]
unit Unit1;

interface

uses
  Windows, SysUtils, Forms, ExtCtrls, Classes, Messages;

type
  TFrmSender = class(TForm)
    Timer1: TTimer;
    procedure FormCreate(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
  private
    procedure SendString(StrToSend: string);
  public
  end;
var
  FrmSender: TFrmSender;

implementation {$R *.dfm}

procedure TFrmSender.SendString(StrToSend: string);
var
  CopyDStruct: TCopyDataStruct;
  ReceptHnd : THandle;
begin
  with CopyDStruct do
  begin
    dwData := 0;
    cbData := 1 + Length(StrToSend);
    lpData := PChar(StrToSend);
  end;
  {¡OJO ACA! En la línea siguiente, las cadenas enviadas a FindWindow,  
   deben ser iguales al nombre del Form Receptor }
  ReceptHnd := FindWindow(PChar('TFrmRecept'),PChar('FrmRecept')) ;
  if ReceptHnd <> 0 then
    SendMessage(ReceptHnd,WM_COPYDATA,Integer(Handle),Integer(@CopyDStruct));
end;

procedure TFrmSender.FormCreate(Sender: TObject);
begin
  Caption:= 'PRUEBA DE DESPLAZAMIENTO DE TEXTO ';
  Timer1.Interval := 1000 div 5;
end;

procedure TFrmSender.Timer1Timer(Sender: TObject);
var
  txt: string;
begin
  txt:= Self.Caption;
  Caption:= Copy(txt, length(txt), 1) + Copy(txt, 1, length(txt) -1);
  SendString(Caption);
end;
end.

Ejecutable Receptor:
Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls;

type
  TFrmRecept = class(TForm)
    Panel1: TPanel;
    procedure FormCreate(Sender: TObject);
  private
   procedure WMCopyData(var Msg : TWMCopyData) ; message WM_COPYDATA;
  public
    { Public declarations }
  end;

var
  FrmRecept: TFrmRecept;

implementation {$R *.dfm}

procedure TFrmRecept.WMCopyData(var Msg: TWMCopyData);
begin
  Panel1.Caption:= Pchar(Msg.CopyDataStruct.lpData)
end;

procedure TFrmRecept.FormCreate(Sender: TObject);
begin
  Panel1.Caption:= '';
end;
end.

Luego ejecuta Project1.exe y Project2.exe para ver el resultado.

Por favor utilizá las etiquetas [code] o [delphi], gracias.


Saludos.

Última edición por ecfisa fecha: 28-08-2010 a las 19:23:49.
Responder Con Cita
  #6  
Antiguo 31-08-2010
gaston260 gaston260 is offline
Miembro
 
Registrado: ene 2008
Posts: 169
Poder: 17
gaston260 Va por buen camino
Esta muy interesante como está desarrollado el programa pero lo que estoy buscando es poder copiar con el lblmarquee , mira te voy a explicar mejor lo que tengo y que busco , tengo un lblmarquee y un memo , con el memo le paso todo lo que hay escrito al lblmarquee , este hace desplazar las letras , supongamos que tengo esto en un memo

1 macá tengo un texto <-- 1º renglon o linea

2 acá tengo otro texto <-- 2º renglon o linea

3 y este texto por ultimo <-- 3º renglon o linea

esto que esta en el memo se va a pasar al lblmarquee y lo que estoy necesitando es poder hacer ctrl+c (como en el teclado) por cada linea que esta escrita en el memo y de ahi con soldelsCot supongamos poder hacer que valla diciendo lo que se va copiando ! disculpa si no me ago entender bien pero es mi gran defecto !

saludos !
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
como usar el componente lblmarquee ? gaston260 OOP 2 26-08-2010 00:06:58
como usar el componente lblmarquee gaston260 API de Windows 0 25-08-2010 02:21:43
Ir al ultimo renglon en un StringGrid palets Varios 2 18-02-2009 22:11:59
Renglon seleccionado en DBGRID advancexz Gráficos 1 28-06-2008 00:53:45
Como hacer un CD protegido para que no se pueda copiar federiconqn21 Varios 11 24-04-2007 05:52:07


La franja horaria es GMT +2. Ahora son las 13:42:23.


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