Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) QRDBText


João Paulo Taraciuk

Pergunta

Boa tarde a todos, gostaria de saber se tem como eu colocar dois QRDBText em um relatório de maneira que o segundo fosse posicionado logo após terminarem os caracteres do primeiro, tipo o primeiro seria nome da rua e o segundo seria o número, então se o nome da rua tivesse 5 caracteres, o segundo QRDBText começaria um caractere após, e assim por diante.

valeu!!!

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Colega, até dá pra fazer isto...

veja se entende este codigo :

procedure TForm1.Button1Click(Sender: TObject);
var rua, nr : string;
begin
   rua := 'AV Pedro Alvares Cabral';
   nr := '123';
   label1.Caption := trim(rua) + ' ' + nr;
end;

procedure TForm1.Button2Click(Sender: TObject);
var n, m : integer;
begin
   QRLabel1.Caption := 'AV Pedro Alvares Cabral';
   QRLabel2.Caption := '123';

   QRLabel1.Caption := trim(QRLabel1.Caption);
   n := length(QRLabel1.Caption) * 7;
   QRLabel2.Left := QRLabel1.Left + n;
end;

OBS: os dois QRLabel1 ( poderiam ser QRDBtext ) podem estar um ao lado do outro ou um em cima do outro, tanto faz, mas desde que estejam na mesma linha horizontal.

abraço

Link para o comentário
Compartilhar em outros sites

  • 0
Boa tarde a todos, gostaria de saber se tem como eu colocar dois QRDBText em um relatório de maneira que o segundo fosse posicionado logo após terminarem os caracteres do primeiro, tipo o primeiro seria nome da rua e o segundo seria o número, então se o nome da rua tivesse 5 caracteres, o segundo QRDBText começaria um caractere após, e assim por diante.
João Paulo Taraciuk, outra sugestão é fazer uso do componente TQRExpr.

Você pode utilizar o Wizard, clicando no botãozinho "..." da propriedade Expression e construir uma expressão, utilizando os botões que na tela aparecem:

- Database Field (campo das tabelas que você tem acesso no relatório);

- Function (funções disponíveis e que serão interpretadas e resolvidas pelo componente);

- Variable (de pouca utilidade neste caso);

- Outros botões de operções (+, -, *, /, ...)

Observe que a cada botão acionado, pode ser aberta uma nova janela para possibilitar uma nova composição. A medida que você vai clicando OK, vai montando a expressão final.

Um exemplo de valor para a propriedade baseando no seu caso: IBQuery1.NOME_RUA +IF(IBQuery1.NUM <> '', ', ' + IBQuery1.NUM,'')

- inicialmente acionei o botão Database Field e selecionei o campo NOME_RUA;

- adicionei o sinal "+", visto que queremos concatenar strings e eu supus que NUM é um string, caso contrário, ainda seria necessário utilizar a função STR (Other);

- acionei o botão Function e selecionei Logical->IF e cliquei em Continue. Na tela que aparece, vamos compor a expressão de avaliação;

-> primeiro argumento - Logical Value. Aciona o botão "..." e montamos a expressão IBQuery1.NUM <> '', utilizando os recursos já mencionados. Com esta expressão queremos dizer que ser NUM for diferente de nulo, o resultado será verdadeiro;

-> segundo argumento (p/ resultado verdadeiro) - Value. Aciona o botão "..." e montamos a expressão ', ' + IBQuery1.NUM. Esta expressão é a concatenação da vírgula, que virá após o nome da rua, com o número do imóvel;

-> terceiro argumento (p/ resultado falso) - Value. Aciona o botão "..." e colocamos apenas '', de modo que ser não há número, não concatenamos nada.

É por aí e funciona muito bem, depois que você se entende com este tipo de expressão mais compléxa.

Abraços

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...