Quickreport
Olá amigos, preciso da ajuda de vcs para desenvolver um relatorio usando qr.
É o seguinte estou desnvolvendo um sistema para um colegio e não estou conseguindo fazer o relatorio de tranferencia de aluno que fica +ou - assim:
Colegio fulano de Tal
-----------------------------------------------------------------------------------------------------------------------------------------------
Nome do aluno
endereço do aluno
Serie e etc e tal
-----------------------------------------------------------------------------------------------------------------------------------------------
Materias
_________________________________________________________________________________________
P | M
o | a
r | t
t | e
u | m
g | a
u | t
e | i
s | c
7,5 | 8,0
_________________________________________________________________________________________
Assim por diante até completar a quantidade de registro da tabela Cursos que são no maximo 20.
Assinatura Diretor(a) Assinatura Secretário(a)
_________________________________________________________________________________________
Desde já muito obrigado.
Ficarei aguardando resposta
Junior
Curtidas 0
Respostas
Leonardo Xavier
14/10/2010
e qual seria sua duvida exatamente pois você ja montou o relatório ai na tela, para montar ele no Delphi não é diferente você apena precisará criar o Quickreport, você ja criou o quickreport?
GOSTEI 0
Junior
14/10/2010
Desculpe se não fui tão claro, a minha dúvida é exatamente como colocar as materias uma ao lado da outra, em colunas, pq ela só ficam uma abaixo da outra. Por exemplo:
Como elas ficam na banda Subdatail :
Matematica 7,5
Portugues 8,0
Como eu quero que fiquem na banda SubDatail:
M P
a o
t r
m t
a u
t g
i u
c e
a s
7,5 8,0
Tem como fazer desta forma??
Obrigado pela Atenção.
GOSTEI 0
Leonardo Xavier
14/10/2010
Tente fazer assim, declare na seção private a função: "Function LabelVertifical(valor: String): String;" Segue a baixo.
function seuformulario.LabelVertifical(valor: String): String;
var i, c : Integer;
co : String;
begin
c := length(valor);
co := '';
for i:=0 to c do
if valor[i] <> '' then
co := co +valor[i]+#13;
Result := copy(co,1,length(co));
i := 0;
c := 0;
co := '';
end;
// Para chamar a função
Seuqrlabel.caption := LabelVertifical(' Devmedia Fórum ');//Aqui você ira colocar o texto do seu QrLabel
GOSTEI 0
Eriley Barbosa
14/10/2010
No site do QuickRep (www.qusoft.com) existe um componente free e com fontes que faz a rotação.
GOSTEI 0
Junior
14/10/2010
Obrigado pela atenção, Caro Eriley, mais o que eu quero é colocar o texto um ao lado do outro, pq na vertical eu ja consegui coloca-lo justamente com aquele componente que vc citou.
Vou dar um exemplo de como está o meu relatório.
P
o
r
t
u
g
u
e
s
M
a
t
e
m
a
t
i
c
a
E eu queria que ficasse assim, um ao lado do outro como se fosse uma quebra de coluna:
P M
o a
r t
t e
u m
g a
u t
e i
s c
Desculpas pela incompreensão.
GOSTEI 0
Junior
14/10/2010
Tente fazer assim, declare na seção private a função: "Function LabelVertifical(valor: String): String;" Segue a baixo.
function seuformulario.LabelVertifical(valor: String): String;
var i, c : Integer;
co : String;
begin
c := length(valor);
co := '';
for i:=0 to c do
if valor[i] <> '' then
co := co +valor[i]+#13;
Result := copy(co,1,length(co));
i := 0;
c := 0;
co := '';
end;
// Para chamar a função
Seuqrlabel.caption := LabelVertifical(' Devmedia Fórum ');//Aqui você ira colocar o texto do seu QrLabel
GOSTEI 0
Junior
14/10/2010
Obrigado pela atenção, mais o que eu quero é colocar o texto um ao lado do outro, pq na vertical eu ja consegui coloca-lo
O meu relatório está assim:
P
o
r
t
u
g
u
e
s
M
a
t
e
m
a
t
i
c
a
E eu queria que ficasse assim, um ao lado do outro como se fosse uma quebra de coluna:
P M
o a
r t
t e
u m
g a
u t
e i
s c
Desculpa pelo meu amadorismo.
Desde já Obrigado.
GOSTEI 0
Leonardo Xavier
14/10/2010
Você tera entao que ter um Qrlabel para cada matéria, e no comando paa o seu preview, coloique o seguinte:
meuquickreport.meulabel.caption:=meu texto vertical;//faça isso para cada matéria.
GOSTEI 0
Eriley Barbosa
14/10/2010
Você vai ter de colocar uma stringband ou childband, não coloque uma detail.
Ai dentro de uma banda destas você coloca 1 qrlabel para cada matéria, dai no before print da banda você faz um while ou for e preenche cada qrlabel com o nome da matéria correspondente.
GOSTEI 0
Leonardo Xavier
14/10/2010
to fazendo um codigo fonte de exemplo aqui para vc espere so mais um poquinho. Abraços
GOSTEI 0
Leonardo Xavier
14/10/2010
Está pronto espero ter ajudado. Abraços
http://www.4shared.com/file/2OldSepf/Quickreport.html
GOSTEI 0
Junior
14/10/2010
Muitissimo obrigado, vc me ajudou bastante, vc é fera.
GOSTEI 0