Olá galera, nesta Quick Tips, irei mostra como podemos trabalhar com o Skype, usando ActiveX do mesmo, dentro do Delphi. Estou usando a versão do Skype 4.2.0.158, com o Delphi 2010. Continuando com o exemplo, vamos agora finalizar o exemplo, implementando alguns métodos diretamente nos eventos dos componentes

 

DbClick dos ListView

 

Usando este evento iremos enviar mensagem diretamente para um usuário selecionado no ListViewListaContato;

procedure TFrmPrincipal.ListViewListaContatoDblClick(Sender: TObject);

Var

   Msg : WideString;

begin

   Msg := InputBox('Enviar Mensagem','Digite a mensagem', Msg);

   Skype1.SendMessage(ListViewListaContato.ItemFocused.Caption, Msg);

end;

 

Usando este evento iremos enviar mensagem diretamente para um usuário selecionado no ListViewListaJanelasAbertas;

 

procedure TFrmPrincipal.ListViewListaJanelasAbertasDblClick(Sender: TObject);

Var

   Msg : WideString;

begin

   Msg := InputBox('Enviar Mensagem','Digite a mensagem', Msg);

   Skype1.SendMessage(ListViewListaJanelasAbertas.ItemFocused.Caption, Msg);

end;

 

Click dos TToolButton

 

Limpando o histórico das conversas

procedure TFrmPrincipal.TlbLimparHistoricoClick(Sender: TObject);

begin

   Skype1.ClearChatHistory;

end;

 

Localizando os usuários no Skype

procedure TFrmPrincipal.TlbLocalizarUsuarioClick(Sender: TObject);

Var

   U : IUserCollection;

   Usuario : IUser;

   I: Integer;

   Item : TListItem;

begin

   ListViewListaLocalizarUsuario.Clear;

   U := Skype1.SearchForUsers(EdtPesquisaContato.Text);

   for I := 1 to U.Count do

   begin

      Usuario := U.Item[I];

      Item := ListViewListaLocalizarUsuario.Items.Add;

      Item.Caption := Usuario.Handle;

      Item.SubItems.Add(Usuario.FullName);

      Item.SubItems.Add(Usuario.City);

   end;

   ShowMessage('Finalizou a busca !!! ');

end;

 

O Exemplo esta finalizado, levantei apenas as funções mais usadas, existem muitas outras Interfaces, dentro do ActiveX do Skype, uma dica apenas todas as Interfaces são bem simples, similares IUserCollection, então para quem tiver curiosidade basta olhar o exemplo TlbLocalizarUsuarioClick, e ir estudando.

 

Atenção apenas no seguinte, toda vez que você executar seu projeto, o Skype irá subir uma mensagem

 


 

Veja que no exemplo este Skype1.exe, pois estava testando com o Skype.exe, e depois de um certo número de compilações o mesmo bloqueou o executável, então caso isso aconteça com você basta mudar o nome do projeto.

 


 

Obs : Fiz os testes com meu Skype aberto

 

Fico por aqui ate à próxima Quick Tips. Baixe neste post o exemplo completo.

 

Um abraço

 

 

Wesley Y

wesley@lithic.com.br