Hola Kiranov.
Cuando mencionabas:
Cita:
Empezado por Kiranov
... pero a la hora de hacer una entrada con una mascara, por ejemplo $99999.99, si ingreso $999__.99 me da error de formato.
|
Tal vez te referías a no obtener errores de conversión mediante
StrToFloat por ejemplo. Si fuera así, tal vez te serviría procesar la cadena de este modo:
Código Delphi
[-]
procedure TForm1.FormCreate(Sender: TObject);
begin
MaskEdit1.EditMask := '$#9999' + DecimalSeparator + '99';
end;
function TrimSpc(Text: string): string;
var
i: Integer;
begin
for i := 1 to Length(Text) do
if Text[i] in ['0'..'9', DecimalSeparator,'-'] then
Result := Result + Text[i]
end;
Llamada ejemplo:
Código Delphi
[-]
procedure TForm1.MaskEdit1Exit(Sender: TObject);
var
d: Double;
begin
d := StrToFloat(TrimSpc(MaskEdit1.Text));
ShowMessage(FloatToStr(d));
end;
Saludos.