EDIT
#1
Escrito 15 julio 2010 - 08:25
Otra duda
se pude hacer que un edit en su propiedad text
los datos que se capturen sean de derecha a izquierda ?
esto es para tenerlo lleno de "0" ( ZERO ) y
cuando lo llenen si faltaban números por capturar
estos queden llenos con ZERO ??
GRACIAS
#2
Escrito 15 julio 2010 - 09:08
Saludos.
#3
Escrito 15 julio 2010 - 09:34
necesito hacer un edit lleno de ceros ( eso creo esta facil )
luego que los tados vallan apareciendo de derecha a izquierda, al contrario de lo normal
y que se vallan borrando los ceros que estan,
por que el campo es para 9 caracteres, si me ponen 8 es que esta incompleto,
pero algunos de esos datos empiezan con cero ( no tengo idea de el por que )
pero tendran los usuarios que capturarlo completo el campo
9 digitos y que en caso de que no se completen se le ponga un 0 al principio
#4
Escrito 15 julio 2010 - 09:47
procedure TForm1.FormCreate(Sender: TObject); begin SetWindowLong(Edit1.Handle,GWL_STYLE,GetWindowLong(Edit1.Handle,GWL_STYLE) or ES_RIGHT); end;
El relleno con ceros seguro que lo sabes realizar a la perfección.
Saludos.
#5
Escrito 15 julio 2010 - 12:37
Con lo que Escafandra te menciona puedes alinear a la derecha el texto.
Ahora bien, utiliza la propiedad MaxLength para indicar la cantidad máxima de caracteres que vas a permitir. Eso del relleno de ceros lo puedes hacer tú mismo, no necesariamente lo debe de hacer el usuario, con la propiedad que te indique te aseguras que el texto digitado no va a hacer mayor del que necesitas.
Con este código puedes rellenar de ceros:
Edit1.Text := FormatFloat('000000000', StrToFloat(Edit1.Text));
Falta asegurarnos de que los caracteres digitados sean número, puedes interceptar el evento OnKeyPress:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin if not (key in['0'..'9',#8]) then key:=#0; end;
Espero que esto te sirva, prueba y nos avisas como te fue.
#6
Escrito 15 julio 2010 - 01:22
Un Edit con el texto '000000000' (9 ceros) y su propiedad MaxLength = 9.
y este código:
unit Unit1; interface uses Windows, SysUtils, Messages, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Edit1: TEdit; procedure FormCreate(Sender: TObject); procedure Edit1KeyPress(Sender: TObject; var Key: Char); end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin SetWindowLong(Edit1.Handle,GWL_STYLE,GetWindowLong(Edit1.Handle,GWL_STYLE) or ES_RIGHT); end; procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin if (key in['0'..'9',#8]) then begin Edit1.Text := FormatFloat('00000000'{ocho ceros}, StrToFloat(Edit1.Text)); Edit1.SelStart:=Length(Edit1.Text); end else Key:= #0; end; end.
El edit trabaja alineado a la derecha, se muestra lleno de ceros que se van sustituyendo por los números pulsados.
Espero que sea lo que estás buscando.
Saludos.
#7
Escrito 15 julio 2010 - 01:25
Salud OS
#8
Escrito 15 julio 2010 - 01:36
Saludos.
#9
Escrito 15 julio 2010 - 02:46
Vaya vaya, amigo escafandra no se vaya a olvidar de delphi en sus vacaciones
Salud OS
Aunque me siento mas cómodo con C que con delphi (raro ¿no?) y desde mañana estaré desconectado durante 15 días, no me olvidaré.
Saludos.
Y si se olvida, conozco un foro excelente donde pueden ayudarlo a re-encontrar el camino ...
Saludox !
P.D. No desvirtúen el hilo....
#10
Escrito 15 julio 2010 - 02:51
...mmm ¿Será www.delphiaccess.com?Y si se olvida, conozco un foro excelente donde pueden ayudarlo a re-encontrar el camino ...
Saludos.
#11
Escrito 15 julio 2010 - 02:53
...mmm ¿Será www.delphiaccess.com?
Y si se olvida, conozco un foro excelente donde pueden ayudarlo a re-encontrar el camino ...
Saludos.
No ahí no porque dicen que nomás hechan relajo y hechan a perder los hilos de ayuda
Falacias !!!!!!!!
Saludox ! (<<< nótese el lente playero)
#12
Escrito 15 julio 2010 - 03:22
Saludos.