Messenger parte 2°

 

 Oggi è stata una giornata particolare, tra guai di amore, e le mie analisi per i problemi di salute che mi porto dietro da gennaio,arrivata sera scrivo due cose sul componente .net di messenger, nel post precedente usavo windows messenger come componente COM, il tutto funziona perfettamente, ma visto che uso visual studio 2005, perchè non usare un oggetto .NET, così ho dato un occhio all'assembly MessengerClient.dll.  Con questo piccolo esempio riesco a forzare una risposta automatica quando l'utente ha uno stato diverso da in linea.

    L'esempio qui sotto, è banale ma lavorandici su si possono fare di verse cosette interessanti, dimenticavo per far funzionare il tutto è necessario, compilare il nostro progetto come classe e trasferirlo nella Global Assembly Cache, per fare questo si può usare la GacUtil del frameworl, perchè un assembly possa essere installato nella Global Assembly Cache deve essere dotato di uno strong-name, dalla finestra My Project  selezionate la scheda Firma,selezionare "Firma Assembly", da "Scegli un file chiave con nome sicuro", selezionare "Nuova...". specifiare il nome e la password, quindi compilare il tutto, usare il GACUTIL per trasferirlo del Globla Assembly Cache e  aggiungere una chiave di registro AddInFeatureEnabled di tipo DWORD di valore = 1 nel percorso :HKEY_CURRENT_USER\ Software\ Microsoft\ MSNMessenger .

A questo punto sul menu di messenger sarà possibile aggiungere il nostro componente, che risponderà per voi in perfetto fiorentino...che volete di più!

Imports Microsoft.Messenger

Public Class Class1

   
Implements IMessengerAddIn

   Private WithEvents MioMessenger As MessengerClient

 
Public Sub Initialize(ByVal messenger As Microsoft.Messenger.MessengerClient) _
                       
Implements Microsoft.Messenger.IMessengerAddIn.Initialize

    MioMessenger= messenger


 End Sub


 Rem gestisco l'evento IncomingTextMessage

  Private Sub MioMessenger_IncomingTextMessage(ByVal sender As Object, _
                                           ByVal e As IncomingTextMessageEventArgs) _
                                           Handles MioMessenger.IncomingTextMessage

    Rem se il mio stato è diverso da non in linea
    If MioMessenger.LocalUser.Status <> UserStatus.Offline  Then
      MioMessenger.SendTextMessage("E ciò da fare nini.... e ti rispondo dopo!" , e.UserFrom)
    End If	
  End Sub

End Class
P.s. Il mio programmino per messenger lo trovate qui : http://xoomer.alice.it/serpiolle/ariborda.htm

Messenger

Chi non usa messenger? Per lavoro,per svago,per tenersi in contatto con persone molto distanti da noi,il programmino è fantastico chat,voce,video, scambio di file ecc..., Ieri mattina però ero in cucina a sbrigare le faccende domestiche, sono un ottimo casalingo (!?!!?!!), e aspettavo che un mia amica si collegasse ad msn per fissare, ma ogni volta che il mio pc emetteva un suono dovevo andare nello studio a controllare chi si era collegato ad messenger, una bella fatica!?!, così mi sono detto ma messenger sarà sicuramente un oggetto COM, perchè non fare un piccolo programma che mi permetta di personalizzare la 'suoneria' per ogni contatto? Detto fatto, riporto qui le due righe per farlo;

Si deve aggiungere il riferimento all'oggetto COM nel nostro progetto, dopo di che si può scrivere il nostro codice :

Ad esempio se vogliamo sapere se il nostro account è online basterà scrivere

Dim MyMessenger As New MessengerAPI.Messenger

If  M.MyStatus = MessengerAPI.MISTATUS.MISTATUS_OFFLINE Then

    '  non sono inliena

else

   ' sono in linea

End if

Se vogliamo avere una lista dei contatti :

Dim MyMessenger As New MessengerAPI.Messenger

Dim MyContacts As MessengerAPI.IMessengerContacts = MyMessenger.MyContacts

Dim I as Integer

For i = 0 To MyContacts.Count - 1

Dim Contact As MessengerAPI.IMessengerContact = MyContacts.Item(i)

MioStato = Contact.Status

MioNomeContatto = Contact.FriendlyName

'.......

Next

 Giocando un pò con questi strumenti è possibile fare quello che mi serviva! Risolto il problema,anche se quella mia amica ho preferito chiamarla con il vecchio telefono

512Mbyte a 9 Euri

Ieri ho comprato una compact flash per la mia vecchia fotocamera digitale, una casio qv-4000 della quale sono orgoglioso possessore, malgrado gli anni fa ancora foto superiori a molte compatte da supermercato. Dicevo ieri ho comprato una compact flash da 512 Mb, per sostituire le mie due vecchie memorie da 64Mb, e 16 Mb, come da titolo del post pagata 9 euro, nulla di straordinario sono i prezzi che ci sono in giro, con un prezzo doppio prendi un sd da 2 gb, è solo che mi fà impressione pensare a quando, non un secolo fà, andavamo in giro con dischetti da 1,44 Mbyte, pagandoli 2 o 3000 delle vecchie lire caduno.... visto che quest'anno non farò ferie, per motivi che 'caro blog' spiegherò in seguito, non sò cosa me ne faccio delle 200 e più foto che posso scattare, ma arriveranno momenti migliori e avrò dietro la mia fidata qv4000....

 

Blend

Premesso che Silverlight come tecnologia mi piace proprio, non credo che nel medio periodo lo utilizzerò per lavoro, il tipo di applicazioni, le macchine dei clienti (ancora molti client win95...). Mi sono messo cmq a dare un occhio XAML e varie, ho voluto anche provare Blend, devo dire che rispetto a flash, ancora non ci siamo. Più pesante,meno intuitivo (forse anche perche macromedia flash ormai lo conosco da qlche anno), non ho visto affondo le varie funzioni di blend per fare un confronto con il rivale di macromedia, certo però che mentre Silverlight , come tecnologia, ha un approccio più coerente e migliore di flash per quello riguarda Blend ancora non mi sembra che ci siamo....continuo le prove e se ho voglia/tempo scriverò qlcosa di più sulle differenze dei prodotti.

 

 

P.s. Stamani mi ''girava la testa'', la terapia cortisonica prosegue a fare i suoi danni,speriamo che anche i benefici vadano di pari passo.

Ordinato il libro

Ordinato questo libro per prepararmi per l'esame 70-305, mi arriva a fine agosto, speravo di approffittarne in questo periodo di semiferie per studiare, dovrò arrangiarmi con quello che si trova sul web...

http://www.librinformatica.it/novita/libri02/mi4158.htm

 

O.t. Nella pausa pranzo sono caduto dallo scooter, non mi sono fatto niente, c'è poco da fare il 2007 non è il mio anno fortunato, questa considerazione è dovuta  a problemi un pò più seri che una sbucciatura, ma quando anche piccoli eventi si sommano a quelli non proprio piccoli il tutto diventa insopportabile.... momento di sfogo libero...

Domenica d'agosto

Domenica d'agosto, se non puoi andare a spaparanzarti al sole la noia nelle domeniche d'agosto può ucciderti, così mi sono messo a rifare un piccolo controllo che avevo fatto anni orsono per vb 6, avevo creato un controllo formato da una label e un maskedit, questo ocx mi ha fatto compagnia in tutti i miei progetti in vb6. In questo pomeriggio di agosto mi sono messo con il mio buon vs2005 e ho fatto un user control che può sostituire il vecchietto ocx, nulla di che poche righe un usercontrol banale ma sò che mi farà compagnia ogni qual volta dovrò creare un interfaccia utente. Riporto qui il codice sorgente,piazzare due controlli un maskedit (txt_dati) e una label (Lbl_Descrizione) :

 


 

Il controllo presenta un proprietà pubblica chiamata MyNumeroDataTesto che se assegnato il valore 1 controlla che i dati inseriti nella maskedit siano solo numeri da 0 a 9, virgola e punto (controlla anche che la virgola sia una sola), le altre proprietà pubbliche sono MyText il contenuto del maskedit, MyCaption il testo della label e MyMask la mascheratura da assegnare al controllo (es : 00/00/0000 per le date), appena si attiva l'evento got focus del maskedit il testo inserito si evidenzia tutto. E' inoltre presenta la proprietà MyMaxLength che serve a impostare il numero massimo di caratteri da inserire.

Oggi apro il mio blog

Aprire un blog, è un pò che mi balenava l'idea, ma un blog per dire cosa? Così ho sempre rimandato questo momento, adesso in preda alla voglia di dare un esame per ottenere la certificazione microsfot (70-305) ho scovato nel web, ugidotnet, ho così capito qual'è l'argomento del quale potevo parlare, la mia passione, sviluppare software (il fatto che coincida con il mio lavoro è uno di quei casi che l'umanità ancora non si spiega), così da ora in poi cercherò di scrivere le mie piccole scoperte, le mie prove, le mie esperienze nel mondo del software su questo blog.