Ajuda com delphi e webservice

07/06/2018

0

Olá, boa tarde.
Pessoal, escrevi um web service em c#, dentro do nosso sistema feito em delphi, no onShow do form coloquei a seguinte invocação:
(HTTPRIO1 as wsContasSoap).LoginMS(CNPJ, PERFIL, dmNFE.cdsConsultaPadrao.FieldByName('SENHA').AsString, DateToStr(Date), copy(TimeToStr(now), 1,8))

Funciona, executa a tarefa que quero no meu web service, porém depois disso todo meu sistema troca a , por .
Se o valor .e 12,25 fica 12.25.

Comentei a linha acima ai o sistema funciona perfeitamente, onde é 12,25 continua 12,25, não sei o que pode ser, alguém já passou por essa dificuldade?
Lucas Demetrius

Lucas Demetrius

Responder

Post mais votado

07/06/2018

logo após a linha de invocação do webservice, faça:

ThousandSeparator := '.'; // o caractere que você quer usar como separador de milhar
DecimalSeparator := ','; // o caractere que você quer usar como separador de decimais


ou
SysUtils.FormatSettings.ThousandSeparator := '.'; // o caractere que você quer usar como separador de milhar
SysUtils.FormatSettings.DecimalSeparator := ','; // o caractere que você quer usar como separador de decimais

Emerson Nascimento

Emerson Nascimento
Responder

Mais Posts

07/06/2018

Lucas Demetrius

Coloquei mas deu problema, estou usando o Delphi7 é alguma incompatibilidade?
Responder

08/06/2018

Emerson Nascimento

Não. Existe no Delphi 7 também.
Veja se você declarou a unit no uses. Não me lembro qual a unit no Delphi7; pode ser System ou SysUtils.
Responder

08/06/2018

Lucas Demetrius

Declarei SysUtils mas não deu certo, até tentei criar uma variável do tipo
quando tentei declarar a System deu erro
[Error] uPrincipal.pas(13): Identifier redeclared: 'System'
fs : TFormatSettings;
Result:=StrToFloat(StringReplace(String(tS),'.',fs.DecimalSeparator,[]));

Ma não deu certo
Responder

08/06/2018

Emerson Nascimento

Não precisa declarar qualquer variável.

ConsomeWebService;

ThousandSeparator := '.'; // o caractere que você quer usar como separador de milhar
DecimalSeparator := ','; // o caractere que você quer usar como separador de decimais

a partir daqui o Delphi passa a usar como separador de milhar o 'ponto', e como separador de decimais, a 'vírgula'.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar