
xandesantos
Membros-
Total de itens
16 -
Registro em
-
Última visita
Tudo que xandesantos postou
-
(Resolvido) Gerar PDF através de documento do Word
pergunta respondeu ao xandesantos de xandesantos em Delphi, Kylix
Jhonas, Como o relatório feito no Word era relativamente simples e havia uma certa urgência em disponibilizar esta funcionalidade para o usuário, resolvi dar uma olhada no Fortes Report, que tem a possibilidade de gerar o relatório em PDF. Acabou funcionando. Refiz o relatório todo no Fortes e no final, utilizei a opção de salvar como pdf e posteriormente abrir o arquivo. De qualquer forma, existem outros relatórios mais complexos no sistema que são feitos em word. Semana que vem vou testar sua sugestão e aí caso o usuário solicite que os relatórios em word sejam migrados para PDF, talvez em alguns casos a sua sugestão seja a mais adequada. Obrigado mais uma vez pela ajuda. -
(Resolvido) Gerar PDF através de documento do Word
pergunta respondeu ao xandesantos de xandesantos em Delphi, Kylix
Valeu Jhonas. Infelizmente aqui no trabalho a Internet é 90% bloqueada. Mas quando chegar em casa verificarei se suas sugestões resolvem meu problema. De qualquer forma, obrigado pela ajuda. -
Estou enfrentando o seguinte problema utilizando o Delphi 5 aqui no trabalho: na aplicação que utilizamos, há um relatório gerado no Word através de um OLE (usando a biblioteca ComObj). Este relatório é feito da seguinte forma: o Delphi gera um arquivo do Word em branco, cria uma tabela em branco no texto, vai buscando as informações no banco e preenchendo os dados da tabela no Word. O usuário deseja que este relatório gerado no Word seja gerado em PDF. Encontrei em outro fórum um componente, o PRINTPDF, que gera texto em PDF. O problema é que usando este componente teria que adaptar todo o código que foi feito para gerar o Doc do Word para gerar em PDF e os comando são totalmente diferentes. Não tenho a menor idéia, por exemplo, de como gerar uma tabela ou cabeçalhos usando o PRINTPDF. Então queria utilizar o relatório criado pelo Word e transformá-lo em PDF, sem utilizar uma impressora virtual. Alguém saberia como fazer isso no Delphi 5?
-
Tenho 3 tabelas: Pesquisador (cod_pesq, nme_pesq, endereco_pesq), Pesq_form(cod_pesq, cod_form, cod_form_pesq), Formacao(cod_form, nme_form, niv_form), sendo que pesq_form é a tabela de relacionamento entre pesquisador e formacao. Estou utilizando a seguinte query: Select pesquisador.cod_pesq, nme_pesq, endereco_pesq, nme_form, niv_form from pesquisador, formacao where pesquisador.cod_pesq = pesq_form.cod_pesq and pesq_form.cod_form = formacao.cod_form order by nme_pesq, niv_form Desta forma, os dados retornam mais ou menos assim: cod_pesq nme_pesq endereco_pesq nme_form niv_form 1696 Zezinho Rua 1, nº 8 Bacharelado 15 736 Luizinho Rua 3, nº 15 Bacharelado 15 6973 Donald Rua 8, nº 10 Mestrado 25 6973 Donald Rua 8, nº 10 Doutorado 30 6973 Donald Rua 8, nº 10 Pós-Doutorado 40 458 Pateta Rua 5, nº 3 2º grau 10 Ou seja, como Donald possui 3 formações cadastradas, o nome dele aparece 3 vezes na lista (uma para cada formação). Minha intenção, é que esta query retorne os dados solicitados de cada pesquisador, mas caso este pesquisador tenha mais de uma formação cadastrada (como é o caso de Donald), deverá retornar apenas a maior formação deste pesquisador. Portanto, a query deveria retornar os dados assim: cod_pesq nme_pesq endereco_pesq nme_form niv_form 1696 Zezinho Rua 1, nº 8 Bacharelado 15 736 Luizinho Rua 3, nº 15 Bacharelado 15 6973 Donald Rua 8, nº 10 Pós-Doutorado 40 458 Pateta Rua 5, nº 3 2º grau 10 Alguém teria alguma solução? Tenho que selecionar a maior formação de cada um dos pesquisadores, mas não estou conseguindo fazer isto. Agradeceria qualquer contribuição.
-
Estou tentando executar a seguinte SQL: Select Case 'N' When 'S' then Select cod_mod, nme_mod from modalidade where cod_mod in (4,25) order by 2 ASC When 'N' then Select cod_mod, nme_mod from modalidade where cod_mod in (5,24,30,67) order by 2 ASC end Quando executo, é acusado erro no 2ª Select (logo após o 'S'). Mas se eu substituir o 2º e o 3º Select por uma string (exemplo 'Sim' e 'Não') a query funciona pefeitamente. Existe alguma forma de fazer esta query funcionar? Ou o select Case só funciona com Strings? Grato pela atenção. Alexandre Araujo Salvador-BA
-
Estou tentando executar a seguinte SQL utilizando o Banco de Dados PostgreSql: Select Case 'N' When 'S' then Select cod_mod, nme_mod from modalidade where cod_mod in (4,25) order by 2 ASC When 'N' then Select cod_mod, nme_mod from modalidade where cod_mod in (5,24,30,67) order by 2 ASC end Quando executo, é acusado erro no 2ª Select (logo após o 'S'). Mas se eu substituir o 2º e o 3º Select por uma string (exemplo 'Sim' e 'Não') a query funciona pefeitamente. Existe alguma forma de fazer esta query funcionar? Ou o select Case só funciona com Strings? Grato pela atenção.
-
Formatação De Valores Negativos (Resolvido)
pergunta respondeu ao xandesantos de xandesantos em Delphi, Kylix
Como ninguém soube responder, consegui achar a solução: Na propriedade do campo valor, coloquei como Currency = False. Na propriedade Mask, dos dois QRDBTexts (QRDBMai, para valores positivos e QRDBMen, para valores negativos), coloquei a seguinte máscara: R$ #,##0.00. Com estas máscaras, o valor negativo ficou formatado para - R$ 2.000,00. -
No QuickReport, os valores negativos saem entre parênteses, tipo (R$2.500,00). Existe alguma forma de formatá-lo para que saia com o sinal de negativo na frente, sem os parênteses? Deveria ficar assim: - R$2.500,00. Abraços, Alexandre Araújo
-
Colunas No Quick Report (Resolvido)
pergunta respondeu ao xandesantos de xandesantos em Delphi, Kylix
Já que ninguém soube responder, aí vai a solução: Select Cod_mod, Nme_mod, case when Valor < 0 then Valor else NULL end as Negativo, case when Valor >= 0 then Valor else Null end as Positivo from Modalidade order by cod_mod Té + -
Carla, A data do computador, no Delphi, é obtida através do comando Now. Tente fazer algo do tipo qryNiver.SQL.Add('Select campos from tabela where campodata =')+datetostr(now);
-
Caros colegas, Tenho um formulário no Quick Report que tem as colunas Código, Nome e Saldo. Na coluna Saldo, existem valores positivos e negativos. Gostaria que estes valores fossem divididos por coluna, ou seja, uma coluna só com valores positivos e outra coluna só com valores negativos. É possível? Como proceder? Deve ficar mais ou menos assim: Cod_mod|nme_mod|devedor|credor 1----------|mod1-----|------------|2500 2----------|mod2-----|------------|3500 3----------|mod3-----|-2000 Tentei resolver também via SQL. Neste caso, tentei da sequinte forma: Select modalidade.cod_mod, modalidade.nme_mod, (modalidade.saldo where saldo < 0 as devedor), (modalidade.saldo where saldo > 0 as credor) from modalidade. Mas assim deu erro no comando SQL. Existe alguma forma de conseguir isto ou é impossível? Abraços, Alexandre Araújo Salvador-BA
-
Muito obrigado pela ajuda. Entretanto, vou continuar tentando resolver o problema utilizando os componentes da palheta dbExpress. Isto porque o sistema já está totalmente pronto e possui vários componentes SQLConnection e SQLClientDataSet e seria muito trabalhoso substituir todos os componente. Mesmo assim, valeu pela ajuda....
-
O Interbase está rodando nas máquinas com certeza (há um outro sistema em Delphi, com acesso ao Interbase rodando normalmente). Quanto ao BDE, ele está setando para o arquivo de banco correto. Fiz um teste agora há pouco, com dois programinhas bem simples, só com uma tela onde constam um DBGrid e um DBNavigator e tentei rodar ambos no computador cliente (sem o Delphi instalado). Em um programa, utilizei os mesmos componentes que citei anteriormente e ocorreu o mesmo erro. No outro programa, utilizei apenas componentes da palheta Interbase (IBDatabase, IBTransaction, IBTable) e um DataSource. Neste segundo exemplo, o sistema rodou normalmente.
-
Alguém poderia me informar quais são as Dlls que precisam estar na máquina cliente em um sistema que utiliza componentes da palheta dbExpress?
-
Roda normalmente. E nem preciso abrir o código fonte no Delphi. Basta o Delphi estar instalado que o programa funciona sem dar nenhuma mensagem de erro.
-
Pensei nesta possibilidade, mas a versão do BDE é a mesma em todas as máquinas. Não sei o que pode estar havendo. Será alguma dll instalada pelo Delphi?