Re: [delphi-br] ClientDataSet

2010-05-03 Por tôpico José Luis Fernandes Rezende
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

2009-09-01 Por tôpico José Luis Fernandes Rezende
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

2006-12-11 Por tôpico José Luis Fernandes Rezende
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)

2006-03-30 Por tôpico José Luis Fernandes Rezende
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

2005-08-08 Por tôpico José Luis Fernandes Rezende
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

2005-08-05 Por tôpico José Luis Fernandes Rezende
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

2005-08-05 Por tôpico José Luis Fernandes Rezende
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

2005-08-05 Por tôpico José Luis Fernandes Rezende
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