Alguém sabe me dizer se a função AllTrim() removia os espaços de "TAB" na versão 12.1.17?
Pois tenho uma customização que agora parou de funciona porque a função AllTrim() não remove caracter "TAB". Mas não sei se isso começou agora após atualização para 12.1.23 ou nunca chegou um registro com esse caracter especial.
Deparei com o mesmo problema na 12.1.33, usei a função FwCutOff. AllTrim( FwCutOff( " texto " ) ) . FwCutOff - Frameworksp - TDN
Boa tarde Emerson,
Até onde conheço o alltrim limpava tudo, inclusive os tab.
Bom dia Emerson,
Fiz testes com binários distintos, NG, Logo Guará etc, em nenhuma das versões o TAB foi removido.
Você pode encapsular o AllTrim do binário adicionando o seu comportamento, com uma função, método estático etc, veja um exemplo abaixo:
#include "protheus.ch"
//-------------------------------------------------------------------
/*{Protheus.doc} TStringUtils
Classe com métodos estáticos para tratamento de strings
@author Daniel Mendes
@since 28/01/2020
@version 1.0
*/
//-------------------------------------------------------------------
class TStringUtils from longnameclass
static method TabAllTrim()
endclass
//-------------------------------------------------------------------
/*{Protheus.doc} TabAllTrim
Efetua o alltrim da string recebida
Também remove o TAB (Tabulação horizontal) - ASCII - 9
@param cValue Valor que será removidos os espaços
@return String sem espaços e tabs no começo e no final
@author Daniel Mendes
@since 28/01/2020
@version 1.0
*/
//-------------------------------------------------------------------
method TabAllTrim(cValue) class TStringUtils
return StrTran(AllTrim(cValue), Chr(9), "")
//-------------------------------------------------------------------
/*{Protheus.doc} u_AllTrim
Função de teste do método estático TStringUtils():TabAllTrim()
@author Daniel Mendes
@since 28/01/2020
@version 1.0
*/
//-------------------------------------------------------------------
function u_AllTrim()
local cString as char
cString := Chr(9) + " Daniel"
cString := TStringUtils():TabAllTrim(cString)
ConOut(cString)
MsgInfo(cString)
return nil
Deparei com o mesmo problema na 12.1.33, usei a função FwCutOff.
Alltrim( FwCutOff( " texto " ) )