Página 1 de 1
PadL e PadR, alinham ou preenchem?
Enviado: 15 Dez 2011 04:55
por rochinha
Amiguinhos,
Fiz o seguinte teste usando Harbour:
Código: Selecionar todos
function main()
? "PadL", padL( "JOSE CARLOS", 30, "_" )
? "PadR", padR( "JOSE CARLOS", 30, "_" )
return .t.
Resultados:
Código: Selecionar todos
PadL, ___________________JOSE CARLOS
PadR, JOSE CARLOS___________________
Minha cabeça já esta a mil e o que eu quero é:
Alinhar uma string à esquerda preenchendo o resto com algum caracter qualquer, por isto usei PadL()
Alinhar uma string à direita preenchendo o resto com algum caracter qualquer, por isto usei PadR()
Ao alinhar um texto à direita usando PadR, obtive o contrário, ou seja, alinhou para esquerda e prencheu pela direita.
As funções Pad?() vão alinhar ou preencher, agora que fico louco mesmo.
Ajudem o bom velhinho aqui.
PadL e PadR, alinham ou preenchem?
Enviado: 15 Dez 2011 08:36
por kiko
Bom dia.
As funções Pad???() vão completar a sua cadeia de caracteres até ficarem do tamanho que vc precisa. se vc omitir o ultimo parametro, será preenchido com espaços " ".
Citação do bom e velho Norton Guides:
PADC(), PADL(), e PADR() retornam o resultado de <exp> na forma de uma
cadeia de caracteres preenchida com <cCaracPreench>, para totalizar o
tamanho especificado por <nTamanho>.
seus exemplos ficariam assim:
Código: Selecionar todos
function main()
? "PadL", padL( "JOSE CARLOS", 30, "_" )
? "PadR", padR( "JOSE CARLOS", 30, "_" )
? "PadC", padC( "JOSE CARLOS", 30, "_" )
return .t.
PadL, ___________________JOSE CARLOS
PadR, JOSE CARLOS___________________
PadC, __________JOSE CARLOS_________
Acho que vc esta precisando dormir....postou essa dúvida quase as 4 da madrugada.........hehehehehehe
Abs
PadL e PadR, alinham ou preenchem?
Enviado: 15 Dez 2011 09:03
por ANDRIL
Ja tive a mesma duvida quanto ao lado do alinhamento, o padR ficando na nossa Esquerda e o padL ficando na nossa Direita (um tanto quanto controverso). Para entender isso, fique de costas para seu monitor e verá que ai sim esta correto. Só assim comecei a entender onde o texto será alinhado, kkk.
Ate+
PadL e PadR, alinham ou preenchem?
Enviado: 15 Dez 2011 10:22
por Pablo César
PadL e PadR, alinham ou preenchem?
Como ja disseram os colegas, essa função preenche com o caracter que for colocado no terceiro parâmetro e na quantidade de vezes que forem informado no segundo parâmetro e irá fazê-lo para a direita se for usar PADR e a esquerda com PADL. Eu também confundia, mas sempre checo e refaço quando vejo que escolhí o errado... rsrs Realmente parece fazer o contrário do que precisamos. Sempre usei essas funções, ja não me abalo mais...
PadL e PadR, alinham ou preenchem?
Enviado: 15 Dez 2011 10:30
por rochinha
Amiguinhos,
Valeu mesmo, não achei que fosse bug mas sim confusão minha, pois uso estas funções na concatenação de arquivos TXT e só ontem, às 4:00hs é que me indaguei sobre isto.
Na verdade achei que ainda eram 2:00hs pois meu computador está atrasado no relógio.
Resolvi trocando uma pela outra.
Obrigadão a todos.
PadL e PadR, alinham ou preenchem?
Enviado: 18 Dez 2011 20:51
por Eolo
Rochinha, posso até parecer pedante ou algo do tipo, mas vou dar uma sugestão, que aliás pode ajudar mais gente, com esta e com outras funções e comandos: traduzir o significado com a ajuda dum dicionário, já que é tudo em inglês...
PAD (entre outras coisas) quer dizer almofada ou almofadar (colocar enchimento). Mouse Pad? 'Almofada' pro mouse. Ink Pad? Almofada de carimbo (acho que nem existe mais... hehehe).
PADear um string, então, é colocar algum "enchimento" nele. PAD-R = almofadar à direita (Right) e PAD-L = almofadar à esquerda (Left). Então, padL( "JOSE CARLOS", 30, "_" ) quer dizer: encha o string JOSE CARLOS com "_s", à esquerda, até chegar no tamanho 30. Quando for PADR, faça o mesmo, mas à direita.
E tem ainda o PADC, que Centraliza (Center) o JOSE CARLOS, dividindo os 11 caracteres que faltam pra 30, colocando 5 de cada lado. Ops, acho que ficam 6 do lado esquerdo, senão não fecha a conta.
A função PAD, então, não alinha nada. Aliás, alinha sim, se vc usar os mesmos parâmetros pra vários strings.
Um outro exemplo, que já foi dúvida aqui no forum: qual a diferença entre DBCOMMIT() e DBCOMMITALL()? Destrinchando o trem: DB Data Base, COMMIT Submeter, ALL Todos. Sabendo disso, talvez fique mais fácil entender que DBCOMMITTALL() passa a régua em todas as operações pendentes para todos os DBs abertos, enquanto que o outro só opera na área de trabalho ativa...
Abraço!
PadL e PadR, alinham ou preenchem?
Enviado: 18 Dez 2011 22:49
por rochinha
Amiguinhos,
Pois é grande
Eolo(
Rei Eolo) e estava usando o mesmo para alinhar textos de arquivo como sintegra, etc.
Derepente ao olhar o conteudo de um arquivo e ver que tinha espaço de sobra, e do lado errado, o cabelo esquentou.
Depois de anos ainda dar umas pipocadas destas é dóse.
Hehehe!
Agora ta tudo certo.
PadL e PadR, alinham ou preenchem?
Enviado: 19 Dez 2011 09:55
por Eolo
Esquentou o cabelo? Então ainda tá bom. No meu caso, esquenta é a careca, porque os cabelos já se foram, 'levados pelos ventos da Eólia'... hehehe
PadL e PadR, alinham ou preenchem?
Enviado: 19 Dez 2011 16:34
por Boogerman
Bem Rochinha..
Acho que já ficou bem esclarecido a questão.. mas..deixa eu dar meu pitaco também..rsrsrsrs
Como o Eolo bem explicou.. não alinha nada.. ele completa a sua cadeia de string, e lógico que se usar PadL.. preencher a esquerda, sua cadeia de string automaticamente será jogada para o lado direito, e o contrário com PadR..
Então não esta errado.. apenas falta de atenção com relação ao lado que a sua cadeia de string irá ser jogada...
Abraços...
PadL e PadR, alinham ou preenchem?
Enviado: 21 Dez 2011 22:43
por sygecom
Mas bah Eolo, que nem tu não existe igual, Quando eu crescer quero ser que nem tu. Alias quero ter mais cabelo....rsrsrsrs,em Janeiro tomamos umas bereja... abraço por trás...