[RESOLVIDO] Ajustando espaço no campo

Olá pessoal,

Como fazer para que no momento que o usuário sair de um campo tipo Texto (Formulário), eu possa adicionar espaços em branco no início do campo.
Exemplo: (Campo com tamanho 20 caracteres)
O usuário digita “1520”
Preciso que tenha 16 caracteres em branco seguido de “1520”, então ficará: " 1520"

Att,

Jocimar

Em 13 / julho / 2013 voltei a esta situação e percebi que o SC no release .18 está com isto resolvido.
Se quero que fique com o caracter “0” ou utilizo algum recurso para deixar zeros a esquerda, o SC 7 está respeitando!
BUG resolvido

Acho que dá para fazer com evento ajax, no onchange deste campo você colocar este código que concatena com o campo os espaços que você quer.

Boa Sorte!

Obrigado pelo retorno!

str_pad() não adiciona espaço quando utiliza ajax no onChange do campo, porém se informar algum caracter, então este é adicionado.
str_pad() com STR_PAD_BOTH, este adiciona os espaços ou qualquer caracter.

A princípio vou fazer um “for” para adicionar os espaços a esquerda do campo. Pena que nem tudo funciona como está no manual.

Att,

Jocimar

Pessoal,

Seguinte, fiz de várias formas para adicionar a esquerda do campo apenas espaços, e todo retorno no SC7 ele elimina estes espaços.

Assim retorna o “":
$cNOMVAR = str_pad( $cNOMVAR, $nTAMVAR,"
”, STR_PAD_LEFT);

Assim retorna o mesmo conteúdo inicial utilizando apenas abre aspas duplas (") + um espaço + fecha aspas duplas ("*.
$cNOMVAR = str_pad( $cNOMVAR, $nTAMVAR," ", STR_PAD_LEFT);

Abaixo o código
$cNOMVAR = str_pad( $cNOMVAR, $nTAMVAR," ", STR_PAD_LEFT);
$nTAM = strlen( $cNOMVAR );
sc_alert( $nTAM ); // Aqui está com 14 de tamanho, conteúdo do variável $nTAMVAR, porém no SC7 o retorno retira os espaços.

Imagino que seja algum problema no SC7 e não no PHP, corrijam-me se eu estiver errado, pois com algum caractere funciona, porém o espaço também é um caracter, que não pode ser desprezado quando a aplicação do seu uso seja significante para o objetivo da aplicação.

Att,

Jocimar

Jocimar,

Testei no SC e realmente acontece isso… não se trata nem de não acrescentar os espaços, ele simplesmente os elimina quando da visualização… fiz um teste com um campo de um registro de uma tabela qualquer, acrescentei espaços antes e depois deste campo e quando dei um echo ele não mostrou os espaços, embora eles estivessem lá.

No meu modo de ver isso é um BUG. A solução mais rápida possível é você substituir por outros caracteres que não sejam os espaços em branco.

Forte abraço.

Jovito,

Fiz o seguinte:

No campo coloquei para mostrar o conteúdo por lookup, e lá utilizei o lpad no select (aqui que tentei utilizar o str_pad() no Evento Ajax onChange - que não funcionou)
No evento OnBeforeInsert utilizei o str_pad()

Foi a maneira para resolver isto utilizando o conteúdo do BD com espaços.
Nos testes que realizei, os espaços são excluídos pelo SC (não deveria, quando utilizado recursos disponíveis para processar o seu conteúdo).

Att,

Jocimar

Pessoal,

Criei um “controle”, adicionei um campo, e utilizei o str_pad() do php para preencher com “0” a esquerda, e neste caso o SC7 também elimina este caractere.
Após utilizar o str_pad(), utilizo o sc_alert() para ver o conteúdo do campo / variável, e o mesmo contém os caracteres, seja espaços ou zeros, mas ao retornar a execução do evento AJAX ele ignorar o novo conteúdo do campo.
Então gostaria de saber se isto é um bug do SC7 ou se isto é um padrão em desenvolvimento WEB.

Att,

Jocimar

Olá SC / NetMake,

No formulário na configuração de campos do tipo Texto, têm a opção de “Completar à esquerda com”, e nesta opção coloquei o caracter “0”, e o SC 7 ignora este caracter, isto é BUG ?
Percebi que o SC 7 não gosta de espaços quando preciso, e também não gosta do “0”, …

Att,

Jocimar

É BUG e sem previsão de solução pela NM.