Fórum como auto formatar 45000 para 45.000 #296452
21/09/2005
0
450 = 4.50
4500 = 4.500
450000 = 45.000
pois vou tratar tudo em toneladas. ai ele não vai usar casas depois da , mais c alguem tivar alguma coisa completa eu já coloco no sistema todo..
Grato
Marcos Fernando
Curtir tópico
+ 0Posts
21/09/2005
Nandolh
#,0
Gostei + 0
22/09/2005
Marcos Fernando
e o display format não me fornece essa opação em edição
preciso que ele auto formate tipo no onchange e não no onexit
Grato
Gostei + 0
22/09/2005
Gameiro
unit u_teste;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls,Maskutils;
type
TForm1 = class(TForm)
Edit1: TEdit;
procedure Edit1Change(Sender: TObject);
procedure Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
end;
Function FormatarBanco(Valor:String; Quant:Integer):String;
var
Form1: TForm1;
v1,v2:string;
implementation
{$R *.dfm}
Function FormatarBanco(Valor:String; Quant:Integer):String;
begin
case Length(Valor) of
0:result:=´´;
1:result:=´0,0´+Valor;
2:result:=´0,´+Valor;
3:result:=FormatMaskText(´0,00;0´, Valor);
4:result:=FormatMaskText(´00,00;0´, Valor);
5:result:=FormatMaskText(´000,00;0´, Valor);
6:result:=FormatMaskText(´0.000,00;0´, Valor);
7:result:=FormatMaskText(´00.000,00;0´, Valor);
8:result:=FormatMaskText(´000.000,00;0´, Valor);
end;
end;
procedure TForm1.Edit1Change(Sender: TObject);
begin
v2:=v1;
Edit1.text:=FormatarBanco(v2, Length(v2));
end;
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=vk_delete then
Begin
Edit1.clear;
v1:=´´;
end;
end;
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
v1:= v1 + key;
end;
end.ate mais. :)
Gostei + 0
23/09/2005
Amjorge
Gostei + 0
23/09/2005
Marco Salles
procedure TForm1.Edit1Change(Sender: TObject); var vf:String; posicao,tamanho:integer; begin vf:=edit1.text; posicao:=pos(´.´,vf); if posicao > 0 then delete(vf,posicao,1); tamanho:=length(vf); if tamanho <= 3 then vf:=´.´+vf else begin posicao:=length(vf)-3; vf:=copy(vf,1,posicao)+´.´+copy(vf,posicao+1,3); end; edit1.OnChange:=nil; edit1.text:=vf; edit1.OnChange:=edit1Change; edit1.SelStart:=length(edit1.text); end; procedure TForm1.Edit1Click(Sender: TObject); begin edit1.SelStart:=length(edit1.text); end;
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin if edit1.SelStart < length(edit1.text) then key:=#0; end;
procedure TForm1.Edit1Enter(Sender: TObject); begin edit1.selstart:=length(edit1.text); end;
No objecto inspector do edit1 coloque a propreidade text = ´.´
Gostei + 0
23/09/2005
Marcos Fernando
Grato
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)