Technology Experience

Contenuti gestiti da Igor Damiani
posts - 949, comments - 2741, trackbacks - 15120

My Links

News

  • Questo blog si propone di raccogliere riflessioni, teoriche e pratiche, su tutto quello che riguarda il world-computing che mi sta attorno: programmazione in .NET, software attuale e futuro, notizie provenienti dal web, tecnologia in generale, open-source.

    L'idea è quella di lasciare una sorta di patrimonio personale, una raccolta di idee che un giorno potrebbe farmi sorridere, al pensiero di dov'ero e cosa stavo facendo.

    10/05/2005,
    Milano

Archives

Post Categories

Generale

[HappySign.5] Screenshots e un po' di codice

Due screenshots per soddisfare i curiosi
Siccome so che non state nella pelle, eccovi qualche screenshot interessante. Non li pubblico direttamente in questo post, cliccate sopra i due titoli per vedere le immagini JPG.

Finestra di aggiunta e modifica delle firme

Editor di codice .NET

Nel primo dei due screenshot ho riportato la finestra che si utilizza quando volete aggiungere una nuova firma, oppure quando cliccate con il pulsante destro per modificarne una già esistente. Notato sul lato sinistro la presenza di un bottone, che si abilita solo quando decidiamo di creare una firma dinamica. Tale bottone apre un editor di codice, riportato sul secondo screenshot.

Qualche classe di esempio - I'm listening
Pochi minuti fa, con la collaborazione del mio omonimo Igor, ho realizzato una piccola classe che permette di decorare un testo aggiungendo il titolo e la durata della canzone che state ascoltando con Windows Media Player. Tale classe sfrutta un plug-in per WMP denominato Blogging Plug-in, disponibile sul sito Microsoft a questo indirizzo. Sebbene la pagina riporti la compatibilità con la release 9, funziona anche con i WMP più recenti. Questo plug-in non fa altro che scrivere nel registry le informazioni relative alla canzone.
La classe Happy Sign legge queste chiavi di registro e le ritorna come string per essere impaginate nel testo della firma. Il codice è il seguente:

using Microsoft.Win32;

public class Script : HSCore.IHappySignScript
{
    
private string _title;
    
private string _duration;
    
    
public Script()
    {
        
string key = @"Software\Microsoft\MediaPlayer\CurrentMetadata";
        RegistryKey currentMetadata = Registry.CurrentUser.OpenSubKey(key, 
false);
        _title = (
string)currentMetadata.GetValue("Title", "No Title");
        _duration = (
string)currentMetadata.GetValue("durationString", "0:00");
    }

    
public string GetValueParameter(int WhichParameter)
    {
        
string ret = string.Empty;
    
        
switch(WhichParameter)
        {
            
case 0:
                ret = _title;
                
break;
            
case 1:
                ret = _duration;
                
break;
        }
        
        
return(ret);
    }
}

Per questo post, ho preferito ritornare ad IMHO: il suo editor di codice è 7 anni-luce avanti rispetto a quello che uso in Windows Live Writer. Torniamo a noi. Innanzitutto, il namespace Microsoft.Win32 ci permette di usare la classe RegistryKey. La classe dispone di un costruttore senza parametri: quando facciamo drag'n'drop, viene creata un'istanza della classe. Il costruttora apre la chiave di registro ed inizializza i due membri privati _title e _duration. Notare che il metodo GetValueParameter ha al suo interno uno switch: quando Happy Sign chiama questo metodo la prima volta, passo 0 (zero), e viene ritornato il titolo. La seconda volta passa 1 (uno) e viene ritornata la durata.

Nulla di più semplice: se avete WMP che sta facendo il play di una canzone, basta trascinare da Happy Sign la firma et voilà...il testo è decorato.

Qualche classe di esempio - Spazio libero su C
Se definiamo una firma fatta in questo modo:

Non so voi, ma io ho {0} bytes liberi sul disco C!

e la associamo alla seguente classe:

using System.IO;

public class Script : HSCore.IHappySignScript
{
    
public string GetValueParameter(int WhichParameter)
    {
        System.IO.DriveInfo info = 
new DriveInfo("C:");
        
float freespace = info.AvailableFreeSpace / 1024;
        
return(freespace.ToString());
    }
}

otteniamo una firma che suona più o meno così:

Non so voi, ma io ho 2431120 bytes liberi sul disco C!

Ci sarebbero altri esempi da fare, ma sarebbero troppo ripetitivi. Il concetto è sempre lo stesso: scrivere una classe che implementi l'interfaccia IHappySignScript e farle ritornare uno o più valori necessari alla firma.

powered by IMHO 1.3

Print | posted on martedì 3 ottobre 2006 12:17 | Filed Under [ I miei freeware ]

Feedback

Gravatar

# re: [HappySign.5] Screenshots e un po' di codice

Mmm molto interessante non vedo l' ora che rendi disponibile una Beta per provarlo.
03/10/2006 14:10 | Raffaeu
Gravatar

# Re: [HappySign.5] Screenshots e un po' di codice

NO, NO, rivendico io la paternità dell'articolo su IoProgrammo!!!!!
:-)))))))
ovviamente scherzo, l'autore vero è Igor Antonacci, mentre io sono Igor Damiani...
03/10/2006 15:22 | Igor Damiani
Gravatar

# Happy Sign approda su CodePlex

25/10/2006 13:02 | Technology Experience
Comments have been closed on this topic.

Powered by:
Powered By Subtext Powered By ASP.NET