Nestes dias, tive a necessidade de preencher caracteres a uma string. Queria importar registos em que o campo “Nº Cliente” do Excel vinha com um tamanho máx. de 2,3 caracteres. No entanto, na base de dados, os nºs de clientes tinham sempre 5 caracteres. Desta forma, pensei logo nesta solução:
CASE STRLEN(Cliente) OF
1: Cliente := '0000'+Cliente;
2: Cliente := '000'+Cliente;
3: Cliente := '00'+Cliente;
4: Cliente := '0'+Cliente;
5: Cliente := Cliente;
END;
Assim resolvi a questão. Dias mais tarde, em conversa com um colega ele confronto-me com esta pergunta:
“E se o nº for com 20 caracteres?”
Pronto, esta solução não é viável, porque tinha que criar muitas linhas de código. Então encontrei esta função no NAV, o PADSTR.
Assim estas linhas todas de código seriam subtituídas apenas por uma:
Cliente := PADSTR('00000',5-STRLEN(Cliente))+Cliente;
Obrigado, companheiro GRANDE!