|
|
 | Fjerne tusindtalsseperatoer i DBEditbokse ~ Fra : Ukendt |
Dato : 10-03-06 18:03 |
|
Hej.
Jeg har et belastende problem, som må være mulig at omgå.
Jeg har nogle DBEditbokse, hvor - som navnet antyder - værdien bliver gemt
og hentet i en database.
Jeg har felterne sat op, så tallene vises i et pænt format, fx #,##0.
Jeg har sat nogle beregninger ind i databasens OnCalcFields event.
Mit problem er så, at jeg får en naturlig fejlmeddelelse, hvis jeg følger
flg.:
Værdien i en DBEditboks er fx 1.234.567
Jeg klikker i editboksen for at rette 7-tallet til et 8-tal, hvorefter det
bliver 1.234.568 og jeg forsøger nu at forlade feltet.
Fejlen opstår som en naturlig grund, da 1.234.568 ikke er et gyldigt
integer-værdi
Jeg mangler dermed noget kode, der på en eller enden måde enten ser bort fra
tusindtalsseperatorerne eller fjerner dem, når feltet går over i editmode
eller lignende.
Er der en, der vil være behjælpelig med noget her?
På forhånd tak.
| |
Michael Haase (11-03-2006)
 | Kommentar Fra : Michael Haase |
Dato : 11-03-06 19:26 |
|
Michael Sørensen skrev dette den 10-03-2006 18:03:
> Jeg mangler dermed noget kode, der på en eller enden måde enten ser bort fra
> tusindtalsseperatorerne eller fjerner dem, når feltet går over i editmode
> eller lignende.
>
> Er der en, der vil være behjælpelig med noget her?
>
Prøv med
function RemoveSeparator(tekst : string):integer;
var i : integer;
tmp : string;
begin
tmp:='';
for i:=1 to length(tekst) do
if tekst[i]<>DecimalSeparator then
tmp:=tmp+tekst[i];
result:=strtoint(tmp);
end;
procedure TForm1.DBEditBoxEnter(Sender: TObject);
var number : integer;
begin
number:=RemoveSeparator(DBEditBox.text);
end;
--
Michael Haase
| |
|
|