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 08-04-2008
Avatar de casacham
casacham casacham is offline
Miembro
 
Registrado: abr 2006
Ubicación: Cordoba->Argentina. Arboleas->Almeria->España
Posts: 184
Poder: 19
casacham Va por buen camino
Cool TEdit, evitar copiar y pegar

Hola señores del foro
Bueno, este hilo lo inicio despues de haber estado buscando en el foro, en sus cinco paginas de 76 resultados algo relacionado a TEdit; y como no encontre mi respuesta inicio el hilo.
Necesito saber si existe alguna manera de evitar que el usuario utilice las funciones de windows de copia/cortar y pegar en un TEdit. Es decir, necesito que el usuario escriba dentro del TEdit, pero si este quiere hacer el camino mas corto que es copiar y pegar (dentro del TEdit), pues el programa no se lo permita. No es presisamente una clave, pues modificando la propiedad PasswordChar ya windows no permite hacer copiado o pegado. Simplemente deseo que el usuario este inhabilitado para pegar cualquier texto copiado en memoria dentro del TEdit. Desde ya agradezco sus respuestas y sugerencias.
Responder Con Cita
  #2  
Antiguo 08-04-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Hola Casacham,
Tanto tiempo!

¿Seguro que buscaste bien?
Yo he encontrado varios hilos que tratan el tema...Por empezar prueba con lo dicho en estos:
http://www.clubdelphi.com/foros/show...iar+pegar+Edit
http://www.clubdelphi.com/foros/show...iar+pegar+Edit

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #3  
Antiguo 09-04-2008
Avatar de casacham
casacham casacham is offline
Miembro
 
Registrado: abr 2006
Ubicación: Cordoba->Argentina. Arboleas->Almeria->España
Posts: 184
Poder: 19
casacham Va por buen camino
Cool Gracias Delphius

Tanto tiempo amigo salteño


Te agradezco tu respuesta, en este momento las esto leyendo, voy a realizar las prueba cuando llegue a casa debido a que ahora estoy en el laburo
Responder Con Cita
  #4  
Antiguo 11-04-2008
Avatar de casacham
casacham casacham is offline
Miembro
 
Registrado: abr 2006
Ubicación: Cordoba->Argentina. Arboleas->Almeria->España
Posts: 184
Poder: 19
casacham Va por buen camino
Gracias de nuevo

Hola Delphius, se ve que he estado buscando mal, porque mi etiqueta de busqueda era erronea. Asi que te doy las gracias nuevamente por la mano que me has dado con este problemita. Te cuento que de todas las soluciones ofrecidas opte por la que maneja los mensajes de windows ya que seoane tiene razon en su explicación. Mi codigo quedo de la siguiente forma:
Hago que para cada objeto TEdit comparta el procedimiento haciendo que lo tome en los eventos OnEnter y devuelva el original en el OnExit quedando como se indica aqui abajo

Código Delphi [-]
 
    procedure ApelNomEnter(Sender: TObject);
    procedure ApelNomExit(Sender: TObject);
  private
    { Private declarations }
     //....
     //...
    AntWindowProc: TWndMethod;
  public
    { Public declarations }
  end;
 
 

procedure TF_LoginNewReg.MiWindowProc(var Message: TMessage);
Label NoCopia;
begin
  case Message.Msg of
    WM_COPY:
      begin
        Goto NoCopia;
      end;
    WM_PASTE:
      begin
        Goto NoCopia;
      end;
    else // Si no es ninguno de los anterios llamamos al antiguo WndProc
      AntWindowProc(Message);
  end;
  exit;
 NoCopia:
    ShowMessage('No se puede realizar la operación solicitada');
    Casillero.Clear;
end;
 
procedure TF_LoginNewReg.ApelNomEnter(Sender: TObject);
begin
 Casillero:=TEdit(Sender);
 AntWindowProc:= TEdit(Sender).WindowProc;
 TEdit(Sender).WindowProc:=MiWindowProc;
end;
procedure TF_LoginNewReg.ApelNomExit(Sender: TObject);
begin
  TEdit(Sender).WindowProc:=AntWindowProc;
end;
Responder Con Cita
  #5  
Antiguo 11-04-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Madre del amor hermoso, usando labels y Gotos.... creo que me da algo...

Código Delphi [-]
procedure TF_LoginNewReg.MiWindowProc(var Message: TMessage);
begin
  case Message.Msg of
    WM_COPY, WM_PASTE:
      begin
    ShowMessage('No se puede realizar la operación solicitada');
    Casillero.Clear;

      end
    else // Si no es ninguno de los anterios llamamos al antiguo WndProc
      AntWindowProc(Message);
  end;
end;

jejeje, creo que mejor así. Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #6  
Antiguo 12-04-2008
Avatar de casacham
casacham casacham is offline
Miembro
 
Registrado: abr 2006
Ubicación: Cordoba->Argentina. Arboleas->Almeria->España
Posts: 184
Poder: 19
casacham Va por buen camino
Cool Pos se agradece LEPE

Como dice el titulo, se agradece la simplificacion

De hecho, los goto(s) y Label(s) los implemente debido a que es un viejo recuerdo de aquel primer lenguaje con que me inicie en este mundo de programar, GWBasic, si aunque no lo creas Lepe, y es algo de retorica utilizarlo. De hecho lograba cosas importantes, hasta me estaba introduciendo en el mundo de las base de datos, algo que me resultaba muy complejo en el año 1992 cuando estaba mas avanzado ya en QBasic. Luego me intereso Visual Basic. Pero cuando un amigo con el que vivia en mis años de universidad me enseño Delphi 4.0, pues, si te das cuenta, es lo que mejor he aprendido y el lenguaje que mejor se adapta a muchas necesidades, no quiero pecar de ignorante y llamarlo el mejor Lenguaje. En estos momentos tengo una version "demo" de Delphi 2007, y la verdad que Visual Basic ya ni me interesa, lo lamento por VB.
Responder Con Cita
  #7  
Antiguo 12-04-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Sólo por el mero hecho de usar Goto y label es obvio que llevas bastante tiempo en esto de la programación.

Yo los usé muy poco, hasta que leí un comentario sobre unos conceptos extraños llamados "programación estructurada" donde decía que era mala práctica el uso del Goto y label, porque se perdía el "orden de la programación", se enrevesaba todo y no se sabía cómo funcionaba el motorcillo creado.

Ya digo, sólo puedo hablar por lo dicho en libros.

Ahora si tengo que hacer algo similar....
Código Delphi [-]
procedure Uno;

var 
     i:integer;

  procedure procLoca_a_Uno;
  begin
  end;

begin // Uno

end;

Según veo en muchos códigos actuales, es una práctica vigente. No se puede decir lo mismo de los Goto, que se desaconseja el uso.

Curioso lo de VB, yo comparé VB5 vs D3 y Delphi ganó por goleada, aún siendo 2 versiones atrás.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
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
copiar y pegar elguille Varios 0 30-04-2007 19:10:08
Copiar y pegar archivo Osorio Varios 2 22-03-2007 14:09:28
copiar , pegar , cortar vicdem Varios 6 29-06-2006 13:37:25
Copiar & Pegar no funciona paufra Varios 1 22-07-2005 23:24:10
Copiar y pegar objetos ciscu OOP 6 10-06-2004 20:55:11


La franja horaria es GMT +2. Ahora son las 04:43:56.


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