[delphi-br] ClientDataSet - Delete em registro com referência d e FK
Boa tarde pessoal. Usando DBX e Firebird, quero que ao tentar deletar um registro, caso retornado um erro por relacionamento de chave estrangeira, alterar o valor do campo VISIVEL para 'F', sem incrementar o retorno do ApplyUpdates. Tentei verificar a mensagem da exceção do OnReconcileError e repassar mas não deu. Algém pode sugerir uma solução? [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Erro com Memory Leak e A.V.
Se a propriedade KeyFieldNames do lookupcombobox for o código do cliente, no duplo clique do grid jogue o código do cliente na propriedade EditValue do lookupcombobox. Em 12 de maio de 2010 11:37, Murilo Cunha mcscu...@yahoo.com.br escreveu: Daniel, Usando TcxLookupComboBox, como faco para que o combo exiba uma determinada linha na lista?? Tenho no LookupComboBox esta estrutura, por exemplo: Codigo Nome -- 001 Murilo 002 Denis 003 Alessandra 004 Marcio Em um grid no form tenho uma lista com produtos comprados por estes clientes, quando clico duas vezes rapido no grid quero que o LookupComboBox exiba os dados do cliente selecionado. Exemplo: Grid ID Cliente Produto 1 001 Secador 2 001 Xampu 3 002 Escova 4 003 Pente 5 003 Creme de pentear Se clicar duas vezes rapido no registro 3 o lookupComboBox deve exibir DENIS. Como fazer isso? Obrigado MuriloCunha On 03/05/2010 16:47, Daniel Hiromy wrote: Não seria mais fácil usar o TcxLookupComboBox? Se você quiser exibir mais de um campo do seu dataset, basta colocar o nome dos fields na propriedade ListFieldNames separados por ';'. Em 30 de abril de 2010 11:07, Murilo Cunhamcscu...@yahoo.com.brmcscunha%40yahoo.com.br escreveu: Pessoal, Estou com um pequeno problema: Tenho um TcxComboBox que recebe alguns valores (nomes dos usuarios de meu banco). Junto com estes nomes estao as senhas que os usuarios cadastraram, como se fosse o ultimo login. Para carregar o TcxComboBox uso esta estrutura: cbxUsuario.Properties.Items.AddObject(strUsuario, TObject(LongInt(NewStr(strSenha; onde: strUsuario = string com o nome do usuario strSenha = string com a senha Ateh aqui funciona perfeito. Quando vou fechar o form e destruir os objetos criados anteriormente dah erro de Access Violation Se nao destruo, dah erro de Memory Leak. Destruo desta forma: var idx : integer; begin for idx := 0 to Pred(cbxUsuario.Properties.Items.Count) do cbxUsuario.Properties.Items.Objects[idx].Free; //-- Erro de A. V. Alguem tem alguma ideia de como fazer para destruir estes objetos? Obrigado MuriloCunha [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas] -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM * Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages * Para falar com o moderador, envie um e-mail para: delphi-br-ow...@yahoogrupos.com.br Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ * Para sair deste grupo, envie um e-mail para: delphi-br-unsubscr...@yahoogrupos.com.br * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
Re: [delphi-br] Tubo Delphi ainda existe?
O Turbo Delphi não está mais disponível. Se não quiser gastar no princípio, pode usar o Lazarus que é Free Pascal até vc se ambientar com Object Pascal e poder adquirir a licença. Abraço [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Erro com Memory Leak e A.V.
Não seria mais fácil usar o TcxLookupComboBox? Se você quiser exibir mais de um campo do seu dataset, basta colocar o nome dos fields na propriedade ListFieldNames separados por ';'. Em 30 de abril de 2010 11:07, Murilo Cunha mcscu...@yahoo.com.br escreveu: Pessoal, Estou com um pequeno problema: Tenho um TcxComboBox que recebe alguns valores (nomes dos usuarios de meu banco). Junto com estes nomes estao as senhas que os usuarios cadastraram, como se fosse o ultimo login. Para carregar o TcxComboBox uso esta estrutura: cbxUsuario.Properties.Items.AddObject(strUsuario, TObject(LongInt(NewStr(strSenha; onde: strUsuario = string com o nome do usuario strSenha = string com a senha Ateh aqui funciona perfeito. Quando vou fechar o form e destruir os objetos criados anteriormente dah erro de Access Violation Se nao destruo, dah erro de Memory Leak. Destruo desta forma: var idx : integer; begin for idx := 0 to Pred(cbxUsuario.Properties.Items.Count) do cbxUsuario.Properties.Items.Objects[idx].Free; // -- Erro de A. V. Alguem tem alguma ideia de como fazer para destruir estes objetos? Obrigado MuriloCunha [As partes desta mensagem que não continham texto foram removidas] -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM * Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages * Para falar com o moderador, envie um e-mail para: delphi-br-ow...@yahoogrupos.com.br Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ * Para sair deste grupo, envie um e-mail para: delphi-br-unsubscr...@yahoogrupos.com.br * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
Re: [delphi-br] Envio E-Mail
Ah! Se eu não me engano eu estive usando a porta 587 para SMTP. 2010/4/15 Daniel Hiromy hirom...@gmail.com Olá Eduardo! Para enviar email via GMail eu faço o seguinte: IdSSLIOHandlerSocketOpenSSL := TIdSSLIOHandlerSocketOpenSSL.Create; IdSSLIOHandlerSocketOpenSSL.SSLOptions.Method := sslvSSLv2; IdSSLIOHandlerSocketOpenSSL.SSLOptions.Mode := sslmUnassigned; IdSMTP.IOHandler := IdSSLIOHandlerSocketOpenSSL; IdSMTP.UseTLS := utUseRequireTLS; Abraços. [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Envio E-Mail
Olá Eduardo! Para enviar email via GMail eu faço o seguinte: IdSSLIOHandlerSocketOpenSSL := TIdSSLIOHandlerSocketOpenSSL.Create; IdSSLIOHandlerSocketOpenSSL.SSLOptions.Method := sslvSSLv2; IdSSLIOHandlerSocketOpenSSL.SSLOptions.Mode := sslmUnassigned; IdSMTP.IOHandler := IdSSLIOHandlerSocketOpenSSL; IdSMTP.UseTLS := utUseRequireTLS; Abraços. [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Componente cxDBLookupComboBox
-TcxDBLookupComboBox -Properties - TcxLookupComboBoxProperties -ListOptions - TcxLookupDBGridOptions property SyncMode: Boolean; Help do ExpressEditors 6: Enables synchronization between a data-aware dropdown list and its bound TDataSet. Description Set this property to True to synchronize the current record in a dropdown list with the current record in the TDataSet bound to this list. Whenever record focus changes in the list, the current TDataSet record automatically changes to point to the same data, and vice versa. The default value of the SyncMode property is False. [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Componente cxDBLookupComboBox
Marlon, tente o seguinte: cxDBLookupComboBox.Properties.ListOptions.SyncMode := True; [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Completar o campo edit
Olá. Bem... não sei se entendi, mas se vc tiver edtProg1, edtProg2, edtProg3, edtProg6 num form, então tente assim: for i := 1 to 6 do begin TEdit(SeuFormulario.FindComponent('edtProg' + IntToStr(i))).Text := qryLogNumero.AsString; i := i + 1; end Em 12 de março de 2010 08:46, rzzanatta rzzana...@yahoo.com.br escreveu: Olá galera, estou tentando fazer uma coisa, mas nao sei se é possivel, é o seginte... eu tenho varios edits com o nome edtProg1, só que eu quero colocar um for i:= 1 to 6 do begin e que nesse campo edit cada vez que pass por ele esse numero do nome adicione + 1..ex: for i:= 1 to 6 do begin edit[i].text := qryLogNumero.asstring; i:= i + 1; end; isso nao dá certo, tem alguma outra maneira q faça com que esse numero do edit mude? [As partes desta mensagem que não continham texto foram removidas] -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM * Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages * Para falar com o moderador, envie um e-mail para: delphi-br-ow...@yahoogrupos.com.br Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ * Para sair deste grupo, envie um e-mail para: delphi-br-unsubscr...@yahoogrupos.com.br * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
Re: [delphi-br] Dúvida sobre herança
Obrigado Dirlei. Vou pesquisar à respeito do Strategy Em 10 de fevereiro de 2010 09:14, Dirlei dir...@gmail.com escreveu: Daniel, Isso pode ser um sinal de que o design desse trecho do seu projeto OO precisa ser alterado. Talvez a implementação do método que está na classe avô deva ser transferida para outra classe. Se te interessar, dê uma olhada no Padrão de projeto Strategy. Acredito que seja aplicável no seu caso. [ ]'s Dirlei. Daniel Hiromy escreveu: Bom dia pessoal. Como faço para extender um método e chamar só o método da classe avô? [As partes desta mensagem que não continham texto foram removidas] -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM * Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages * Para falar com o moderador, envie um e-mail para: delphi-br-ow...@yahoogrupos.com.br Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ * Para sair deste grupo, envie um e-mail para: delphi-br-unsubscr...@yahoogrupos.com.br * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
Re: [delphi-br] Dúvida sobre herança
Bom dia pessoal. Desculpem minha pergunta que não foi clara. Eu tenho uma classe A com um método X. Tenho uma segunda classe B que herda de A e estende o método X. Depois crio uma classe C que herda de B, mas que estende apenas o método X de A, desconsiderando a implementação de B. Queria saber se isso é possível. [As partes desta mensagem que não continham texto foram removidas]
[delphi-br] Dúvida sobre herança
Bom dia pessoal. Como faço para extender um método e chamar só o método da classe avô? [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Re: socorro INDY10 autenticacao
Será que algum ponto do seu código a senha não está sendo sobreposta com a senha dos testes? Tenta dar um ShowMessage no TIdSMTP.Password antes de charmar o TIdSMTP.Connect. 2009/9/24 Marcio Luis mar...@sulfabril.com.br Mais uma coisa estranha acontece resolvi alterar minha senha de email no servidor .. puft !!! agora nao consigo mais enviar nem com esse email !! alterei para a semha antiga , funciona !!! Tem alguma explicacao cientifica para isso que coisa louca !! att. Marcio [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] al tenho uma duvida com o cxgrid!CxGrid
TcxGridDBTableView.DataController.FocusedRecordIndex (índice no DataSet) TcxGridDBTableView.DataController.FocusedRowIndex (índice no grid) No TcxGridDBTableView altere o OptionsSelection.MultiSelect pra True para poder selecionar todos os registros. 2009/8/26 dionatanhenrique dionata...@hotmail.com Pesssoal tenho algumas duvidas com o cxgrid. Eu observei que posso colocar um campo do tipo chekbox(properties). No entanto nao sei como selecionar os registros. Preciso ter um campo na tabela? Como faco para pegar os ids dos registros selecionados? alguem tem um exemplo que posso me dar? como faco para selecionar todos os registros? como exemplo? valeu! [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Ajuda com SQL
Ops! Fiz confusão e achei q estava respondendo pra lista de Firebird. Qual BD vc está usando? 2009/8/21 Daniel Hiromy hirom...@gmail.com Faça uma trigger. set term ^ ; create or alter trigger AU_CADPRODUTOS for CADPRODUTOS active after update position 0 as begin update ITENSORC set descprod = new.descricao, fornprod = new.fornecedor where codprod = new.codprod; end ^ set term ; ^ 2009/8/21 joao_jma joao_...@itelefonica.com.br Tenho 2 tabelas CADPRODUTOS codprod descricao fornecedor ITENSORC (Gravo a descrição e o fornecedor do produto nessa tabela tb) codprod descprod forprod PRECISO DE UM SQL, PRA FAZER DE FORMA RAPIDA A ATUALIZAÇÃO DOS DADOS NA TABELA ITENSORC Eu preciso atualizar as descrições e fornecedor da tabela itensorc, pois quando existe alteração nesses dados na tabela cadprodutos, a tabela itensorc fica desatualizada. []'s João [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Ajuda com SQL
Faça uma trigger. set term ^ ; create or alter trigger AU_CADPRODUTOS for CADPRODUTOS active after update position 0 as begin update ITENSORC set descprod = new.descricao, fornprod = new.fornecedor where codprod = new.codprod; end ^ set term ; ^ 2009/8/21 joao_jma joao_...@itelefonica.com.br Tenho 2 tabelas CADPRODUTOS codprod descricao fornecedor ITENSORC (Gravo a descrição e o fornecedor do produto nessa tabela tb) codprod descprod forprod PRECISO DE UM SQL, PRA FAZER DE FORMA RAPIDA A ATUALIZAÇÃO DOS DADOS NA TABELA ITENSORC Eu preciso atualizar as descrições e fornecedor da tabela itensorc, pois quando existe alteração nesses dados na tabela cadprodutos, a tabela itensorc fica desatualizada. []'s João [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Método de classe e interfaces
Já li algumas coisas sobre OPF e até baixei o tiOPF mas nem instalei. Eu queria trabalhar um pouco com DAO antes de usar um framework pra sentir como fazer as coisas na unha mas dá muito trabalho mesmo. Mais uma vez brigado pelas dicas e ajuda de vcs. Daniel Hiromy [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Método de classe e interfaces
Boa noite Silvio. Estou estudando o modelo DAO. Imaginei uma função que por um registro de um TDataSet me retornasse o objeto. Ex: IDaoUnidade = interface function GetUnidadeFromDataSet(DataSet: TDataSet): TUnidade; end; TUnidadeDaoDbx = class(TDaoDbx, IDaoUnidade) public class function GetUnidadeFromDataSet(DataSet: TDataSet): TUnidade; end; a interface não aceita a declaração CLASS e a classe difere da interface. ___ Daniel Hiromy [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Método de classe e interfaces
Obrigado pela resposta João. Eu estou estudando MVC com DAO. A idéia da interface era pra fazer mais de um mecanismo de acesso. Silvio, o que eu queria fazer era algo por exemplo um TEndereco que tem um campo Cidade do tipo TCidade que por sua vez tem um campo UF que é TUF. Quando eu criar o objeto TEndereco, eu conseguiria mapear os campos de cidade e uf sem ter q instanciar o DAO de ambas e fazer uso disso também no Controller. Por isso coloquei na Interface. Enfim, obrigado pelas respostas. Vou tentar de outra forma. Abraços! [As partes desta mensagem que não continham texto foram removidas]
[delphi-br] Método de classe e interfaces
Olá pessoal. Estou começando com POO. Criei uma interface e uma classe que a implementa, porém queria que um dos métodos fosse método de classe. Gostaria de ajuda pra implementar isso. Grato. [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Alguém já usou o Ribbon da DevExpr ess?
Não sei se entendi o que você quer fazer. Não é fazer seu form herdar do TRibbonForm? Declara na uses da sua unit o dxRibbonForm e troca o Form1 = class(TForm) para Form1 = class(TdxRibbonForm) e muda a propriedade SupportNoClientDrawing do TdxRibbon para True. É isso? 2009/5/27 Fellipe Henrique felli...@gmail.com Alguém já usou o Ribbon da DevExpress? Não estou conseguindo remover a Borda do form, pra ficar todo Ribbon... o Ribbon, fica só dentro do form, mas mesmo assim, ainda continua com o caption e tals... alguém sabe como arumar isso? Att. Fellipe H. -- _ T.·.F.·.A.·. Fellipe Henrique Blog: www.digitumsoft.com.br/blogs/fellipeh -- CAMPANHA POR UMA INTERNET SEGURA Proteja o endereço de seus amigos como estou protegendo o seu. Ao enviar mensagens use SEMPRE o Cco (cópia oculta). Assim TODOS os endereços estarão preservados. E, claro, antes de encaminhar um e-mail, delete todas as informações que apareçam no corpo do e-mail e que possam ser usadas por hackers. ### [As partes desta mensagem que não continham texto foram removidas]
[delphi-br] Indy e Thread
Olá pessoal. Uso Delphi 2009 e Indy Tiburon. Criei uma classe derivada dos componentes Indy para criar email. Criei também um método Enviar que se conecta com o servidor smtp e envia o email. Consigo criar um email e enviar sem problemas, mas há um módulo do meu sistema que cria uma pilha de emails e numa thread eu envio um a um. Na hora que eu chamo o TEmail.Enivar a coisa complica. Debugando eu vejo que durante a preparação do email, a execução volta ao início tentando enviar outro, gerando hora erro de conexão multipla no servidor SMTP, outras de AV e até Invalid Pointer. Fiz mais ou menos assim: Pilha := TObjectStack.Create; loop Email := TEmail.Create; . ...insere os dados... . Pilha.Push(Email); Na Thread Fica assim: while Pilha.Count 0 do begin Email := TEmail(Pilha.Pop); Email.Enviar; Email.Free; end; Pilha.Free; Só tenho problemas com pilha. Se for apenas 1 objeto tudo funciona bem. Alguém pode me dar uma luz? Desde já agradeço! Abraços. [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Indy e Thread
Olá José. Foi vacilo feio meu. No erro Invalid Pointer eu estava fazendo TStrings1 := TStrings2 e depois de chamar a thread, chamei ela de novo em outra procedure, gerando mais erros. Obrigado pela atenção. Abraço! 2009/5/29 José Mário Silva Guedes jmariogue...@gmail.com Será que está ocorrendo um exception silencioso? [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Nested Dataset lento
Obrigado pelas respostas pessoal. Alterando a opção do Provider Fetch Details on Demand para True resolveu meu problema em um projeto paralelo. E a dificuldade real que eu estava enfrentando era com o ExpressEditors Library da DevExpress. Abraços. 2009/5/22 Ricardo Lima rlma...@gmail.com Não precisa disso basta usar o master source e master source. berdam escreveu: faça o seguinte, utilize a propriedade filter do cds filho, primeramente carregue todos os pais e filhos, depois conforme for navegando no cds pai, altere a propriedade filter do cds filho passando assim filter := 'cd_pai = codigo_pai', e altere filtered para true. Pode ser q demore no início , mas posteriormente fica muito rápido Ricardo Lima escreveu: A Cadas registro na tabela master ele vai no banco e faz um select para trazer os registros filhos, por isso é lento. Te aconselho a usar um master source e master fields. At. Ricardo Lima Daniel Hiromy escreveu: Boa Tarde pessoal. Tenho um dataset de produto e um de detalhe aninhado (1:1). Hoje ao inserir aproximadamente 1000 registros nessas tabelas, a abertura do ClientDataSet ficou muito lento. Alguém pode me dar uma dica de como resolver isso? Estou usando Delphi 2009 com Firebird/DBX com driver TBODBXFB. Desde já agradeço. [As partes desta mensagem que não continham texto foram removidas] -- - Uberdam Cavaletti Formado em Tecnologia da informação - Unoesc - Xxe Pós graduado em Desenvolvimento Java - Unoesc - Xxe Acesse http://www.curricular.com.br/berdam http://www.curricular.com.br/berdam Acesse http://passandoveneno.blogspot.com http://passandoveneno.blogspot.com - [As partes desta mensagem que não continham texto foram removidas]
[delphi-br] Nested Dataset lento
Boa Tarde pessoal. Tenho um dataset de produto e um de detalhe aninhado (1:1). Hoje ao inserir aproximadamente 1000 registros nessas tabelas, a abertura do ClientDataSet ficou muito lento. Alguém pode me dar uma dica de como resolver isso? Estou usando Delphi 2009 com Firebird/DBX com driver TBODBXFB. Desde já agradeço. [As partes desta mensagem que não continham texto foram removidas]