Estimado Casimiro:
He resuelto el tema modificando tu función.
Código Delphi
[-]
function FormateaTextoExcepcion (cCadena : string) : string;
var
i, l, k : integer;
temp : String;
begin
i := Pos('exception 1', cCadena);
l := length ('exception 1');
if i > 0 then
begin
temp := Copy(cCadena, i+l+1, length(cCadena));
k := Pos ('At', temp);
Result := Copy(temp, 0, k - 1);
end
else
Result := cCadena;
end;
Ahora el mensaje lo muestra de la siguiente manera.
SOBREPASA_SALDO !Sobrepasa saldo permitido de la Cta Corriente!
Lo unico que me faltaría sería como sacar el nombre de la excepción SOBREPASA_SALDO, estoy intentando buscar un lógica de como sacar ese nombre, la idea es que me sirva para cualquier excepción que maneje desde Firebird.
Gracias casimiro