HB++: Executando Efeitos Especiais de Alerta

Gostou deste artigo? Compartilhe!

CategoriasPalm OS, Handheld Basic
ComentáriosComentários (0)

Projeto Exemplo Efeitos Especiais de Alerta

Introdução

O Palm OS, a partir da versão 4.0, implementa um conjunto de funções API chamado Attention Manager, que nos permite chamar a atenção do usuário quando algum evento ocorre ou quando desejamos emitir alertas. As APIs do Attention Manager são utilizadas por todos os programas que utilizam o mecanismo de alarmes nativo do Palm OS, por exemplo, e um dos seus recursos mais interessantes, são os efeitos especiais de alerta.

Alertas Comuns

O Attention Manager possui suporte para os eventos mais comuns:

  • Emitir Som
  • Piscar o LED
  • Vibrar

É importante notar que nem todos os PDAs possuem suporte à todos esses itens. Alguns PDAs não possuem o recurso vibrar, e outros não possuem LED (aquela pequena luz normalmente presente no botão Ligar/Desligar).

Conceito

A função API responsável por executar estes efeitos especiais é a sysTrapAttnDoSpecialEffects, que recebe um valor do tipo Long, que corresponde ao efeito (ou combinação de efeitos) que desejamos executar.

A função API sysTrapAttnDoSpecialEffects espera um dos valores abaixo:

  • &H0001 - Emitir Som
  • &H0002 - Piscar LED
  • &H0004 - Vibrar

Ou ainda uma combinação desses valores, como por exemplo:

  • &H0003 - Emitir Som e Piscar LED
  • &H0005 - Emitir Som e Vibrar
  • &H0006 - Piscar LED e Vibrar
  • &H0007 - Emitir Som, Piscar LED e Vibrar
  • &HFFFF - Todos os efeitos existentes *

* Além dos efeitos existentes, podem ser implementados novos efeitos, dessa forma, o valor &HFFFF executaria todos os efeitos possíveis.

Programação

Assim, o primeiro passo é declarar a chamada da função API em um módulo, juntamente com as constantes contendo os valores correspondentes a cada efeito, de acordo código abaixo:

'Declaração da API AttnDoSpecialEffects do conjunto AttentionManager
Public Declare Sub AttnDoSpecialEffects (ByVal lValue As eAttnSpecialEffects) TRAP &HA42E

Public Enum eAttnSpecialEffects
    'Emite um som
    kAttnFlagsSoundBit   = &H0001

    'Pisca o LED, se o PDA possuir
    kAttnFlagsLEDBit     = &H0002

    'Faz o PDA Vibrar, se o PDA permitir
    kAttnFlagsVibrateBit = &H0004

    'Utiliza todas as formas acima para chamar a atenção do usuário.
    kAttnFlagsAllBits    = &HFFFF
End Enum

Com a função API declarada no módulo, basta executá-la, passando os valores desejados por parâmetro:

'Emitir Som
Private Sub btnEmitirSom_Click()
    'Emite um som de alerta
    AttnDoSpecialEffects kAttnFlagsSoundBit
End Sub

'Piscar o LED
Private Sub btnPiscarLED_Click()
    'Pisca o LED do PDA
    AttnDoSpecialEffects kAttnFlagsLEDBit
End Sub

'Vibrar
Private Sub btnVibrar_Click()
    'Faz o PDA Vibrar por alguns segundos
    AttnDoSpecialEffects kAttnFlagsVibrateBit
End Sub

'Todos os Efeitos Possiveis
Private Sub btnTodosEfeitos_Click()
    'Executa todos os efeitos de uma vez
    'Emite Som, Pisca LED, Vibra e outros (se houvessem)
    AttnDoSpecialEffects kAttnFlagsAllBits
End Sub

'Combinação: Piscar o LED e Vibrar
Private Sub btnVibrarEPiscar_Click()
    'Pisca o LED do PDA e Vibra ao mesmo tempo
    AttnDoSpecialEffects kAttnFlagsLEDBit + kAttnFlagsVibrateBit
End Sub

Histórico

  • 02/05/2007 - Primeira versão deste artigo.

Sobre o Autor

Caio ProieteCaio Proiete é Arquiteto de Soluções, especialista em desenvolvimento de softwares para PDAs e telefones celulares, principalmente nas plataformas Palm OS, Windows Mobile e Symbian OS.

Atualmente suas principais ferramentas/tecnologias de trabalho incluem CodeWarrior C++, Handheld Basic, eMbedded Visual C++, .NET Compact Framework, C# .NET, e Carbide.c++.

Possui extensa experiência em arquitetura e desenvolvimento de sistemas baseados em web e smart-clients, gerenciamento de projetos e treinamento, e atua também como instrutor oficial Microsoft em centros de treinamentos (CLPS), e é detentor das seguintes certificações:

  • MCT - Microsoft Certified Trainer;
  • MCSD - Microsoft Certified Solution Developer;
  • MCDBA - Microsoft Certified Database Administrator;
  • MCAD .NET - Microsoft Certified Application Developer;
  • MCSD .NET - Microsoft Certified Solution Developer for .NET;
  • MCTS - Microsoft Certified Technology Specialist for Windows Mobile.

Veja o todos os artigos publicados por Caio Proiete no PDAExpert.

Artigos Relacionados

  • Não existem artigos relacionados

Nenhum comentário »

Comentários via RSS TrackBack URI

Envie seu comentário

ATENÇÃO: A área de comentários deve ser utilizada apenas para dúvidas sobre este artigo. Para dúvidas não relacionadas a este artigo, utilize o Fórum PDAExpert.net.

Nome

E-mail

URL

Comentário

XHTML: São permitidas as seguintes tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>

campos obrigatórios