co w tym jest nie tak ?
MaskEdit1.EditMask:='9,9999;1;0';
x:=StrToFloat(MaskEdit1.Text);
Nie chce przyjąć np. liczby 2,0020 jako float wywala błąd (niestety nie znam angielskiego)
dzieki z góry LIMBA {hello}
co w tym jest nie tak ?
MaskEdit1.EditMask:='9,9999;1;0';
x:=StrToFloat(MaskEdit1.Text);
Nie chce przyjąć np. liczby 2,0020 jako float wywala błąd (niestety nie znam angielskiego)
dzieki z góry LIMBA {hello}
Zmień DecimalSeparator na ',', ale nie gwarantuje, że ruszy.--Vogel [Delphi 6 PE]
Life is just a dream, you know...
[Cowboy Bebop]
DecimalSeparator:=','; to nie działa
jast dziwne bo bo np. 2,2222 przyjnuje a liczbe 2,0002 wywala błąd
No to chyba oczywiste że wywala błąd to zero na końcu powoduje iż zera w
MaskEdit są traktowane jak spacje, moja propozycja:
For i := 1 to length(MaskEdit1.Text) do
IF MaskEdit1.Text[i] = ' ' then y:=y+'0'
else y:=y+MaskEdit1.Text[i] ;
x:=StrToFloat(y) ;
{browar}
nie wiem dalej o co chodzi (ale działa twoja podpowiedz)
Dzięki wielkie {browar}
MirekPil napisał:
For i := 1 to length(MaskEdit1.Text) do
IF MaskEdit1.Text[i] = ' ' then y:=y+'0'
else y:=y+MaskEdit1.Text[i] ;
x:=StrToFloat(y) ;
To może:
y:=Trim(MaskEdit1.Text);
x:=StrToFloat(y)--Vogel [Delphi 6 PE]
Life is just a dream, you know...
[Cowboy Bebop]
Vogel napisał:
...
y:=Trim(MaskEdit1.Text);
...
niestety Trim() usuwa tylko spacje na początku i na końcu Stringa.
W przypadku jeśli :
MaskEdit1.EditMask:='9,9999;1;0';
ostatnie zero powoduje że wprowadzony ciąg np: 1,0002 w MaskEdit1.Text przechowuje ciąg : '1, 1' .