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 09-03-2013
bigguntm bigguntm is offline
Miembro
NULL
 
Registrado: nov 2012
Posts: 16
Poder: 0
bigguntm Va por buen camino
Son unos duros en la programacion, cualquiera de los dos funciona correctamente, pero tengo un detallito, el MaskEdit deberia de habilitar el btnCalculate cuando llene todo los caracteres,
Código Delphi [-]

if StrLen( PChar(Edit2.Text) ) > 12 then //al Maskedit le puse como name Edit2.Text
btnCalculate.Enabled := true;

if StrLen( PChar(Edit2.Text) ) < 13 then
btnCalculate.Enabled := false;
end;

ese code me funciona fino en un Edit, pero el problema de el MaskEdit esq siempre esta lleno.. un ejemplo de eso, MEP-_____-___ o MEP- - , yo borro, y lo que hace es retroceder. Y si lo pongo

Código Delphi [-]
if not StrLen( PChar(Edit2.Text) ) = 13 then 
btnCalculate.Enabled := false;

entonces siempre estaria habilitado ya que cuenta los '_' , ' ', '.' ... Saludos
Responder Con Cita
  #2  
Antiguo 10-03-2013
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 bigguntm.

Proba de este modo:
Código Delphi [-]
...
procedure TForm1.FormCreate(Sender: TObject);
begin
  with MaskEdit1 do
  begin
    EditMask  := 'LLL-00000-000;0; ';
    CharCase  := ecUpperCase;
    Text      := '';
    MaxLength := 12;
  end;
end;

procedure TForm1.MaskEdit1KeyPress(Sender: TObject; var Key: Char);
begin
  with MaskEdit1 do 
    btnCalculate.Enabled:= SelStart = 12;
end;
...

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 10-03-2013
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 de nuevo.

Me quedó rondando en la cabeza y si... El código anterior, provoca un efecto no deseado cuando se presiona Backspace u otra tecla más allá del caracter 12.

Mejor es:
Código Delphi [-]
procedure TForm1.MaskEdit1KeyPress(Sender: TObject; var Key: Char);
begin
  with Sender as TMaskEdit do
    if SelStart < 13 then
      btnCalculate.Enabled:= (SelStart = 12) and (key <> #8);
end;

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 10-03-2013 a las 00:48:38.
Responder Con Cita
  #4  
Antiguo 10-03-2013
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 21
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
bigguntm,

Cita:
Empezado por bigguntm
...el MaskEdit deberia de habilitar el btnCalculate cuando llene todo los caracteres...
Revisa este código:
Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject);
begin
   MaskEdit1.EditMask := 'MEP-00000-000;0;_';
end;

procedure TForm1.MaskEdit1Change(Sender: TObject);
begin
   if Length(MaskEdit1.Text) = 8 then
      Button1.Enabled := True;
end;
Este código establece a True la propiedad enabled de un control TButton al ingresar todos los caracteres numéricos en el control TMaskEdit.

Nota: La longitud del control TMaskEdit es 8 dado que esta basada en la longitud de los caracteres de entrada. Si posteriormente requieres el valor entrado con su Mascara de Edición puedes aplicar el siguiente código:
Código Delphi [-]
...
var
   s : String;
begin
   s := Format('MEP-%s-%s',[Copy(MaskEdit1.Text,1,5),Copy(MaskEdit1.Text,1,3)])
end;
Espero sea útil

Nelson.

Última edición por nlsgarcia fecha: 10-03-2013 a las 01:21:33.
Responder Con Cita
  #5  
Antiguo 10-03-2013
alsn alsn is offline
Miembro
NULL
 
Registrado: abr 2012
Posts: 20
Poder: 0
alsn Va por buen camino
Otra posibilidad:

Código Delphi [-]
procedure TForm1.MaskEdit1KeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  btnCalculate.Enabled := Pos(' ',TMaskEdit(Sender).Text) = 0;
end;

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
Excepciones propias andresenlared JAVA 5 07-03-2012 20:33:08
Politicas Erroneas Pascalizado Debates 2 14-07-2007 04:18:56
Crear Clases propias o Usar Existentes jorllazo Debates 19 27-04-2007 03:07:39
no reconoce uses propias Xana Varios 1 13-03-2007 18:17:55
Crear librerias propias en delphi Jan_polero OOP 5 15-05-2004 13:29:04


La franja horaria es GMT +2. Ahora son las 21:15:30.


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