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 15-10-2004
jam888 jam888 is offline
Miembro
 
Registrado: sep 2004
Posts: 115
Poder: 20
jam888 Va por buen camino
Dejar cursor al final

Que tal amigos del foro, espero que bien tengo el siguiente inconveniente
Estoy ejecutando la siguiente funcion en el evento onchange y me ocurre lo siguiente, cada ves que presiono un numero el cursor se me va al principio y mi palabra pierde el sentido, aca dejo los preocedimientoe que ejecuto.

Ejemplo:Al querer escribir delphi tecleo delp y si de repente presiono la tecla uno(1) el cursor se va al principio (el uno no aparece)y termino escribiendo hidelp(la otra parte de delphi al principio por que esta ahi el cursor) ¿Como hago para que el cursor este siempre al ultimo pòr mas que presione numeros?

procedure TForm1.Edit10Change(Sender: TObject);
begin
Edit10.Text:=SoloPalabra(Edit10.Text);
end;

end.

function SoloPalabra(Texto : String) : String;
var
palabra : String;
i, k : integer;
begin
k := Length(Texto);
for i := 1 to k do
if Texto[i] in ['0','1',....,'9'] {aqui pongo todos los digitos...}
then Break
else palabra := palabra + Texto[i] ;
Result := palabra;
end;
Responder Con Cita
  #2  
Antiguo 15-10-2004
darkpale darkpale is offline
Registrado
 
Registrado: jul 2004
Ubicación: Guadalajara Jalisco
Posts: 3
Poder: 0
darkpale Va por buen camino
Hola no te funciona mejor esto?

Código Delphi [-]
procedure TForm1.Edit10KeyPress(Sender: TObject; var Key: Char);
var
tx:char;
begin
tx:=char(key);
if tx in ['0'..'9'] then
  key:=#0;
end;
Responder Con Cita
  #3  
Antiguo 16-10-2004
jam888 jam888 is offline
Miembro
 
Registrado: sep 2004
Posts: 115
Poder: 20
jam888 Va por buen camino
No sirve

Pasa lo mismo cuando presiono un numero, el cursor vuelve al principio de la cajita de texto.
Responder Con Cita
  #4  
Antiguo 16-10-2004
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Jam, lo que ocurre es que en el evento ONchange, estas cambiando la propiedad text, por eso el cursor se te vuelve al inicio. No uses la funcion "solo palabra", directamente escribe el código de darkpale en el evento KeyPress.

Si por cualquier motivo deseas usar la funcion solopalabra, entonces haz esto:
Código Delphi [-]
function SoloPalabra(Texto : String) : String;
var
i:Integer;
begin
for i := 1 to Length(Texto) do
if not( Texto[i] in ['0'..'9']) then {aqui pongo todos los digitos...}
 Result := result + Texto[i] ;

end;
procedure TForm1.Edit10Change(Sender: TObject);
begin
Edit10.Text:=SoloPalabra(Edit10.Text);
edit10.Selstart := length(edit10.text);
edit10.SelLength := 0;
end;

La ventaja de usar el evento change, es que tambien validará el texto pegado desde el portapapeles, usando keyPress, no se validará.


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


La franja horaria es GMT +2. Ahora son las 02:32:04.


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