Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-09-2004
Carlex Carlex is offline
Miembro
 
Registrado: Feb 2004
Ubicación: Bolivia
Posts: 86
Poder: 15
Carlex Va por buen camino
Post Puntos

Hola mi duda es la siguiente como puedo lograr q al escribir se añada el punto decimal automaticamente, como de los cajeros automaticos, es decir q este el numero asi 0.00, presione un numero y este asi: 0.01, luego 0.10, 1.00 y finalmente 10.00 de acuerdo vaya ingresando los ceros u otros numeros. Espero q se entienda Gracias
Responder Con Cita
  #2  
Antiguo 23-09-2004
Avatar de yusnerqui
yusnerqui yusnerqui is offline
Miembro
 
Registrado: Mar 2004
Ubicación: Cuba
Posts: 677
Poder: 15
yusnerqui Va por buen camino
Algo para empezar

Este código básicamente hace lo que deseas, al menos tiene el comportamiento que indicas.
Código Delphi [-]
//El edit tiene en la propiedad text del Object Inspector "0.00"
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
 var  A: Char;
      Tex : String;
begin
  A := Key;
  Key := #0;
  Tex := TEdit(Sender).Text;
  if  (A in [#47 .. #58,#8]) then
  begin
    if TEdit(Sender).tag <3 then
    begin
      Tex[1]:=Tex[3];
      Tex[3]:=Tex[4];
      Tex[4]:=A;
    end else
    insert(A,Tex,pos('.',Tex));
    TEdit(Sender).Text := Tex;
    TEdit(Sender).tag := TEdit(Sender).tag+1;
  end;
end;
Aquí el mayor problema que veo es a la hora de borrar caracteres , claro que supongo que debe haber ya un componente para estos fines, pero por ahora tienes algo para empezar.
Lamento no poderte ayudar con algo mejor.

Un saludo

__________________
Lo importante no es llegar primero, sino saber llegar.

Para que puedas llegar mejor lee la Guia de Estilo


Última edición por yusnerqui fecha: 23-09-2004 a las 15:09:46. Razón: Un error de código
Responder Con Cita
  #3  
Antiguo 23-09-2004
Avatar de yusnerqui
yusnerqui yusnerqui is offline
Miembro
 
Registrado: Mar 2004
Ubicación: Cuba
Posts: 677
Poder: 15
yusnerqui Va por buen camino
Más completo

Bueno pues este ya borra caracteres.

Código Delphi [-]
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
 var  A: Char;
      Tex : String;
      I : Shortint;
begin
  A := Key;
  Key := #0;
  Tex := TEdit(Sender).Text;
  Case A of
   #47 .. #58:begin
                  if TEdit(Sender).tag <3 then
                  begin
                    Tex[1]:=Tex[3];
                    Tex[3]:=Tex[4];
                    Tex[4]:=A;
                  end else
                  insert(A,Tex,pos('.',Tex));
                  I:=1;
               end;
    #8:        begin
                  if TEdit(Sender).tag <=3 then
                  begin
                    if A = #8 then A := '0';
                    Tex[4]:=Tex[3];
                    Tex[3]:=Tex[1];
                    Tex[1]:='0';
                  end else
                  Delete(Tex,pos('.',Tex)-1,1);
                  I := -1;
                 end;
   end;
    TEdit(Sender).Text := Tex;
    TEdit(Sender).tag := TEdit(Sender).tag+I;
    if TEdit(Sender).tag <0 then TEdit(Sender).tag :=0;
end;

Espero te sirva.

Un saludo

__________________
Lo importante no es llegar primero, sino saber llegar.

Para que puedas llegar mejor lee la Guia de Estilo

Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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 07:17:06.


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