-
Total de itens
9.657 -
Registro em
Tudo que Jhonas postou
-
Eu não tenho o Fortes Report instalado , mas veja na imagem: Só para exemplificar ... veja o campo LAST_NAME que está na banda de detalhe ... verifique se tem algum evento que voce possa usar para colocar o codigo nele e então atribuir o novo valor antes da impressão deste campo abraço
-
arvore genealógica num sistema de gado
pergunta respondeu ao flavioavilela de Jhonas em Delphi, Kylix
Este material vai te ajudar a ter uma noção sobre o assunto: http://200.169.53.89/download/CD%20congres...s%20infecto.pdf http://forum.imasters.uol.com.br/index.php...ost__p__1115290 http://www.activedelphi.com.br/print.php?sid=364 http://www.accelerated-ideas.com/programas...a.aspx?sID=9712 http://cabeloh.blogspot.com/2007/09/tabela...genealgica.html http://www.baixaki.com.br/download/family-tree-builder.htm abraço -
Imagine que voce tem que efetuar um calculo a medida que os registros forem sendo colocados no report Para que o valor do calculo de cada registro seja impresso, deverá haver na banda de detail um campo que servirá de controle para esse calculo ... exemplo: um label que recebera o valor do calculo de 2 campos do registro Então no evento OnPrint desse campo voce coloca o código que efetuara o calculo e o resultado sera atribuido ao label que então será impresso abraço
-
The procedure entry point @Psvbasiclbl@initialization$qqrv could not be located in the dynamic link library psvLabelsR7.bpl O ponto de entrada de procedimento @Psvbasiclbl@initialization$qqrv não pôde ser localizado na biblioteca de ligação dinâmica psvLabelsR7.bpl Pode ser arquivo corrompido ... tente baixar novamente o arquivo http://www.vclcomponents.com/Delphi/Labels...brary-info.html abraço
-
"incompatibilidade de hardware" seria possivel e voce quisesse colcar uma placa de video PCI em um Notebook Falhas na conexão podem ser por bloqueio de anti_virus ou firewall, exceções não permitidas, ou definição incorreta de portas de comunicação. abraço
-
é uma boa configuração ... Não esqueça de pedir os Cds de instalação dos drives da placa mãe abraço
-
Suportar até suporta, mas se estiver pensando usa-lo para jogos terá problemas com a placa de video ( Mirage 3+ Graphics ). A configuração atual do seu micro é para ser usado com o windows XP, mas se trocar para o Windows 7 , tera que fazer atualização do ActiveX para esse sistema http://catalog.update.microsoft.com/v7/sit...age=Search.aspx abraço
-
Error! Duplicate data connections found with name "rvdsFor". Aborting report. Erro: Encontrado conexões de dados duplicadas de nome rvdsFor. Abortando relatório. esta mensagem ocorre porque deve haver dois RVProject em dois forms diferentes ou não e os dois devem estar com o caminho do mesmo arquivo rvdsFor.rav. A solução é tirar de um deles. abraço
-
Me esqueci de um detalhe ... para fazer a pesquisa usando o FindNearest voce precisa indexar a tabela pelo campo que voce quer procurar procedure TForm1.FormActivate(Sender: TObject); begin Table1.Active := false; Table1.IndexDefs.Clear; Table1.IndexName := 'CODPROX'; // indexar pelo campo Codigo do produto Table1.IndexDefs.Update; Table1.Active := true; end; procedure TForm1.Button1Click(Sender: TObject); begin Table1.FindNearest([trim(Edit1.Text)]); // pesquisar pelo código do produto end; OBS: CODPROX é o nome do indice dado ao campo COD_PROD ( Código do Produto ) da tabela abraço
-
Faça uma pesquisa no forum http://scriptbrasil.com.br/forum/index.php...te=RAVE+REPORTS Apostilas sobre Rave http://scriptbrasil.com.br/forum/index.php...st&p=571519 http://scriptbrasil.com.br/forum/index.php...st&p=564804 abraço
-
Neste caso ficaria assim: SELECT DATA, COO, SUM(VRLIQUIDO) AS TOTAL FROM SIN60I WHERE DATA = :DATA AND ALIQCST <> 'C' AND ITEM = 3 GROUP BY DATA, COO abraço
-
Se o seu DBEdit1.Text está linkado a um campo da sua tabela, o que este comando está fazendo é atribuir valor do primeiro campo da sua tabela ao seu DBEdit que já possui um valor ... neste caso voce não pode fazer esse tipo de ação. Ao processar a pesquisa, o DBEdit estando ligado a um campo da sua tabela, o valor correspondente a esse campo será mostrado, e se quiser navegar entre os registros, use o DBNavigator e os registros serão mostrados no DBEdit enquanto navega. abraço
-
Amigo, não achei que voce ia testar o código ao pé da letra, ou seja, sem fazer as modificações necessarias Te passei a base do que seria necessario para que voce pudesse modificar o código para atuar num teclado virtual Veja o exemplo: No form com apenas um botão simulando a tecla Backspace e um Edit, ficaria dessa forma: procedure TForm1.Button1Click(Sender: TObject); var KeyState: TKeyboardState; Aux : Integer; Posicao : Integer; begin GetKeyboardState(KeyState); // testar o estado do teclado Edit1.SetFocus; Posicao := length(Edit1.Text); Edit1.SelStart := Posicao; if(KeyState[VK_BACK ] = 0) then begin Keybd_Event(VK_BACK , 1, KEYEVENTF_EXTENDEDKEY or 0, 0); Edit1.SelStart := Posicao-1; Edit1.SelLength := length(Edit1.Text); end else begin Keybd_Event(VK_BACK , 0, KEYEVENTF_EXTENDEDKEY or 0, 0); end; end; Da mesma forma que a tecla Backspace funciona, ao clicar no botão que simula a tecla Backspace, os caracteres serão apagados um a um. abraço
-
Acúmulo de Memória utilizando o componente IBX
pergunta respondeu ao Satoshi Murakami de Jhonas em Delphi, Kylix
Veja este exempo: function TSQLDB.GetSingleData(strSQL :string):Variant; var objQuery :TADOQuery; begin objQuery := TADOQuery.Create(nil); try try objQuery.Connection := objCon; objQuery.Close; objQuery.SQL.Clear; objQuery.SQL.Text := strSQL; objQuery.Open; if not objQuery.IsEmpty then begin if objQuery.Fields.Fields0.IsNull then Result := 0 else Result := objQuery.Fields.Fields0.AsVariant; end else Result := 0; except raise; end; finally objQuery.Free; // Libera memoria end; abraço -
Outras possibilidades que voce pode tentar: http://software.informer.com/getfree-grid-treeview-delphi/ http://www.componentsource.com/features/tr...lphi/index.html http://www.hallogram.com/rapidtree/index.html http://www.soft-gems.net/index.php?option=...2&Itemid=38 abraço
-
Veja este post http://scriptbrasil.com.br/forum/index.php...st&p=437616 abraço
-
Pode ser bug de componente .... desinstale o componente e coloque-o novamente e faça o teste OBS: Fiz um teste aqui usando o seu código e o componente Query e esta funcionando. abraço
-
Saber o nome do componente com o foco
pergunta respondeu ao João Paulo Taraciuk de Jhonas em Delphi, Kylix
Ter como fazer tem, mas eu não colocaria isso em um sistema comercial. Se quiser fazer isso como aprendizado acho válido, mas não use esse tipo de coisa em um sistema, ou se for preciso usar, faça-o somente se necessario, pois em um sistema bem estruturado não haverá a necessidade disso. abraço -
Tente dessa maneira procedure TRelFornecedoresForm.bbtnOkClick(Sender: TObject); begin with qryRelFornecedor do begin Close; SQL.Clear; SQL.Append('SELECT * FROM FORNECEDOR'); Open; end; if qryRelFornecedor.recordcount = 0 then ShowMessage('Vaziuuuuu') else rvPrjFornecedor.ExecuteReport('rptFornecedor'); end; abraço
-
( argumento inteiro requerido ) Esse argumento é pedido na conversão da variavel para impressão exemplo: print "%d" % int(a) Veja se não é isto n = " VALUES (%d, %d, '%s', %d, %d, %d)" % int(registro) abraço
-
Saber o nome do componente com o foco
pergunta respondeu ao João Paulo Taraciuk de Jhonas em Delphi, Kylix
Esse material vai lhe ajudar http://www.activedelphi.com.br/forum/viewt...3951cde24e51d3c http://www.activedelphi.com.br/print.php?sid=574 http://www.fundao.wiki.br/articles.asp?cod=56 abraço -
Se ALIQCST <> 'C' então os registros que não tenham a letra 'C' no campo serão incluidos na pesquisa SELECT DATA, COO, SUM(VRLIQUIDO) AS TOTAL FROM SIN60I WHERE DATA = :DATA AND ALIQCST <> 'C' GROUP BY DATA, COO abraço
-
quando eu passo minha Query em tempo de execução e chamo o relatório no rave, aparece a seguinte mensagem de: QUERY IS EMPTY e com isso não abre o relatório Se a query estiver vazia ou seja sem regitros o relatório não será aberto e se abrir não terá registro algum Veja a mudança no código procedure TRelFornecedoresForm.bbtnOkClick(Sender: TObject); begin with qryRelFornecedor do begin Close; SQL.Clear; SQL.Add('SELECT FORCODIGO, FORRAZAOSOC, '+ 'FORNOMEFANT, FORENDEREC, FORBAIRRO, '+ 'FORCIDADE, FORUF, FORCEP, FOR_CPF_CNPJ, '+ 'FORDOCUMENTO, FORINSC, FORTIPO, FORFONE, '+ 'FORFAX, FORCELULAR, FOREMAIL, FORCONTATO1, '+ 'FORDEPTO1, FORCONTFONE1, FORCONTATO2, '+ 'FORDEPTO2, FORCONTFONE2, FOROBSERVACAO, '+ 'FORDATACADASTRO FROM FORNECEDOR'); Open; end; if qryRelFornecedor.IsEmpty then ShowMessage('Vaziuuuuu') else rvPrjFornecedor.ExecuteReport('rptFornecedor'); end; abraço
-
Veja se é isto var Form1: TForm1; const Process : string = ''; implementation {$R *.DFM} procedure TForm1.Button1Click(Sender: TObject); begin Process := Edit1.Text; showmessage(Process); end; abraço
-
TCadProd1 é o nome do componente TTable Voce deve abrir a tabela e depois executar o comando de Busca exemplo: procedure TForm1.FormActivate(Sender: TObject); begin Table1.Active := false; Table1.Active := true; end; procedure TForm1.Button1Click(Sender: TObject); begin Table1.FindNearest([trim(Edit1.Text)]); end; Já que voce é iniciante no delphi, veja nestes tópicos, encontrará links para apostilas em delphi http://scriptbrasil.com.br/forum/index.php...postilas+delphi abraço