Hola Fidel.
Sabiendo que tienes Delphi XE2 y disposición para usar
GH Freebrary, te paso un ejemplo de cómo hacerlo con una función de esta biblioteca.
Código Delphi
[-]Uses
GHFRTL;
...
Var
S :String;
Begin
S := ' Prueba';
If ghIsChrs (S, ghchDotDecimals + [' ']) Then
ShowMessage ('es válida')
Else
ShowMessage ('no es válida');
S := '12 345.';
If ghIsChrs (S, ghchDotDecimals + [' ']) Then
ShowMessage ('es válida')
Else
ShowMessage ('no es válida');
S := '93 ';
If ghIsChrs (S, ghchDotDecimals + [' ']) Then
ShowMessage ('es válida')
Else
ShowMessage ('no es válida');
La función
ghIsChrs comprueba si una cadena dada (
S) se compone de, y sólo de, caracteres que se encuentren en un conjunto dado, en este caso punto, dígitos decimales y espacio en blanco. En el ejemplo, el primer If no se cumple, los segundos dos Ifs sí.
Desde luego, puede haber otras soluciones para esta situación. La mía es sólo una alternativa.
Saludos.