Página 1 de 1

Preencher campo à direita com caracter em relatórios ...

Enviado: 20 Jul 2024 19:47
por arcanjoebc
Amigos do fórum, estou tentando me lembrar de como eu faço para colocar o caracter "." (ponto) nos espaços à direita de um campo chamado "NOME" ... abaixo o trecho de código em questão:

Código: Selecionar todos

@ LINHA, 03 SAY LTRIM(STR(COD))
@ LINHA, 09 SAY REPL(".",SUBSTR(RTRIM(STR(NOME))))
@ LINHA, 51 SAY FONE
Esse é o erro reportado no terminal:

Código: Selecionar todos

everaldo@vostro-3681:~/Fones-HB$ hbmk2 fones.prg
Harbour 3.2.0dev (r1610041322)
Copyright (c) 1999-2016, http://harbour-project.org/
Compiling 'fones.prg'...
Compiling 'struc.prg'...
Compiling 'indices.prg'...
Compiling 'fones001.prg'...
Compiling 'fones002.prg'...
Compiling 'fones003.prg'...
Compiling 'fones004.prg'...
Compiling 'fones005.prg'...
fones005.prg(37) Error E0021  Incorrect number of arguments in SUBSTR 
Passed: 1, expected from: 2 to: 3
Compiling 'fones006.prg'...
1 error

No code generated.
hbmk2: Erro: Executando o compilador Harbour (interno): 1
(/usr/bin/harbour) -n2 fones.prg -o/tmp/hbmk_m85ch1.dir/ -i/usr/include/harbour

Aguardo retorno o mais rápido possível ... desde já, agradeço futura ajuda.

Everaldo

No code generated.
hbmk2: Erro: Executando o compilador Harbour (interno): 1
(/usr/bin/harbour) -n2 fones.prg -o/tmp/hbmk_ybpc11.dir/ -i/usr/include/harbour
[/code]

Preencher campo à direita com caracter em relatórios ...

Enviado: 20 Jul 2024 20:29
por alxsts
Ola!

Código: Selecionar todos

@ LINHA, 09 SAY PadR( Alltrim( nome ), 50, "." )

Preencher campo à direita com caracter em relatórios ...

Enviado: 21 Jul 2024 09:03
por Itamar M. Lins Jr.
Olá!
REPL(".",SUBSTR(RTRIM(STR(NOME) )) ) -> Replicate(".",len(nome)-len(alltrim(nome)) )
REPLICATE() pede um numero. SUBSTR() retorna CARACTERE(S) que foi CORTADO e SUBSTR() pede 3 parametros substr(cSTRING,1,20) (por exemplo) 1,20 INICIO E FIM do que será cortado.

Saudações,
Itamar M. Lins Jr.

Preencher campo à direita com caracter em relatórios ...

Enviado: 31 Jul 2024 09:52
por clodoaldomonteiro
Para o preenchimento usando um determinado caractere, use as funções PadC() <Centraliza>, PadL() <a Esquerda> ou PadR() <a Direita>.

Syntax
PadC( <expression>, <nLength>, [<cFillChar>] ) --> cPaddedString
PadL( <expression>, <nLength>, [<cFillChar>] ) --> cPaddedString
PadR( <expression>, <nLength>, [<cFillChar>] ) --> cPaddedString

Link de ajuda: https://harbour.github.io/doc/harbour.html#padr

Abraços.

Preencher campo à direita com caracter em relatórios ...

Enviado: 02 Ago 2024 01:29
por Jairo Maia
Mas o erro que ele reportou foi outro: "Incorrect number of arguments in SUBSTR" (número incorreto de argumentos em SUBSTR)

Sintaxe da função SubStr():

Código: Selecionar todos

SubStr( <cString>, <nStart>, [<nCount>] )
<cString>
(Obrigatório) String de onde será extraído a substring.

<nStart>
(Obrigatório) Esse parâmetro informa a posição na string onde iniciar a subtração.

[<nCount>]
(Opcional) Quantos caracteres extrair após a posição inicial. Se omitido, toda substring restante a partir de <nStart> será subtraida.

Return = cSubstring - retorna a substring resultante

Já para o preenchimento de caracteres, está bem explicado pelos colegas.