Re: [delphi-br] ClientDataSet
Marcos, Sugiro o download de uma aplicação do Guinther Pauli que exemplifica o que você precisa e muito mais... http://cc.embarcadero.com/Item/17644 Se vc tem cadastro no CodeCentral da Embarcadero, basta entrar com seu login e baixar o source. No topo da página tem um link LOG ON, clique ali e na próxima tela preencha seu dados ou clique no Join Today para fazer um cadastro.. Eu recomendo, tem muito conteúdo interessante e o melhor, free. Att, José Luis - Original Message - From: Rubem Rocha rubem.ro...@dtmanaus.com.br To: delphi-br@yahoogrupos.com.br Sent: Monday, May 03, 2010 12:02 PM Subject: RES: [delphi-br] ClientDataSet Informe-se no help do Delphi sobre a propriedade UpdateStatus do TClientDataSet. Acredito que este seja o caminho. Veja exemplo de uso desta propriedade (extraído do help do Delphi 7). procedure TDBClientTest.ProviderUpdateData(Sender: TObject; DataSet: TCustomClientDataSet); begin with DataSet do while not EOF do begin if UpdateStatus = usDeleted then LogDelete(DataSet, UserName, Date, Time); Next; end; end; Sds. De: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br] Em nome de Marcos Abreu Ferreira Enviada em: segunda-feira, 3 de maio de 2010 11:01 Para: delphi-br@yahoogrupos.com.br Assunto: Re: [delphi-br] ClientDataSet Eny, não uso banco de dados na aplicação. Recebo as informações por socket e as vou salvando em um ClientDataSet e com o tempo as vou processando. Para que ela não seja reprocessada, gostaria de marcar com um X em um determinado campo no processamento daquele determinado registro. Logo depois do processamento de todos os registros, quero apagar os que estiverem marcado com o X para liberar memória. Pensei em fazer isso, pois enquanto faço o processamento, o sistema pode estar recebendo novos registros. Em 1 de maio de 2010 20:48, Eny Urias enyur...@yahoo.com.br mailto:enyurias%40yahoo.com.br escreveu: Você tem duas opções... Aplicar um filtro com o estado que vc quer e fazer um while e ir apagando um por um processo + demorado... Usar um componente para fazer o delete no banco usando um parametro com o estado que vc quer.. processo + rapido... Aí vai de vc escolher -- Eny Trova Urias Somos o que repetitivamente fazemos, portanto, a excelência não é um feito, mas um hábito- Aristóteles De: Marcos Abreu Ferreira maferreira...@gmail.com mailto:maferreira.f2%40gmail.com maferreira.f2%40gmail.com Para: lista-del...@yahoogrupos.com.br mailto:lista-delphi%40yahoogrupos.com.br lista-delphi%40yahoogrupos.com.br; delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br delphi-br%40yahoogrupos.com.br Enviadas: Sábado, 1 de Maio de 2010 18:35:26 Assunto: [delphi-br] ClientDataSet Pessoal, Tenho um clientdataset com 3 campos -Codigo (string,12) -Nome (string,35) -Estado (string,2) Preciso colocar uma ação num botao onde eu vá apagar os registros de um determinado estado no clientdataset. Como fazer? Att, marcos [As partes desta mensagem que não continham texto foram removidas] -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM
[delphi-br] Calculo CRC
duBRASIL InformáticaOlá Pessoal, Estou com um problema, tenho a função abaixo escrita em C e esta é executada num equipamento (data Logger) por um processador da família do 8051. / uchar CalcCksum(uchar *buf) { uchar i, byCksum = 0; for(i = 0; *(buf + i) != ETX; i++) byCksum ^= *(buf + i); byCksum ^= ETX; return byCksum; } / Preciso fazer este mesmo cálculo no Delphi, pois estou desenvolvendo um software para substituir este data logger por um PC. Nunca programei em C, não faço a menor idéia de funcionalidades que acredito serem básicas, como o uso dos caracteres/operadores *, ^=. Alguém sabe/pode destrinchar esse caso para mim? Desde já, obrigado pela atenção! José Luis Rezende [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] Atualização automática
Tchê, o ideal básico para se começar a programar, deve ser tornar o ato a ser gerenciado pelo software mais fácil de ser executado.. Pensando dessa forma, no momento da programação você tem que procurar fazer a coisa da forma mais simples também, afim de reduzir as linhas de código para facilitar futuras manutenções do sistema. Veja bem, quando disse fazer a coisa da forma mais simples não quis dizer fazer um software básico, mas sim estudar a melhor forma de reduzir a quantidade de linhas. Para isso, em determinadas funçoes/procedimentos temos que pesquisar formas mais funcionais de execurar o mesmo processo. Um caso muito comum é o programador iniciante, ou mesmo desinteressado em aumentar seus conhecimentos é usar vários IFs para verificar se o valor de uma determinada variável é um ou outro, quando a melhor forma num caso destes seria a implementação de um CASE. No teu caso, a forma mais simples é usar o comando CLOSE. Da seguinte forma: Chame o teu segundo executável, apartir do sistema a ser atualizado, pelo comando WINEXEC ou o SHELLEXECUTE. Na linha seguinte, coloque o comando: NomeDoFormPrincipal.CLOSE; Porém, se o seu segundo executável vai fazer o trabalho de atualização sem interferência do usuário, recomendo na abertura dele colocar um Sleep ou um Timer dando um tempinho de uns 5 segundos para depois iniciar o procedimento de renomear o arquivo antigo e o novo. Após renomear os arquivos, repita o procedimento no executável de atualização, execute o sistema atualizado e dê um close no atualizador. Moral da história, você estava procurando uma função complexa para fechar um programa após ter aberto o outro, usando um pouco de lógica você chega a conclusão de que o comando para fechar é o CLOSE, implementa ele e tudo funciona perfeitamente e com apenas 5 letras de código.. hehheh Desculpe o texto longo, mas acho importante os novos programadores que vem surgindo terem uma explanação maior sobre o assunto, para que possam aprimorar seus conhecimentos.. Uma ótima fonte de conhecimento são os helps do delphi e até mesmo os exemplos que vem com ele na pasta de instalação. Além é claro dos mecanismos de busca como o google, etc... Outro lugar muito bom é o site www.torry.ru, esse site além de muitos exemplos tem uma seção de dicas (TIPS) muito boa.. Pra quem está começando e manja pouco de inglês, recomendo um dicionário, o site http://babelfish.altavista.com e nenuma preguiça de descobrir o significado dos termos vistos ao longo das pesquisas, pois todos compiladores que conheço usam o inglês como base. Atenciosamente, José Luis Fernandes Rezende 51 8425.9791 - Original Message - From: willer [EMAIL PROTECTED] To: delphi-br@yahoogrupos.com.br Sent: Friday, December 08, 2006 12:06 PM Subject: [delphi-br] Atualização automática Como faço para fechar o meu programa após ter aberto outro? Estou implementando uma rotina de atualização automáticxa que deverá fzer isso, baixa um arquivo(.exe), abre um programa auxiliar e fecha. O programa auxiliar exclui o antigo, e renomeia o novo, abre-o e fecha-se; [As partes desta mensagem que não continham texto foram removidas] -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM Links do Yahoo! Grupos ___ Novidade no Yahoo! Mail: receba alertas de novas mensagens no seu celular. Registre seu aparelho agora! http://br.mobile.yahoo.com/mailalertas/
[delphi-br] Sobrepor TImage a um video (dubr)
Olá PessoALL, Estou com um problema que não consigo resolver: Preciso sobrepor uma imagem (um TImage) a um vídeo capturado em tempo real de uma webcam. Já testei com vários componentes de captura de vídeo, mas parece que o vídeo fica em uma camada superior ao TImage. Um TPanel, por exemplo, consigo sobrepor sem problema algum, mas preciso fazer com o TImage, pois este contém uma imagem transparente (um pixel sim/outro não). E com TPanel não consegui fazer ficar transparente. Obrigado pela colaboração! José Luis [EMAIL PROTECTED] [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: [EMAIL PROTECTED] 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: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
[delphi-br] @, ^, $IFDEF, etc
Olá Pessoal, Acompanho a Lista desde 15/10/2001, não lembro de ter visto qualquer referência sobre o uso de caracteres especiais (@ ^ $) e chamadas #IFDEF, etc... Apredi a programar estudando os códigos disponibilizados por outros programadores. Tenho diversos sistemas em funcionamento, porém, apesar de usar estes caracteres (beseado em funções de terceiros) não sei qual a real funcionalidade destes. Gostaria que alguém exponha na lista o porquê de se usar tais caracteres em determinadas situações. Acredito que tenham outros programadores que como eu fazem uso de tais caracteres sem saber exatamente porque são necessários para que determinada função funcione adequadamente. Outra coisa, registrar um programa como serviço, estou usando a função abaixo para isso: ... implementation function RegisterServiceProcess(dwProcessID, dwType: integer): Integer; stdcall; external 'KERNEL32.DLL'; ... ... begin RegisterServiceProcess(GetCurrentProcessID, 1); end ... Porém, ela não funciona na plataforma NT. Tenho que compilar o meu programa duas vezes, uma para plataforma 9x e outra para NT. Alguém conhece uma maneira de contornar esta situação? (Uma função que seja compatível com ambas plataformas Windows). Obrigado pela atenção. José Luis ___ Yahoo! Acesso Grátis - Internet rápida e grátis. Instale o discador agora! http://br.acesso.yahoo.com/ -- 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: [EMAIL PROTECTED] ou [EMAIL PROTECTED] 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: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
[delphi-br] @, ^, $IFDEF, etc
Olá Pessoal, Acompanho a Lista desde 15/10/2001, não lembro de ter visto qualquer referência sobre o uso de caracteres especiais (@ ^ $) e chamadas #IFDEF, etc... Apredi a programar estudando os códigos disponibilizados por outros programadores. Tenho diversos sistemas em funcionamento, porém, apesar de usar estes caracteres (beseado em funções de terceiros) não sei qual a real funcionalidade destes. Gostaria que alguém exponha na lista o porquê de se usar tais caracteres em determinadas situações. Acredito que tenham outros programadores que como eu fazem uso de tais caracteres sem saber exatamente porque são necessários para que determinada função funcione adequadamente. Outra coisa, registrar um programa como serviço, estou usando a função abaixo para isso: ... implementation function RegisterServiceProcess(dwProcessID, dwType: integer): Integer; stdcall; external 'KERNEL32.DLL'; ... ... begin RegisterServiceProcess(GetCurrentProcessID, 1); end ... Porém, ela não funciona na plataforma NT. Tenho que compilar o meu programa duas vezes, uma para plataforma 9x e outra para NT. Alguém conhece uma maneira de contornar esta situação? (Uma função que seja compatível com ambas plataformas Windows). Obrigado pela atenção. José Luis ___ Yahoo! Acesso Grátis - Internet rápida e grátis. Instale o discador agora! http://br.acesso.yahoo.com/ -- 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: [EMAIL PROTECTED] ou [EMAIL PROTECTED] 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: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
Re: RES: [delphi-br] Destacar somente um trecho de um RichEdit
Olá Osmar, Fiz um pequeno teste que funcionou, fui inserindo as linhas em um TMemo e após o Loop coloquei: RichEdit1.Text:=Memo1.Text; Fui inserindo as linhas no Memo1 usando as Tags RTF ( \b Negrito\b0 \i Itálico\i0 \ul Sublinhado\ulnone\par ) Para não ter que usar um componente visual como o TMemo, sugiro a utilização de uma TStringList. Atenciosamente, José Luis - Original Message - From: Osmar de Souza Júnior [EMAIL PROTECTED] To: delphi-br@yahoogrupos.com.br Sent: Friday, August 05, 2005 11:09 AM Subject: Re: RES: [delphi-br] Destacar somente um trecho de um RichEdit Sim, funciona. Mas não é o usuário que vai digitar o texto, e clicar num botão Negrito , Itálico ou Sublinhado. O RichEdit é ReadOnly, e eu preencho um texto, pré-processado, para visualização/impressão do usuário. Então já tenho que trazer o texto formatado. E quero formatar apenas uma palavra, e não uma linha inteira. --- Em delphi-br@yahoogrupos.com.br, Eduardo Silva ® [EMAIL PROTECTED] escreveu Veja se funciona procedure TfrmEditor.btnnegritoClick(Sender: TObject); begin if fsBold in Editor.SelAttributes.Style then Editor.SelAttributes.Style := Editor.SelAttributes.Style - [fsbold] else begin Editor.SelAttributes.Style := Editor.SelAttributes.Style + [fsbold]; btnnegrito.Down := True; end; Negrito1.Checked := fsBold in Editor.SelAttributes.Style; end; procedure TfrmEditor.btnitalicoClick(Sender: TObject); begin if fsItalic in Editor.SelAttributes.Style then Editor.SelAttributes.Style := Editor.SelAttributes.Style - [fsItalic] else begin Editor.SelAttributes.Style := Editor.SelAttributes.Style + [fsItalic]; btnItalico.Down := True; end; miItalico.Checked := fsItalic in Editor.SelAttributes.Style; end; procedure TfrmEditor.btnsublinhadoClick(Sender: TObject); begin if fsUnderline in Editor.SelAttributes.Style then Editor.SelAttributes.Style := Editor.SelAttributes.Style - [fsUnderline] else begin Editor.SelAttributes.Style := Editor.SelAttributes.Style + [fsUnderline]; btnsublinhado.Down := True; end; Sublinhado1.Checked := fsBold in Editor.SelAttributes.Style; end; -Mensagem original- De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] nome de Osmar de Souza Júnior Enviada em: sexta-feira, 5 de agosto de 2005 10:48 Para: delphi-br@yahoogrupos.com.br Assunto: [delphi-br] Destacar somente um trecho de um RichEdit Como eu posso fazer para destacar (negrito, itálico) somente uma palavra, por exemplo, de uma linha num RichEdit? Porque no meu caso eu preencho o RichEdit, com um texto previamente processado, de várias consultas de várias tabelas. Eu monto um texto, como um resumo, e vou adicionando as linhas. Eu só consegui aplicar uma formatação para uma linha inteira, e não somente para uma palavra. Tentei adicionar as tags de RTF, como por exemplo: RichEdit1.Lines.Append('\ul Palavra qualquer \ulnone'); Mas não funciona. Idéias são bem-vindas. Obrigado. -- 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: [EMAIL PROTECTED] ou [EMAIL PROTECTED] -- Links do Yahoo! Grupos a.. Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ b.. Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] c.. O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do Yahoo!. __ NOD32 1.1187 (20050805) Information __ This message was checked by NOD32 antivirus system. http://www.nod32.com [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: [EMAIL PROTECTED] ou [EMAIL PROTECTED] Links do Yahoo! Grupos ___ Yahoo! Acesso Grátis - Internet rápida e grátis. Instale o discador agora! http://br.acesso.yahoo.com/ -- 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: [EMAIL PROTECTED] ou [EMAIL PROTECTED] 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: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
Re: [delphi-br] Salvar conteúdo do Email
Tente o seguinte: Crie um TStream e carrege nele o conteúdo do e-mail. Depois, para salvar no banco, use a opção LoadFromStream... Para visualisar o conteúdo do campo, faça o caminho inverso: Crie o TStream, e salve do banco pro Stream com SaveToStream(SeuStream) Bom, o caminho das pedras tá ai. se tiver dúvidas com a utilização do TStream, tem muito material na rede e no Help do Delphi. Abaixo tem um pequeno exemplo com LoadFrom e outro com SaveTo, ambos do HELP: var FS: TFileStream; begin if not (Query1.State in [dsInsert, dsEdit]) then Query1.Insert; FS := TFileStream.Create('c:\Windows\Winlogo.bmp', fmOpenRead); try Query1Images.LoadFromStream(FS); finally FS.Free; end; Query1.Post; end; //-- var MS: TMemoryStream; begin MS := TMemoryStream.Create; try Query1Images.SaveToStream(MS); Image1.Picture.Bitmap.LoadFromStream(MS); finally MS.Free; end; end; Atenciosamente, José Luis - Original Message - From: Marcio R A Garcia [EMAIL PROTECTED] To: delphi-br@yahoogrupos.com.br Sent: Friday, August 05, 2005 1:10 PM Subject: [delphi-br] Salvar conteúdo do Email Olá a todos ... Não sei se alguém já fez oque estou tentando aqui, bom ... preciso salvar o conteúdo de um Email em uma base MySQL, acontece que quando tento salvar ele da erro, já que o Email contém caracteres que acabam conflitando com a query do MySQL, alguém já fez algo do tipo, pensei em usar codificação, base64 talvez ... Se alguém já fez algo do tipo e puder me ajudar, eu ficaria muito grato. Abraços, Obrigado, Marcio -- 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: [EMAIL PROTECTED] ou [EMAIL PROTECTED] Links do Yahoo! Grupos ___ Yahoo! Acesso Grátis - Internet rápida e grátis. Instale o discador agora! http://br.acesso.yahoo.com/ -- 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: [EMAIL PROTECTED] ou [EMAIL PROTECTED] 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: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html