vaya, se me pasó por alto el tema de sysutils.DecimalSeparator.
Supongo que quieres usar el sistema español, es decir, el punto como separador de miles y la coma como separador decimal. Logicamente Delphi usa la configuración al revés.
La función que buscas viene en Delphi 6 o superior:
StringReplace(TheString, ',', '.', [rfReplaceAll])
Para quitar los puntos de millar puedes usar, la misma función dejando el segundo parámetro vacio:
StringReplace(TheString, '.', '', [rfReplaceAll])
Edito para no alargar más el tema:
Si no tienes delphi 6, siempre puedes hacer un bucle:
Código Delphi
[-]
str := '6.546.798,00';
repeat
i:= pos('.',str);
if i>0 then
begin
delete(str,i,1);
end
until i=0;
i:= pos(',',str);
if i>0 then
str[i]:= '.';
Dicho de memoria, así que revisalo
Un saludo
Un saludo.