[delphi-br] Re: DBGrid - Sempre 1 linha / ClientDataSet - Criar XML incluindo onGetText
Bom dia! Olá Diego! Graças a sua dica já consegui alguns avanços. Estou gerando através do cds_1.SaveToFile('arq_1.xml', dfXML) Agora, seguindo sua dica, criei um campo calulado, mas no sqldataset e não no clientdaset como vinha fazendo. Dessa forma, ao usar o SaveToFile, o campo calculado foi incluido, criptografado, como eu queria. O problema agora é fazer com que os campos não criptografados desapareçam, no caso, nome e telefone, mantendo apenas os criptografados cnome e ctelefone. Já fiz um monte de testes com hiddem, visible e required mas não obtive suscesso. Talvez, se for possivel fazer referência aos campos nome e telefone mesmo que não apareçam no fields editor, solucione o problema. Se você, ou alguém da lista puder ajudar com isso agradeço. até mais, Paulo --- Em delphi-br@yahoogrupos.com.br, Diego Garcia escreveu > > sobre o xml, use um campo calculado para armazenar o valor que vc manipula > com o onGetText... você esta gerando esse xml como? mandando salvar a partir > do clientdataset mesmo, ou esta escrevendo linha a linha ? > > *Diego Garcia* > Twitter: http://www.twitter.com/drgarcia1986 > Blog:http://getideia.blogspot.com > > > Em 27 de agosto de 2010 09:49, pcedisi escreveu: > > > > > > > Bom dia a todos do grupo! > > > > Estou precisando da ajuda pra resolver as questões abaixo. > > > > DBgrid: Sempre mostra 1 linha mesmo não havendo registros. Como > > evitar isso? > > > > ClientDataSet: Como salvar XML com o texto vindo do evento onGetText ou > > outra forma de fazê-lo? O objetivo é salvar os campos criptografados. > > > > Muito obrigado. > > > > até mais, > > > > Paulo > > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] >
[delphi-br] DBGrid - Sempre 1 linha / ClientDataSet - Criar XML incluindo onGetText
Bom dia a todos do grupo! Estou precisando da ajuda pra resolver as questões abaixo. DBgrid: Sempre mostra 1 linha mesmo não havendo registros. Como evitar isso? ClientDataSet: Como salvar XML com o texto vindo do evento onGetText ou outra forma de fazê-lo? O objetivo é salvar os campos criptografados. Muito obrigado. até mais, Paulo
[delphi-br] Herança - Herdando de 2 forms ancestrais e mudança de container(?)
Olá Pessoal! Será que alguém pode, por favor, ajudar ou indicar um tutorial mais completo sobre herança visual? Além da dúvida abaixo, surgiu uma outra. Criei dois formularios e os adicionei ao repositório para serem herdados. O primeiro, chamado base e um segundo baseCadastro que herda de base. Até aqui tudo bem. Quando crio um terceiro, herdando de baseCadastro são criados dois forms que herdam de baseCadastro ao invés de um. Posso excluir um e usar o que sobrar, mas será que isso é certo? Qual a forma correta de fazer isso e gerar apenas um ao herdar? É possível mudar um botão, que foi herdado no formulário, de um panel para outro, por exemplo? obrigado. Paulo
[delphi-br] Herança
Olá Pessoal! Criei dois formularios e os adicionei ao repositório para serem herdados. O primeiro, chamado base e um segundo baseCadastro que herda de base. Até aqui tudo bem. Quando crio um terceiro, herdando de baseCadastro são criados dois forms que herdam de baseCadastro ao invés de um. Posso excluir um e usar o que sobrar, mas será que isso é certo? Qual a forma correta de fazer isso e gerar apenas um ao herdar? Como sempre, agradeço a valiosa ajuda dos srs. abraços, Paulo
[delphi-br] Re: Truecrypt - montar/desmontar volume
Bom dia! Obrigado Dirlei! Encontrei alguma coisa no link que você passou e vou ver se consigo resolver com isso. abraço, Paulo --- Em delphi-br@yahoogrupos.com.br, Dirlei escreveu > > Talvez você encontre algo pesquisando por "truecrypt" no Google Code > Search (http://www.google.com/codesearch). Na "pesquisa de código > avançada" você pode indicar uma linguagem para restringir a pesquisa. > > Dirlei. > > pcedisi escreveu: > > > > > > Bom dia! > > > > Estou usando a função abaixo que executa o programa truecrypt.exe com > > os paramentros passados. Funcionou corretamente algumas vezes, mas > > depois passou a não montar mais o volume e a aparecer muitos erros, > > que nem dá pra ficar detalhando. Procurei na web por alguma solução > > usando truecrypt com delphi mas não achei. > > Será que alguém aqui na lista utiliza truecrypt e pode ajudar com isso? > > > > cmd: 'trueCrypt.exe /q /l T /v volume.tc /p 12345' > > > > function proc_truecrypt(cmd: string): Boolean; > > var > > SUInfo : TStartupInfo; > > ProcInfo : TProcessInformation; > > nomeFmt : Array[0..512] of Char; > > begin > > > > FillChar(SUInfo, SizeOf(SUInfo), #0); > > SUInfo.cb := SizeOf(SUInfo); > > SUInfo.dwFlags := STARTF_USESHOWWINDOW; > > SUInfo.wShowWindow := SW_HIDE; > > > > StrCopy(nomeFmt, PWideChar(cmd)); > > > > Result := CreateProcess( > > nil, nomeFmt, nil, nil, false, > > CREATE_NEW_CONSOLE or NORMAL_PRIORITY_CLASS, > > nil, nil, SUInfo, ProcInfo); > > > > if Result then > > begin > > WaitForSingleObject(ProcInfo.hProcess, INFINITE); > > CloseHandle(ProcInfo.hProcess); > > CloseHandle(ProcInfo.hThread); > > end; > > > > end; > > > > obrigado, > > > > Paulo > > >
[delphi-br] Truecrypt - montar/desmontar volume
Bom dia! Estou usando a função abaixo que executa o programa truecrypt.exe com os paramentros passados. Funcionou corretamente algumas vezes, mas depois passou a não montar mais o volume e a aparecer muitos erros, que nem dá pra ficar detalhando. Procurei na web por alguma solução usando truecrypt com delphi mas não achei. Será que alguém aqui na lista utiliza truecrypt e pode ajudar com isso? cmd: 'trueCrypt.exe /q /l T /v volume.tc /p 12345' function proc_truecrypt(cmd: string): Boolean; var SUInfo : TStartupInfo; ProcInfo : TProcessInformation; nomeFmt : Array[0..512] of Char; begin FillChar(SUInfo, SizeOf(SUInfo), #0); SUInfo.cb := SizeOf(SUInfo); SUInfo.dwFlags := STARTF_USESHOWWINDOW; SUInfo.wShowWindow := SW_HIDE; StrCopy(nomeFmt, PWideChar(cmd)); Result := CreateProcess( nil, nomeFmt, nil, nil, false, CREATE_NEW_CONSOLE or NORMAL_PRIORITY_CLASS, nil, nil, SUInfo, ProcInfo); if Result then begin WaitForSingleObject(ProcInfo.hProcess, INFINITE); CloseHandle(ProcInfo.hProcess); CloseHandle(ProcInfo.hThread); end; end; obrigado, Paulo
[delphi-br] ClientDataSet com Criptografia
Boa noite! Estou querendo criptografar dados antes de gravá-los na base. Estou usando um componente JEDI para isso. Minha dúvida é: como recuperar os dados e descriptografar antes de mostrá-lo em um dbgrid e também como fica a pra fazer um sort, por exemplo? Agradeço se alguém puder dar umas dicas de como proceder. Paulo
[delphi-br] Re: TSQLQuery - TClientDataSet - Casting
Obrigado Marcelo! Tive alguns outros problemas que resolvi agora, mas isso que você passou funcionou legal, só vou fazer uns testes a mais pra confirmar. Muito obrigado pela ajuda!!! até mais, Paulo --- Em delphi-br@yahoogrupos.com.br, Marcelo Luiz Onhate escreveu > > Declara assim: > procedure AbaterValor(parcela: TDataSet; valor: Double) > > > Em 18/01/2010 08:05, pcedisi escreveu: > > > > Olá a todo! > > > > Por favor, preciso de ajuda pra resolver o problema abaixo. > > > > Tenho a seguinte procedure: > > - procedure AbaterValor(parcela: TSQLQuery; valor: Double) > > > > Até o momento tudo bem, mas surgiu a necessidade de enviar > > a parcela vinda de um ClientDataSet tambem. > > > > Há alguma forma de fazer isso através de casting ou outra > > forma comum a estes componentes, permitindo o mesmo código > > para manipulação? > > > > obrigado, > > > > Paulo > > > > > > -- > > */System Soluções em Sistemas de Informação > /*/Marcelo Luiz Onhate > Departamento de Desenvolvimento/ > marc...@... <mailto:marc...@...> > www.systempro.com.br > <http://www.systempro.com.br/>(54) 3321-5888 >
[delphi-br] Re: TSQLQuery - TClientDataSet - Casting
Obrigado Marcelo! Como faço para passar o dataset usando o TClientDataSet e TSQLQuery? Pensei em usar DataSource.DataSet mas não funciona pois não estão ligados a nenhum DataSource. AbaterValor(cdsParcela.DataSource.DataSet, valor) AbaterValor(qryParcela.DataSource.DataSet, valor) obrigado, Paulo --- Em delphi-br@yahoogrupos.com.br, Marcelo Luiz Onhate escreveu > > Declara assim: > procedure AbaterValor(parcela: TDataSet; valor: Double) > > > Em 18/01/2010 08:05, pcedisi escreveu: > > > > Olá a todo! > > > > Por favor, preciso de ajuda pra resolver o problema abaixo. > > > > Tenho a seguinte procedure: > > - procedure AbaterValor(parcela: TSQLQuery; valor: Double) > > > > Até o momento tudo bem, mas surgiu a necessidade de enviar > > a parcela vinda de um ClientDataSet tambem. > > > > Há alguma forma de fazer isso através de casting ou outra > > forma comum a estes componentes, permitindo o mesmo código > > para manipulação? > > > > obrigado, > > > > Paulo > > > > > > -- > > */System Soluções em Sistemas de Informação > /*/Marcelo Luiz Onhate > Departamento de Desenvolvimento/ > marc...@... <mailto:marc...@...> > www.systempro.com.br > <http://www.systempro.com.br/>(54) 3321-5888 >
[delphi-br] TSQLQuery - TClientDataSet - Casting
Olá a todo! Por favor, preciso de ajuda pra resolver o problema abaixo. Tenho a seguinte procedure: - procedure AbaterValor(parcela: TSQLQuery; valor: Double) Até o momento tudo bem, mas surgiu a necessidade de enviar a parcela vinda de um ClientDataSet tambem. Há alguma forma de fazer isso através de casting ou outra forma comum a estes componentes, permitindo o mesmo código para manipulação? obrigado, Paulo
[delphi-br] Form published inspector
Olá! Estou tentando criar um formulário, herdando de TForm, com propriedades e eventos que apareçam no object inspector. Já tentei alguns tutoriais meio antigos na internet, mas não funcionaram. Será que alguem sabe como fazer? Estou usando Delphi 2010. obrigado, Paulo
[delphi-br] Critptografia
Olá pessoal! Estou desenvolvendo uma aplicação e preciso usar criptografia para proteger os dados do cliente. O sistema tem uma versão desktop a qual pretendo proteger com algo como o BitLocker, TrueCrypt etc. Tenho uma versão funcionando em notebook que deve usar a mesma coisa e, por fim, arquivos XML (acho que deve ser a melhor opção para isso), usados para transporte de dados entre desktop e notebook e que precisam ser protegidos também. Alguém sabe dizer se as opções que mencionei são corretas, senão, quais seriam melhores e mais fáceis de implementar? Estou começando a estudar a função EncryptFile, sem sucesso ainda. Se puderem indicar algum tutorial ajudaria bastante. obrigado, Paulo
[delphi-br] Re: Padding com espaços - Solucionado
Estou testando com um listbox, mas o problema ocorre em qualquer local onde eu não tenha o recurso de alinhar o texto. O problema é com o tipo de fonte que uso, conforme "sugeriu" o José Mario ( Obrigado!!! ). Mudei pra Courier New e ficou alinhado certinho. Nem imaginei que pudesse ser isso, perderia dias tentando não fosse a ajuda de vocês. obrigado pela ajuda. Paulo --- Em delphi-br@yahoogrupos.com.br, CRM Desenvolvimentos escreveu > > Voce quer alinhar os dados onde? relatório? especifique. > > 2009/10/22 pcedisi > > > > > > > Olá! > > > > Por favor, estou precisando alinhar algumas informações > > e não estou conseguindo. Inserir zeros à esquerda funciona > > sem problemas, mas com espaços não dá certo. Já vi um > > monte de exemplos na internet mas nenhum com tal solução. > > Alguém sabe como resolver? > > > > 1 - 1670 - Cola de Madeira > > 2 - 22 - Fita Isolante > > 3 - 340 - Martelo > > > > obrigado, > > > > Paulo > > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] >
[delphi-br] OOP - Sistemas Exemplo
Olá a todos! Estou estudando delphi e já tenho uma boa noção sobre orientação a objeto. Já vi muitos exemplos por ai mas apenas alterando propriedades de componentes, criando alguns objetos simples, incluindo alguns métodos e propriedades etc. Gostaria de exemplos utilizando OOP em projetos reais, que utilizem banco de dados, internet etc., pra que eu possa estudá-los e aprender como usar isso no dia a dia. Alguém sabe onde encontrar? obrigado, Paulo
[delphi-br] Padding com espaços
Olá! Por favor, estou precisando alinhar algumas informações e não estou conseguindo. Inserir zeros à esquerda funciona sem problemas, mas com espaços não dá certo. Já vi um monte de exemplos na internet mas nenhum com tal solução. Alguém sabe como resolver? 1 - 1670 - Cola de Madeira 2 - 22 - Fita Isolante 3 - 340 - Martelo obrigado, Paulo
[delphi-br] Re: SQL - Dúvidas
Bom dia! A listagem simples Matheus, seria pegar apenas os movimentos de manutenção ou somente movimentos de instalação, isso seria feito com um select apenas. Utilizei o Union nas tabelas e funcionou tudo ok. Muito obrigado pela ajuda. abraços, Paulo --- Em delphi-br@yahoogrupos.com.br, "Matheus" escreveu > > Olá Paulo! > > Como assim listar individualmente é simples, mas com tipos diferentes não? > > A lógica é a mesma, mas com um detalhe, nos outros você terá que usar LEFT > JOIN! > > Abraços. > > > From: pcedisi > Sent: Sunday, September 27, 2009 7:30 PM > To: delphi-br@yahoogrupos.com.br > Subject: [delphi-br] SQL - Dúvidas > > > Ola a todos. > > Tenho algumas tabelas e gostaria de saber se é possÃvel > obter o resultado desejado através de SQL. Estou usando > firebird 2.1. > > Tabela 1 - Equipamentos > ID_EQUIP - EQUIPAMENTO - DATA INCLUSAO > --- > Tabela 2 - Instalacao CAB - (Cabecalho da instalacao) > ID_INSTALACAO - DATA > > Tabela 3 - Instalacao DET - (Lista dos equips instalados) > ID_INSTALACAO - ID_EQUIP > --- > Tabela 4 - Transferencia CAB - (Cabecalho da transferencia) > ID_TRANSF - DATA > > Tabela 5 - Transferencia DET - (Lista dos equips transferidos) > ID_TRANSF - ID_EQUIP > --- > Tabela 6 - Manutencao CAB - (Cabecalho de Manutencao) > ID_MANUT - DATA > > Tabela 7 - Manutencao DET - (Lista equips para manutencao) > ID_MANUT - ID_EQUIP > > Os dados nas tabelas diferem e por isso nao posso > usar um indicador para manutencao, instalacao ou > transferencia. > > Quero listar todas as ocorrencias relativas a um > determinado equipamento, listar individualmente > é simples, mas com tipos diferente não sei se é > possivel. > > EQUIP Ocorrencia Data > 1 Instalacao 30/01/2009 > 1 Manutencao 20/04/2009 > 1 Transferencia 25/08/2009 > 1 Manutencao 12/09/2009 > 1 Manutencao 20/09/2009 > > Agradeço a quem possa ajudar com solução, se houver, > ou orientação sobre estrutura para conseguir objetivo. > > abraços, > > Paulo > > > > > > [As partes desta mensagem que não continham texto foram removidas] >
[delphi-br] Re: SQL - Dúvidas
Bom dia! Obrigado pela ajuda, o uso de Union resolve o problema e ainda da pra melhorar outras coisas que fiz aqui. Olá Matheus! A opção simples seria listar apenas os movimentos de manutenção ou apenas as instalações, isso quebraria um galho. Mas, agora, com o uso de Union, consigo unir as tabelas e mostrar a movimentação completa. Não sei ainda se o CAST, citado pelo Rodinei, poderá adicionar ou facilitar algo, pois eu nem sei a finalidade (ainda) do mesmo. Novamente, obrigado ao Jackson, Rodinei e Matheus. abraço, Paulo --- Em delphi-br@yahoogrupos.com.br, "Matheus" escreveu > > Olá Paulo! > > Como assim listar individualmente é simples, mas com tipos diferentes não? > > A lógica é a mesma, mas com um detalhe, nos outros você terá que usar LEFT > JOIN! > > Abraços. > > > From: pcedisi > Sent: Sunday, September 27, 2009 7:30 PM > To: delphi-br@yahoogrupos.com.br > Subject: [delphi-br] SQL - Dúvidas > > > Ola a todos. > > Tenho algumas tabelas e gostaria de saber se é possÃvel > obter o resultado desejado através de SQL. Estou usando > firebird 2.1. > > Tabela 1 - Equipamentos > ID_EQUIP - EQUIPAMENTO - DATA INCLUSAO > --- > Tabela 2 - Instalacao CAB - (Cabecalho da instalacao) > ID_INSTALACAO - DATA > > Tabela 3 - Instalacao DET - (Lista dos equips instalados) > ID_INSTALACAO - ID_EQUIP > --- > Tabela 4 - Transferencia CAB - (Cabecalho da transferencia) > ID_TRANSF - DATA > > Tabela 5 - Transferencia DET - (Lista dos equips transferidos) > ID_TRANSF - ID_EQUIP > --- > Tabela 6 - Manutencao CAB - (Cabecalho de Manutencao) > ID_MANUT - DATA > > Tabela 7 - Manutencao DET - (Lista equips para manutencao) > ID_MANUT - ID_EQUIP > > Os dados nas tabelas diferem e por isso nao posso > usar um indicador para manutencao, instalacao ou > transferencia. > > Quero listar todas as ocorrencias relativas a um > determinado equipamento, listar individualmente > é simples, mas com tipos diferente não sei se é > possivel. > > EQUIP Ocorrencia Data > 1 Instalacao 30/01/2009 > 1 Manutencao 20/04/2009 > 1 Transferencia 25/08/2009 > 1 Manutencao 12/09/2009 > 1 Manutencao 20/09/2009 > > Agradeço a quem possa ajudar com solução, se houver, > ou orientação sobre estrutura para conseguir objetivo. > > abraços, > > Paulo > > > > > > [As partes desta mensagem que não continham texto foram removidas] >
[delphi-br] SQL - Dúvidas
Ola a todos. Tenho algumas tabelas e gostaria de saber se é possÃvel obter o resultado desejado através de SQL. Estou usando firebird 2.1. Tabela 1 - Equipamentos ID_EQUIP - EQUIPAMENTO - DATA INCLUSAO --- Tabela 2 - Instalacao CAB - (Cabecalho da instalacao) ID_INSTALACAO - DATA Tabela 3 - Instalacao DET - (Lista dos equips instalados) ID_INSTALACAO - ID_EQUIP --- Tabela 4 - Transferencia CAB - (Cabecalho da transferencia) ID_TRANSF - DATA Tabela 5 - Transferencia DET - (Lista dos equips transferidos) ID_TRANSF - ID_EQUIP --- Tabela 6 - Manutencao CAB - (Cabecalho de Manutencao) ID_MANUT - DATA Tabela 7 - Manutencao DET - (Lista equips para manutencao) ID_MANUT - ID_EQUIP Os dados nas tabelas diferem e por isso nao posso usar um indicador para manutencao, instalacao ou transferencia. Quero listar todas as ocorrencias relativas a um determinado equipamento, listar individualmente é simples, mas com tipos diferente não sei se é possivel. EQUIP Ocorrencia Data 1 Instalacao 30/01/2009 1 Manutencao 20/04/2009 1 Transferencia 25/08/2009 1 Manutencao 12/09/2009 1 Manutencao 20/09/2009 Agradeço a quem possa ajudar com solução, se houver, ou orientação sobre estrutura para conseguir objetivo. abraços, Paulo
[delphi-br] Base de dados para testes
Olá! Estou precisando de um banco de dados para fazer testes. Em outras oportunidades até achei algo na internet, mas agora que preciso nem sinal. Queria algo como lista de clientes e produtos por exemplo. Quero ver se monto um banco com pelo menos 5000 clientes pra fazer testes. Pode ser em formato excel pra eu importar no firebird ou outro formato qualquer. obrigado, Paulo
Re: [delphi-br] DBGrid - Obrigado
Obrigado pelas respostas, como sempre, muito úteis! A solução enviada pelo Luiz Carlos, usando o DisableControls / EnableControls resolveu bem o problema. Como se trata de um modulo apenas de coleta de dados, com um único usuário, aproveitei pra ver como fica desta forma, se houver problema de lentidão farei como sugeriu o Claudiney e, assim que aprender um pouco mais, vou ver se acerto fazer do modo que o Rubem Rocha falou. Talvez a solução usando o ClientDataSet vá se encaixar melhor no módulo que vai funcionar com vários usuários no desktop. Mais uma vez, obrigado pela ajuda. Abraços, Paulo
[delphi-br] DBGrid
Ola! Por favor, preciso de ajuda com DBGrid! Tenho um DBGrid de clientes e uso onChange para fazer pesquisa a cada letra digitada, o problema é que ele redimensiona a cada busca alem de redesenhar o DBGrid gerando um efeito de piscar a cada letra digitada. Alguem pode ajudar? Isso que estou fazendo é o certo? procedure TfrmClientes.edtPesquisaChange(Sender: TObject); begin dmcli.qryClientes.Close; dmcli.qryClientes.Params[0].AsString := Trim(edtPesquisa.Text); dmcli.qryClientes.Open; end; obrigado, Paulo [As partes desta mensagem que não continham texto foram removidas]
[delphi-br] ListBox com TObject
Olá a todos! Criei um objeto derivado de TObject contendo uma string e inseri vários em um Listbox com ListBox.Items.AddObject( '1', TString.Create('ABC') ) Quero saber se preciso destruir cada objeto criado antes de fechar o formulário ou se os mesmos são destruidos automaticamente. Gostaria de saber tambem qual a forma de identificar cada vez que seleciono um item no Listbox. Estou usando o onDrawItem, mas não sei se é a melhor opção. Obrigado, Paulo
[delphi-br] Delphi 2009 - Firebird - UIB Conexão
Por favor, já fiz um monte de testes e não consigo fazer a conexão com o banco de dados. Já segui vários tutoriais na internet onde ensinam a alterar o dbxdrivers.ini / dbxconnections.ini copiar o fbclient.dll / dbexpUIBfire15.dll e tudo o mais. Já fiz testes com o Delphi 7 e voltei a testar com o Delphi 2009, mas nada. Alguem tem idéia do que pode solucionar isso, e ainda, quais as opções que tenho pra conectar com o Firebird? Muito obrigado. Esse é o erro quando tento fazer teste de conexão. Failure do Connect: Access violation at address 103D5CED in module 'dbexpUIBFire15.dll'. Read of address 001E Mac mini - Mac OS X (10.5.7) - Windows XP (Virtual) - 768MB RAM Paulo