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 08-09-2008
dgallardov dgallardov is offline
Registrado
 
Registrado: ago 2008
Posts: 4
Poder: 0
dgallardov Va por buen camino
problema con edit.

Hola tengo un edit en el cual estoy haciendo una validacion
el problema se presenta cuando por un motivo que desconozco el cursor se va al comienzo del edit y el texto se escribe adelante de las demas letras, mi consulta especifica que solucionaria este problema seria alguna forma de hacer que el cursor se vaya a la ultima letra ingresada en el edit o al final del edit.

saludos.
Responder Con Cita
  #2  
Antiguo 08-09-2008
Avatar de Fenareth
[Fenareth] Fenareth is offline
Miembro Premium
 
Registrado: oct 2007
Ubicación: Guadalajara, Jalisco, México
Posts: 494
Poder: 17
Fenareth Va por buen camino
Hola dgallardov !

Quiero tratar de entender...

Sin que ABSOLUTAMENTE NADA pase el cursor cambia de estar en la última posición al ir escribiendo, hasta la primera posición del TEdit ???
__________________
Ask questions. Think for yourself. Wake up and you’ll make the difference
Responder Con Cita
  #3  
Antiguo 09-09-2008
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Hola dgallardov, puedes utilizar las propiedades SelStart y SeLength del Edit.

Código Delphi [-]
 Edit1.SetFocus;
 Edit1.SelLength := 0;
 Edit1.SelStart := Length(Edit1.Text);

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #4  
Antiguo 09-09-2008
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.285
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
Efectivamente con las propiedades que te expone Caro, podrás controlar la posición del cursor dentro del Edit y algunas cosas más. De todas formas, creo que lo que interesa saber en este caso, no es cómo evitar o solvertar ese comportamiento, sino porqué te está sucediendo eso.

Tal vez deberías explicar mejor qué estás haciendo con el Edit.
__________________
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
  #5  
Antiguo 09-09-2008
dgallardov dgallardov is offline
Registrado
 
Registrado: ago 2008
Posts: 4
Poder: 0
dgallardov Va por buen camino
Cita:
Empezado por Caro Ver Mensaje
Hola dgallardov, puedes utilizar las propiedades SelStart y SeLength del Edit.

Código Delphi [-]
 Edit1.SetFocus;
 Edit1.SelLength := 0;
 Edit1.SelStart := Length(Edit1.Text);

Saluditos
se agradece el codigo, eso me salvo, lo que estaba haciendo era lo siguiete
estaba validando un dni o rut en chile, al escribir los caracteres en el edit tenia que colocar automaticamente el digito verificador pero tenia que hacerlo dinamicamente ya que el rut puede ser menor a 8 caracteres, use este codigo por algun motivo al escribir el segundo caracter se posicionaba al comienzo del edit.
Código:
procedure TForm1.Edit1Change(Sender: TObject);
var
 texto,rut,letra,ultimo:string;
 largo:integer;
 i:integer;

begin
   texto:=edit1.text;
   largo:=length(texto);
 i:=0;
 for i:=1 to largo do
  begin
   if not(copy(texto,i,1) = '-') then
      begin
       rut:=rut+copy(texto,i,1);
      end;

      if i=(largo-1) then
       begin
       rut:=rut+'-';
       end;
  end;


 edit1.Text:=rut;
 Edit1.SetFocus;
 Edit1.SelLength := 0;
 Edit1.SelStart := Length(Edit1.Text);
end;
muy agradecido por la respuesta, he solucionado lo que necesitaba.

hasta pronto
Responder Con Cita
  #6  
Antiguo 10-09-2008
RapiBurrito RapiBurrito is offline
Registrado
 
Registrado: sep 2008
Posts: 7
Poder: 0
RapiBurrito Va por buen camino
Cita:
Empezado por Caro Ver Mensaje
Hola dgallardov, puedes utilizar las propiedades SelStart y SeLength del Edit.

Código Delphi [-] Edit1.SetFocus; Edit1.SelLength := 0; Edit1.SelStart := Length(Edit1.Text);


Saluditos

Gracias!!! Este codigo me ayudo a mi Bastante

Y Gracias a quien pregunto!

Este es mi primer Post en esta comunidad :P!

Espero poder ayudar mas de lo que se que voy a molestar T_T!

Saludos!
Responder Con Cita
  #7  
Antiguo 11-09-2008
Avatar de elcolo83
elcolo83 elcolo83 is offline
Miembro
 
Registrado: feb 2007
Ubicación: Argentina
Posts: 65
Poder: 18
elcolo83 Va por buen camino
Otra forma tambien seria algo asi:
Código Delphi [-]
procedure TForm1.Edit1Change(Sender: TObject);
var i: integer;
begin
i:= e.SelStart;

//Aca poner el codigo que vos quieras...

E.SelStart:= i;
end;

Con esto mantenemos siempre el cursor en la posición que corresponde y evitamos que si edita algun caracter del centro del texto el cursor se mueva al final... es una opción mas...

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
Problema al leer en un edit sobran caracteres jandres Varios 1 08-09-2006 22:49:55
problema con el table.edit joako Varios 6 15-08-2006 01:28:42
problema con post y edit Patricio Conexión con bases de datos 2 15-06-2006 15:11:34
problemas con el el .Edit: qryCONSULTA.Edit McRose Conexión con bases de datos 3 07-06-2005 15:46:39
Problema con el edit superhopi Varios 5 06-05-2003 09:40:47


La franja horaria es GMT +2. Ahora son las 16:55:44.


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