LTrim
Remove espacos em branco SOMENTE do inicio da string. Par de RTrim. AllTrim faz os dois lados de uma vez.
Assinatura: LTrim(cString) -> cString
Retorna: Character
LTrim remove os espacos a esquerda da string. Quando voce precisa preservar espacos a direita (padding intencional), e a escolha. Em 95% dos casos, voce vai querer AllTrim que limpa os dois lados.
Sintaxe
LTrim(cString) --> cString
Comparacao com a familia trim
| Funcao | Esquerda | Direita | Uso tipico |
|---|---|---|---|
LTrim | ✅ | — | Preservar padding direito (campo Char fixo) |
RTrim | — | ✅ | Preservar padding esquerdo (numeros zero-pad) |
AllTrim | ✅ | ✅ | 90% dos casos — limpar string completamente |
Exemplos
LTrim(" Joao ") // "Joao " (mantem direita)
LTrim("Joao") // "Joao" (sem mudanca)
LTrim("") // ""
LTrim(" ") // "" (so espacos)
LTrim(" abc def ") // "abc def "
Quando usar LTrim em vez de AllTrim
- Campos Char de tamanho fixo que voce quer manter padded a direita pra comparacao posicional.
- Concatenacao alinhada — gerar relatorio onde direita do campo deve manter espacos.
- Compatibilidade com sistema externo que requer padding especifico.
Caso pratico: leitura de arquivo posicional
// Arquivo flat com colunas posicionais — preservar tamanho original
cLinha := FReadStr(nHandle, 80)
cCodigo := LTrim(SubStr(cLinha, 1, 10)) // remove zero/espaco a esquerda
cDescr := SubStr(cLinha, 11, 30) // preserva como esta
cValor := SubStr(cLinha, 41, 15)
Pegadinhas
- Caractere "espaco" so — LTrim nao remove
CHR(9)(tab),CHR(10)(LF),CHR(13)(CR). Pra esses useStrTran. - String vazia ou so espacos retorna vazia.
- Use AllTrim por default — LTrim sozinho e raro; se voce nao tem motivo claro pra preservar padding direito, use AllTrim.
Anti-padrao comum
// ERRADO — usar LTrim quando o objetivo era limpar tudo
cNome := LTrim(SA1->A1_NOME)
// SA1->A1_NOME tem padding direito da SX3 (50 chars)
// cNome fica "Joao da Silva " — ainda padded direita
// CERTO
cNome := AllTrim(SA1->A1_NOME)
// "Joao da Silva"
Parâmetros
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
cString | Character | sim | String a processar. |