Coding 4 WP7 Mobile. Sfruttare i feed RSS. Come presentare I dati contenuti in un feed RSS in un App per Winddows Phone 7

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Coding 4 WP7 Mobile. Sfruttare i feed RSS. Come presentare I dati contenuti in un feed RSS in un App per Winddows Phone 7"

Transcript

1 Coding 4 WP7 Mobile Sfruttare i feed RSS Come presentare I dati contenuti in un feed RSS in un App per Winddows Phone 7 Andrea Temporiti 1/19/2011

2 Intro Con l uscita del SDK (Software Developmet Kit) per Windows Phone 7 finalmente anche gli sviluppatori.net possono sbizzarrirsi nel creare applicazioni mobile che siano accattivanti, simpatiche e utili. Inizia la battaglia alle App del melafonino. In questo articolo voglio condividere alcune idee, spunti e prove che potrebbero essere utili nel creare la vostra prima App per Windows Phone 7. Gli strumenti del mestiere Come prima cosa, naturalmente è necessario disporre di tutto l occorrente per creare la propria App. Se siete sviluppatori.net avrete sicuramente l ultima verisone di Visual Studio (VS2010) sul vostro PC, Altrimeniti seguite quanto segue: Se siete sviluppatori.net e non avete ancora Visual Studio 2010 (INSTALLATE!!!!!!!!!!!!!!!!!!!!) Se siete sviluppatori ma avete sempre pensato che.net non fa per voi: (INSTALLATE Visual Studio 2010!!!) Se siete sviluppate applicazioni per Iphone o Ipad, buttate via X-Code e INSTALLATE VISUAL STUDIO 2010 (Vi serve un PC, non provate ad installare Visual Studio su Snow Leopard perchè anche in emulazione va bene). Se preferite le discipline umanistiche alla teconologia: Chiedetevi perchè avete scaricato questo documento, quindi INSTALLATE Visual Studio 2010, non si sa mai. Come avrete capito, per sviluppare una App per il vostro Windowsfonino dovete avere l ambiente di sviluppo. Naturalmente vi serve anche l SDK, o meglio Windows Phone Developer Toolkit e un altro pò di software a supporto. Per semplificarvi la vita, Microsoft ha creato un pacchettino che installa tutto il necessario, compreso Bland, che serve per dare un bel look and feel alla vostra interfaccia grafica. Per gli amanti del softwrae Free, quì trovate la versione gratuita del pacchetto cumulativo: Andate sulla sezione Download the free tools e premete su Install Now. L idea Se in questo momento state installando I tools avete il tempo per mettere da parte il computer per un attimo e iniziare a pensare alla vostra app. Siccome gli Hello World sono belli ma assolutamente inutili, vediamo di costruire qualcosa di un pò più gratificante. L idea per la nostra app in realtà non è molto originale, creeremo una applicazione in grado di fornirci informazioni e previsioni Meteo.

3 Recuperare i dati da visualizzare Il nostro dispositivo Windows Phone, come altri SmartPhone, dispone di sensori e telecamere, in grado di fornirci molte informazioni utili per creare le nostre applicazioni. Tuttavia non ha al suo interno dispositivi in grado di fornirci informazioni meteo o semplicemente la temperatura ambientale. E necessario quindi trovare un altro modo per recuperare i dati che ci servono. Come prima strada proviamo a collegare il nostro Windows Phone ad una statuetta metereopatica, di quelle che cambiano colore in funzione della pressione ambientale... purtroppo niente porta USB o Bluetooth sulla statuetta. Cerchiamo qualcosa di più tecnologico, radiosveglia con stazione meteo incorporata. Bella, costosa ma difficilmente interfacciabile al nosto Windows Phone. Soprattutto diventa un po complicato portarsela dietro... scartata. Ci serve qualcosa di più pratico...girando su internet vi sarà sicuaremnte capitato di imbattervi nei feed RSS. Per chi non sapesse che cosè un feed RSS: RSS (acronimo di RDF Site Summary ed anche di Really Simple Syndication) è uno dei più popolari formati per la distribuzione di contenuti Web; è basato su XML, da cui ha ereditato la semplicità, l'estensibilità e la flessibilità. L'applicazione principale per cui è noto sono i feed RSS, che permettono di essere aggiornati su nuovi articoli o commenti pubblicati nei siti di interesse senza doverli visitare manualmente uno a uno. RSS definisce una struttura adatta a contenere un insieme di notizie, ciascuna delle quali sarà composta da vari campi (nome autore, titolo, testo, riassunto,...). Quando si pubblicano delle notizie in formato RSS, la struttura viene aggiornata con i nuovi dati; visto che il formato è predefinito, un qualunque lettore RSS potrà presentare in una maniera omogenea notizie provenienti dalle fonti più diverse. Wikipedia: Dobbiamo cercare un feed RSS che faccia al caso nostro, da cui possiamo recuperare i dati meteo della nostra città. Finalmente dopo un po di ricerche trovo quello che cercavamo. Yahoo espone i propri dati metereologici via feed RSS e ci fornisce anche una chiara gudia sui come recuperarli programmaticamente. Dopo una rapida letta alla documentazione capiamo che questo feed fa al caso nostro, per fare una prova mettiamo nel browser l indirizzo di test: e riceviamo in output l XML promesso, che ci descrive la condizione del tempo a Sunnville. Siccome probabilmente non ci interessa sapre che tempo fa a Sunnville ma vorremmo avere le previsioni delle nostre città, dobbiamo trovare il nostro WOEID (Where On Earth ID) Il WOEID è un codice che identifica una città ben precisa e va passato al parametro w nella query string.

4 Come avrete capito Yahoo! ha anche un API che ci permette di interrogare il database geografico per trovare la città in base al nome. Da uno sguardo alla documentazione risulta chiaro che dobbiamo interrogare la tabelal geo.places: select * from geo.places where text = Roma In realtà l operatore = funziona da like. Piccola difficoltà, la query sopra va passata in query string all API query.yahooapis.com/v1/public/ e quindi bisogna prima passare la query inun Encoder HTML: select+*+from+geo.places+where+text%3d%22roma%22 Ora possiamo costrutire la nostra url di richiesta: rmat=xml Come risposa riceviamo un enorme XML che contiene tutte le città conosciute contenenti Roma o similari, fortunatamente il primo nodo place restituito è proprio quello desiderato, come si capisce dai nodi evidenziati. Tra i primi nodi figlio del nodo place troviamo quello che stavamo cercando ovvero il WOEID di Roma (721943). <?xml version="1.0" encoding="utf-8"?> <query xmlns:yahoo=" yahoo:count="10" yahoo:created=" t20:45:05z" yahoo:lang="en-us"> <results> <place xmlns=" xml:lang="en-us" yahoo:uri=" <woeid>721943</woeid> <placetypename code="7">town</placetypename> <name>rome</name> <country code="it" type="country">italy</country> <admin1 code="" type="region">lazio</admin1> <admin2 code="it-rm" type="province">rome</admin2> <admin3/> <locality1 type="town">rome</locality1> <locality2/> <postal/> <centroid> <latitude> </latitude> <longitude> </longitude> </centroid> <boundingbox> <southwest> <latitude> </latitude> <longitude> </longitude> </southwest> <northeast> <latitude> </latitude> <longitude> </longitude> </northeast> </boundingbox> <arearank>5</arearank> <poprank>13</poprank> </place> <place xmlns=" xml:lang="en-us"

5 yahoo:uri=" <woeid> </woeid> <placetypename code="7">town</placetypename> <name>roma</name> <country code="us" type="country">united States</country> <admin1 code="us-tx" type="state">texas</admin1> <admin2 code="" type="county">starr</admin2> <admin3/> <locality1 type="town">roma</locality1> <locality2/> <postal type="zip Code">78584</postal> <centroid> <latitude> </latitude> <longitude> </longitude> </centroid> <boundingbox> <southwest> <latitude> </latitude> <longitude> </longitude> </southwest> <northeast> <latitude> </latitude> <longitude> </longitude> </northeast> </boundingbox> <arearank>3</arearank> <poprank>1</poprank> </place>... </results> </query> Ora vediamo cosa succede se modifichiamo il parametro passato alla url di Yahoo! Weather: Ecco finalmente comparire le informazioni che ci interessano, ovvero il meteo di Roma: <?xml version="1.0" encoding="utf-8" standalone="yes"?> <rss version="2.0" xmlns:yweather=" xmlns:geo=" <channel> <title>yahoo! Weather - Rome, IT</title> <link> IT/* st/itxx0067_f.html</link> <description>yahoo! Weather for Rome, IT</description> <language>en-us</language> <lastbuilddate>wed, 19 Jan :14 pm CET</lastBuildDate> <ttl>60</ttl> <yweather:location city="rome" region="lz" country="italy"/> <yweather:units temperature="f" distance="mi" pressure="in" speed="mph"/> <yweather:wind chill="48" direction="150" speed="3" /> <yweather:atmosphere humidity="87" visibility="3.73" pressure="30.06" rising="0" /> <yweather:astronomy sunrise="7:30 am" sunset="5:06 pm"/> <image> <title>yahoo! Weather</title> <width>142</width> <height>18</height> <link> <url>

6 </image> <item> <title>conditions for Rome, IT at 9:14 pm CET</title> <geo:lat>41.9</geo:lat> <geo:long>12.5</geo:long> <link> IT/* st/itxx0067_f.html</link> <pubdate>wed, 19 Jan :14 pm CET</pubDate> <yweather:condition text="mostly Cloudy" code="27" temp="48" date="wed, 19 Jan :14 pm CET" /> <description> <![CDATA[ <img src=" /> <b>current Conditions:</b><br /> Mostly Cloudy, 48 F<BR /> <BR /><b>forecast:</b><br /> Wed - Light Rain Late. High: 57 Low: 46<br /> Thu - AM Light Rain. High: 52 Low: 39<br /> <br /> <a href=" IT/* st/itxx0067_f.html">full Forecast at Yahoo! Weather</a><BR/><BR/> (provided by <a href=" >The Weather Channel</a>)<br/> ]]> </description> <yweather:forecast day="wed" date="19 Jan 2011" low="46" high="57" text="light Rain Late" code="11" /> <yweather:forecast day="thu" date="20 Jan 2011" low="39" high="52" text="am Light Rain" code="11" /> <guid ispermalink="false">itxx0067_2011_01_19_21_14_cet</guid> </item> </channel> </rss> <!-- api4.weather.ch1.yahoo.com compressed/chunked Wed Jan 19 12:44:13 PST > Notare che le unità di misura sono quelle americane. Per trasformare le letture nel sistema MKSC basta passare l ulteriore parametro u (unit) in query string impostandolo al valore c : Prepariamo la soluzione Bene, ora che abbiamo i nostri dati, possiamo iniziare a presentarli. Come prima cosa apriamo Visual Studio 2010 e creiamo un progetto : File->New->Project

7 Scegliamo come template Visual C#->Silverlight For Windows Phone, quindi Selezioniamo Windows Phone Pivot Application. Cambiamo il nome in WP7Meteo e premiamo OK e otteniamo lo scheletro del nostro progetto. Provate a mandare in esecuzione lo scheletro della vostra applicazione, vi si aprirà un emulatore che vi permette di visualizzare due pagine (first e second).

8 Per passare da una pagina all altra posizionate il puntatore del moude al centro della pagina e tenedo simulate un operazione di drag n drop verso sinsitra o destra. (simula lo schermo touch). Tornate in design mode, avrete sicuramente notato che l interfaccia grafica è definita da un fiel XAML (mainpage.xaml) che contiene la definizione della pagina che stiamo visualizzando. <Grid x:name="layoutroot" Background="Transparent"> <!--Pivot Control--> <controls:pivot Title="MY APPLICATION"> <!--Pivot item one--> <controls:pivotitem Header="first"> <!--Double line list with text wrapping--> <ListBox x:name="firstlistbox" Margin="0,0,-12,0" ItemsSource="Binding Items"> <ListBox.ItemTemplate> <DataTemplate> <StackPanel Margin="0,0,0,17" Width="432"> <TextBlock Text="Binding LineOne" TextWrapping="Wrap" Style="StaticResource PhoneTextExtraLargeStyle"/> <TextBlock Text="Binding LineTwo" TextWrapping="Wrap" Margin="12,-6,12,0" Style="StaticResource PhoneTextSubtleStyle"/> </StackPanel> </DataTemplate> </ListBox.ItemTemplate> </ListBox> </controls:pivotitem> <!--Pivot item two--> <controls:pivotitem Header="second"> <!--Triple line list no text wrapping--> <ListBox x:name="secondlistbox" Margin="0,0,-12,0" ItemsSource="Binding Items"> <ListBox.ItemTemplate> <DataTemplate> <StackPanel Margin="0,0,0,17"> <TextBlock Text="Binding LineOne" TextWrapping="NoWrap" Margin="12,0,0,0" Style="StaticResource PhoneTextExtraLargeStyle"/> <TextBlock Text="Binding LineThree" TextWrapping="NoWrap" Margin="12,- 6,0,0" Style="StaticResource PhoneTextSubtleStyle"/> </StackPanel> </DataTemplate> </ListBox.ItemTemplate>

9 </ListBox> </controls:pivotitem> </controls:pivot> </Grid> Apriamo la soluzione con Blend: Sulla spalla sinistra un albero riporta i componenti della nostra interfaccia:

10 Recupero dei dati da codice Ora che abbiamo creato il progetto è necessario scrivere un po di codice per leggere i dati XML dal feed e caricarli all interno di una classe C#. Normalmente C# permette di leggere i feed con un apposito binding WCF chiamato Sindacation. Sfortunatamente il framework.net fornito con WP non dispone di quelle classi, quindi dobbiamo trovare un work around. Come prima cosa dobiamo ricavare uno schema compatibile con l XML ricavato in output dalla chiamata. Per fare questo salviamo come c:\forecastrss.xml l XML ricavato mettendo nel browser la url: Usiamo quindi l utility XSD.exe per generare l XSD relativo. Xsd.exe è un utility da riga di comando disponibile da prompt dei comandi di Visual Studio Start->All Programs->Microsoft visual Studio 2010-> Visual Studio Tools-> Visual Studio Command Prompt (2010) Qundi digitiamo il commando : xsd c:\forecastrss.xml /outputdir:c:\

11 Se controllimao la directory c:\ troviamo in realtà 3 file c:\forecastrss.xsd c:\forecastrss_app1.xsd e c:\forecastrss_app2.xsd. Questo perchè il tool ha generato un file XSD per ogni namespace trovato nel file XML di origne.ora usiamo nuovamente il tool XSD per generare le classi C# Il fatto di avere lo schema diviso in tre classi distinte complica un po il successivo passo. Dobbiamo fornire a XSD tutti e tre gli schema files. (Attenzione nel help del comando XSD questa procedura non è documentata ma funziona, provare per credere). Digitate da riga di comando: xsd c:\forecastrss.xsd c: forecastrss_app1.xsd c:/forecastrss_app2.xsd /classes /l:cs /outputdir:c:\

12 Il file cs con le classi veine generato come forecastrss_app2.cs. Tornate al vostro progetto, create una cartella chiamata YahooModel e importate al suo interno il file CS generato dopo averlo rinominato in forecastrss.cs. Importate anche i file XSD. Apriamo la classe e eliminamo tutti gli attributi decorativi: [System.SerializableAttribute()]

13 e [System.ComponentModel.DesignerCategoryAttribute("code")] Modifichiamo la proprietà forecast dell oggetto channelitem in modo da farla diventare un array: /// <remarks/> [System.Xml.Serialization.XmlElementAttribute(Namespace=" /1.0")] public forecast[] forecast get return this.forecastfield; set this.forecastfield = value; Fate la stessa coda con la variabile relativa: private forecast[] forecastfield; Ora che abbiamo la classe, dobbiamo scrivere il codice necessario per recuperare i dati da Yahoo tramite una post HTTP. Prima di scrivere il codice diamo un occhiata al pattern previsto dallo scheletro del progetto. Chi ha dimestichezza con WPF e Silverlight avrà già individuato la cartella ViewModel. Anche in questo caso utilizzeremo l ormai noto pattern Model View ViewModel per separare la vista dal modello. Nella cartella ViewModel troviamo già il file MainPageViewModel.cs, apriamolo e svuotiamolo dei contenuti a meno dell implementazione dell interfaccia IPropertyChanged, che risulterà utile: namespace WP7Meteo public class MainViewModel : INotifyPropertyChanged public MainViewModel() public event PropertyChangedEventHandler PropertyChanged; private void NotifyPropertyChanged(String propertyname) PropertyChangedEventHandler handler = PropertyChanged; if (null!= handler) handler(this, new PropertyChangedEventArgs(propertyName));

14 Aggiungiamo ora la reference all assembly Syste.Xml.Serialization, che contiene la classe XmlSerializer. Utilizzeremo la classe per deserializzare l XML ricevuto da Yahoo come risposta alla query. Aggiungiamo nella sezione using il namespace System.Windows.Threading using System.Windows.Threading; using System.Net; using System.Xml.Serialization; Dichiarimao le due variabili di classe e la proprietà: public Dispatcher Dispatcher get; set; private rss forecast; public bool IsDataLoaded set; get; Aggiungiamo la proprietà Forecast di tipo rss: public rss Forecast get return forecast; set if (value!= forecast) forecast = value; Dispatcher.BeginInvoke(delegate() NotifyPropertyChanged("Forecast"); ); Nel costruttore impostiamo IsDataLoaded = false; La classe ViewModel ora risulterà come segue: using System.Diagnostics; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Shapes; using System.Collections.ObjectModel; using System.Windows.Threading; using System.Net; using System.Xml.Serialization; namespace WP7Meteo

15 public class MainViewModel : INotifyPropertyChanged public Dispatcher Dispatcher get; set; private rss forecast; public bool IsDataLoaded set; get; public MainViewModel() IsDataLoaded = false; public rss Forecast get return forecast; set if (value!= forecast) forecast = value; Dispatcher.BeginInvoke(delegate() NotifyPropertyChanged("Forecast"); ); public event PropertyChangedEventHandler PropertyChanged; private void NotifyPropertyChanged(String propertyname) PropertyChangedEventHandler handler = PropertyChanged; if (null!= handler) handler(this, new PropertyChangedEventArgs(propertyName)); A questo punto aggiungiamo il metodo loadforecast e il metodo c_operreadcompleted: private void loadforecast() WebClient c = new WebClient(); string uripath c.openreadcompleted += new OpenReadCompletedEventHandler(c_OpenReadCompleted); c.openreadasync(new Uri(uriPath)); void c_openreadcompleted(object sender, OpenReadCompletedEventArgs e)

16 XmlSerializer s = new XmlSerializer(typeof(rss)); rss q = (rss)s.deserialize(e.result); if (e.error == null) Forecast = q; L implementazione del metodo effettua la richiesta web tramite la classe WebClient. E importante non bloccare l interfaccia, per questo motivo la classe WebClient (per mobile) non implementa il metodo sincrono di request. Sull evento di callback deserializziamo quindi la risposta, se positiva, e l assegnamo alla variabile Forecast. Aggiungete infine il emtodo LoadData(): public void LoadData(Dispatcher dispatcher) this.dispatcher = dispatcher; loadforecast(); Aprire la classe App.xaml.cs e rimuovere il codice contenuto nel metodo di attivazione: // Code to execute when the application is activated (brought to foreground) // This code will not execute when the application is first launched private void Application_Activated(object sender, ActivatedEventArgs e) Aprire MainPage.xaml.cs e modificare l implementaione del gestore evento MainPage_OnLoad: // Load data for the ViewModel Items private void MainPage_Loaded(object sender, RoutedEventArgs e) if (!App.ViewModel.IsDataLoaded) App.ViewModel.LoadData(this.Dispatcher); Creazione dell interfaccia Torniamo ora sull interfaccia MainPage.XAML e svuotiamo la parte di XAML contenuta all interno dei due pivot Item. Rinominamoli in Current e Forecast, rinominamo MY APPLICATION in YAHOO! WEATHER FORECAST for WP7

17 All interno del PivotItem Current vogliamo ora creare l interfaccia per la visualizzazione dello stato meteo attuale. Aggiungiamo una griglia inserendo un nodo Grid all interno del primo Pivot Item: <Grid x:name="layoutroot" Background="Transparent"> <!--Pivot Control--> <controls:pivot Title="MY APPLICATION"> <!--Pivot item one--> <controls:pivotitem Header="Current"> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="*" /> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition Height="80" /> <RowDefinition Height="200" /> <RowDefinition Height="80" /> <RowDefinition Height="80" /> <RowDefinition Height="40" /> <RowDefinition Height="40" /> </Grid.RowDefinitions> </Grid> </controls:pivotitem> <controls:pivotitem Header="Forecast"> </controls:pivotitem> </controls:pivot> </Grid> In questo modo abbiamo predisposto una griglia con 6 righe e una colonna. Visual Studio ci mostra la griglia sul designer:

18 Aggiungiamo nello XAML della griglia le seguenti 3 righe: <TextBlock x:name="actualtitle" Text="Situazione meteo Roma" Grid.Row="0" FontSize="32" VerticalAlignment="Center" /> <TextBlock Grid.Row="4" HorizontalAlignment="Center" Text="Updated at" VerticalAlignment="Center" />

19 <TextBlock Grid.Row="5" HorizontalAlignment="Center" Text="Binding Forecast.channel[0].item[0].condition.date, Mode=OneWay,UpdateSourceTrigger=Default" VerticalAlignment="Center" /> Poichè sono stati impostati I parametric Gri.Row di ogni TextBlock, gli elementi grafici verrano visualizzati rispettivamente nella prima, nella quinta e nella sesta riga. Mentre i primi due blcchi testo hanno un contenuto statico, l ultimo TextBlock recupera le informazioni da visualizzare dall oggetto Forecast. (Ricordate la proprietà caricata leggendo i dati dalla risposta delle API Yahoo all interno del viewmodel). Si noti che il binding è definito sulla data di aggiornamento, facilemnte individuabile controllando l XML recueprato inserendo la richiesta nel browser. In evidenza nell riquadro seguente: <?xml version="1.0" encoding="utf-8" standalone="yes"?> <rss version="2.0" xmlns:yweather=" xmlns:geo=" <channel> <title>yahoo! Weather - Rome, IT</title> <link> IT/* st/itxx0067_f.html</link> <description>yahoo! Weather for Rome, IT</description> <language>en-us</language> <lastbuilddate>wed, 19 Jan :14 pm CET</lastBuildDate> <ttl>60</ttl> <yweather:location city="rome" region="lz" country="italy"/> <yweather:units temperature="f" distance="mi" pressure="in" speed="mph"/> <yweather:wind chill="48" direction="150" speed="3" /> <yweather:atmosphere humidity="87" visibility="3.73" pressure="30.06" rising="0" /> <yweather:astronomy sunrise="7:30 am" sunset="5:06 pm"/> <image> <title>yahoo! Weather</title> <width>142</width> <height>18</height> <link> <url> </image> <item> <title>conditions for Rome, IT at 9:14 pm CET</title> <geo:lat>41.9</geo:lat> <geo:long>12.5</geo:long> <link> IT/* st/itxx0067_f.html</link> <pubdate>wed, 19 Jan :14 pm CET</pubDate> <yweather:condition text="mostly Cloudy" code="27" temp="48" date="wed, 19 Jan :14 pm CET" /> <description> <![CDATA[ <img src=" /> <b>current Conditions:</b><br /> Mostly Cloudy, 48 F<BR /> <BR /><b>forecast:</b><br /> Wed - Light Rain Late. High: 57 Low: 46<br /> Thu - AM Light Rain. High: 52 Low: 39<br /> <br /> <a

20 href=" IT/* st/itxx0067_f.html">full Forecast at Yahoo! Weather</a><BR/><BR/> (provided by <a href=" >The Weather Channel</a>)<br/> ]]> </description> <yweather:forecast day="wed" date="19 Jan 2011" low="46" high="57" text="light Rain Late" code="11" /> <yweather:forecast day="thu" date="20 Jan 2011" low="39" high="52" text="am Light Rain" code="11" /> <guid ispermalink="false">itxx0067_2011_01_19_21_14_cet</guid> </item> </channel> </rss> Proviamo ad avviare l applicazione premendo F5, noteremo che la data comparirà al centro in basso sull interfaccia dell emulatore: Ora vogliamo aggiungere le informazioni sulla temperatura attuale, massima e minima contenute nella classe Forecast.

21 Aggiungiamo quindi i seguenti oggetti all interno della griglia: <TextBlock Grid.Row="2" Text="Binding Forecast.channel[0].item[0].condition.text, Mode=OneWay,UpdateSourceTrigger=Default" FontSize="28" HorizontalAlignment="Center" VerticalAlignment="Center"/> <Grid Grid.Row="3"> <Grid.ColumnDefinitions> <ColumnDefinition Width="50*" /> <ColumnDefinition Width="25*" /> <ColumnDefinition Width="25*" /> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition Height="50*" /> <RowDefinition Height="50*" /> </Grid.RowDefinitions> <TextBlock Grid.Row="0" Grid.RowSpan="2" Grid.Column="0" HorizontalAlignment="Center" Text="Binding Forecast.channel[0].item[0].condition.temp, Mode=OneWay,UpdateSourceTrigger=Default" VerticalAlignment="Center" FontSize="50" /> <TextBlock Grid.Row="1" Grid.Column="1" HorizontalAlignment="Left" Text="High" VerticalAlignment="Center" FontSize="24" Margin="10,0,10,0" /> <TextBlock Grid.Row="1" Grid.Column="2" HorizontalAlignment="Left" Text="Binding Forecast.channel[0].item[0].forecast[0].high, Mode=OneWay,UpdateSourceTrigger=Default" VerticalAlignment="Center" FontSize="24" /> <TextBlock Grid.Row="0" Grid.Column="1" HorizontalAlignment="Left" Text="Low" VerticalAlignment="Center" FontSize="24" Margin="10,0,10,0" /> <TextBlock Grid.Row="0" Grid.Column="2" HorizontalAlignment="Left" Text="Binding Forecast.channel[0].item[0].forecast[0].low, Mode=OneWay,UpdateSourceTrigger=Default" VerticalAlignment="Center" FontSize="24" /> </Grid> Il codice XAML assomiglierà a quanto descritto di seguito:

22 Come possiamo notare, abbiamo aggiunto una ulteriore girglia all interno della griglia principale in modo da poter disporre gli elementi grafici interni (High e Low) a destra del valore attuale. Il funzionamento è simile a quello delle dichiarative tabelle HTML come dimostra l uso degli attributi RowSpan e ColumnSpan sugli elementi contenuti.

23 Utilizzo dei converter Ora che abbiamo gran parte dei dati visualizzati, pensiamo è necessario abbellire l interfaccia: Mettiamo l unità di misura per i gradi Inseriamo un immagine che varia in funzione dello stato meteo (sole, pioggia, nebbia ecc.) Per inserire l unità di misura, basterebbe modificare la classe Forecast. Per scopi didattici, preferiamo creare un oggetto Converter. Ovvero una classe in grado di convertire un dato in ingreso in un nuovo tipo in uscita o semplicemente variarne il formato. I converter sono ampiamenti utilizzati nel pattern Model View-ViewModel perchè permettono di definire come interpretare una proprietà di un oggeto direttamente all interno del file XAML nella sezione Binding. Nel nostro caso utilizzeremo due converter :

24 Il primo converter inserirà semplicemente l unità di misura ai dati di temperatura prima che questi vengano presentati Il secondo converter dovrà individuare l immagine da sivualizzare analizzando il valore dell elemento code (intero tra 0 e 47) del nodo forecst*0+.condition. Creiamo una nuova cartella denominata Converters. Creiamo una nuova classe denominata TemperatureConverter che implementa l interfaccia System.Windows.Data.IValueConverter: using System; using System.Net; using System.Windows; using System.Windows.Controls; using System.Windows.Documents; using System.Windows.Ink; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Animation; using System.Windows.Shapes; using System.Windows.Data; namespace WP7Meteo.Converters public class TemperatureConverter : IValueConverter #region IValueConverter Members public object Convert(object value, Type targettype, object parameter, System.Globalization.CultureInfo culture) if (value!= null) return String.Format("0 C", value); else return null; public object ConvertBack(object value, Type targettype, object parameter, System.Globalization.CultureInfo culture) return null; #endregion Creiamo una nuova classe che funga da convertitore di immagini. Per il momento ipotiziamo di avere le immagini pronte in formato.png in una cartella denominata Images all intero del progetto. Più avanti vedremo come prelevare le immagini dal sito di Yahoo!: using System; using System.Net; using System.Windows;

25 using System.Windows.Controls; using System.Windows.Documents; using System.Windows.Ink; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Animation; using System.Windows.Shapes; using System.Windows.Media.Imaging; using System.Globalization; using System.Windows.Data; namespace WP7Meteo.Converters public class WeatherCodeToImageConverter:IValueConverter public object Convert(object value, Type targettype, object parameter, CultureInfo culture) string code = value as string; int integercode = int.parse(code); BitmapImage image = new BitmapImage(new Uri(String.Format(@"/WP7Meteo;component/Images/0.png", integercode), UriKind.Relative)); return image; public object ConvertBack(object value, Type targettype, object parameter, CultureInfo culture) return null; Aggiungiamo i converter nella pagina MainPage.xaml subito sotto al nodo Phone dell applicazione. Stando attenti ad aggiungere anche il namespace clr: <phone:phoneapplicationpage x:class="wp7meteo.mainpage" xmlns=" xmlns:x=" xmlns:phone="clr-namespace:microsoft.phone.controls;assembly=microsoft.phone" xmlns:shell="clr-namespace:microsoft.phone.shell;assembly=microsoft.phone" xmlns:controls="clrnamespace:microsoft.phone.controls;assembly=microsoft.phone.controls" xmlns:d=" xmlns:mc=" mc:ignorable="d" d:designwidth="480" d:designheight="768" d:datacontext="d:designdata SampleData/MainViewModelSampleData.xaml" FontFamily="StaticResource PhoneFontFamilyNormal" FontSize="StaticResource PhoneFontSizeNormal" Foreground="StaticResource PhoneForegroundBrush" SupportedOrientations="Portrait" Orientation="Portrait" shell:systemtray.isvisible="true" xmlns:my="clr-namespace:wp7meteo.converters"> <phone:phoneapplicationpage.resources> <my:weathercodetoimageconverter x:key="weathercodetoimageconverter1" />

26 <my:temperatureconverter x:key="temperatureconverter1" /> </phone:phoneapplicationpage.resources> Ora inseriamo i converter nei binding degli elelemnti della griglia di presentazione dati e aggiungiamo anche l immagine, che per il momento non comparirà per mancanza dei file png. Riporto tutto il PivotItem per completezza: <controls:pivotitem Header="Current"> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="*" /> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition Height="80" /> <RowDefinition Height="200" /> <RowDefinition Height="80" /> <RowDefinition Height="80" /> <RowDefinition Height="40" /> <RowDefinition Height="40" /> </Grid.RowDefinitions> <TextBlock x:name="actualtitle" Text="Situazione meteo Roma" Grid.Row="0" FontSize="32" VerticalAlignment="Center" /> <Image Source="Binding Mode=OneWay, UpdateSourceTrigger=Default, Path=Forecast.channel[0].item[0].condition.code, Converter=StaticResource WeatherCodeToImageConverter1" Grid.Row="1" RenderTransformOrigin="0.5,0.5" HorizontalAlignment="Center" VerticalAlignment="Center" /> <TextBlock Text="Binding Forecast.channel[0].item[0].condition.text, Mode=OneWay,UpdateSourceTrigger=Default" Grid.Row="2" FontSize="28" HorizontalAlignment="Center" VerticalAlignment="Center"/> <Grid Grid.Row="3"> <Grid.ColumnDefinitions> <ColumnDefinition Width="50*" /> <ColumnDefinition Width="25*" /> <ColumnDefinition Width="25*" /> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition Height="50*" /> <RowDefinition Height="50*" /> </Grid.RowDefinitions> <TextBlock Grid.Row="0" Grid.RowSpan="2" Grid.Column="0" HorizontalAlignment="Center" Text="Binding Forecast.channel[0].item[0].condition.temp, Mode=OneWay,UpdateSourceTrigger=Default, Converter=StaticResource TemperatureConverter1" VerticalAlignment="Center" FontSize="50" /> <TextBlock Grid.Row="1" Grid.Column="1" HorizontalAlignment="Left" Text="High" VerticalAlignment="Center" FontSize="24" Margin="10,0,10,0" /> <TextBlock Grid.Row="1" Grid.Column="2" HorizontalAlignment="Left" Text="Binding Forecast.channel[0].item[0].forecast[0].high, Mode=OneWay,UpdateSourceTrigger=Default, Converter=StaticResource TemperatureConverter1" VerticalAlignment="Center" FontSize="24" /> <TextBlock Grid.Row="0" Grid.Column="1" HorizontalAlignment="Left" Text="Low" VerticalAlignment="Center" FontSize="24" Margin="10,0,10,0" /> <TextBlock Grid.Row="0" Grid.Column="2" HorizontalAlignment="Left" Text="Binding Forecast.channel[0].item[0].forecast[0].low, Mode=OneWay,UpdateSourceTrigger=Default, Converter=StaticResource TemperatureConverter1" VerticalAlignment="Center" FontSize="24" /> </Grid> <TextBlock Grid.Row="4" HorizontalAlignment="Center" Text="Updated at" VerticalAlignment="Center" /> <TextBlock Grid.Row="5" HorizontalAlignment="Center" Text="Binding Forecast.channel[0].item[0].condition.date, Mode=OneWay,UpdateSourceTrigger=Default" VerticalAlignment="Center" /> </Grid> </controls:pivotitem>

27 Ora preleviamo le immagini da yahoo. Andaimo sul portale e vediamo se yahoo ha delle imagini da fornire alla nostra app di prova.

28 La pagina visualizzata riporta l icona Tramite il Tool dev di Internet Explore punto la url dell icona: L icona si trova qui: Dalla documentazione delle API sappiamo che i codici vanno da 0 a 48, quindi presupponiamo che ci siano 49 png da scaricare e includere nella nostra App. Piuttosto che scaricarle manualmente, scriviamo una piccola applicazione console in un progetto console a parte e inserimao il seguente codice nel main. Fate attenzione ad predisporre la cartella di destinazione. static void Main(string[] args) WebClient c = new WebClient(); for (int i = 0; i <= 48; i++)

29 using (System.IO.FileStream fs = System.IO.File.OpenWrite(@"C:\Pictures\WeatherYH\"+i.ToString()+".png")) using (System.IO.Stream s = c.openread(" + i.tostring() + "n.png")) s.copyto(fs); fs.flush(); fs.close(); Eseguitelo e troverete tutte e 49 le immagini nella cartella che avete prevetivamente creato. Ora inseritele nel progetto sotto la cartella Images, ricompilate e avviate l applicaizone sull emulatore. Dovreste avere il seguente risultato.

30

Servizio Feed RSS del sito CNIT

Servizio Feed RSS del sito CNIT Servizio Feed RSS del sito CNIT Informiamo tutti gli utenti CNIT che è possibile sincronizzare i propri Reader (RSS) per essere aggiornati in tempo reale sulle nuove pubblicazioni di articoli postati sul

Dettagli

NUOVA PROCEDURA COPIA ED INCOLLA PER L INSERIMENTO DELLE CLASSIFICHE NEL SISTEMA INFORMATICO KSPORT.

NUOVA PROCEDURA COPIA ED INCOLLA PER L INSERIMENTO DELLE CLASSIFICHE NEL SISTEMA INFORMATICO KSPORT. NUOVA PROCEDURA COPIA ED INCOLLA PER L INSERIMENTO DELLE CLASSIFICHE NEL SISTEMA INFORMATICO KSPORT. Con l utilizzo delle procedure di iscrizione on line la società organizzatrice ha a disposizione tutti

Dettagli

tommaso.iacomino@gmail.com INTERNET EXPLORER Guida introduttiva CAPITOLO 1 Fig. 1

tommaso.iacomino@gmail.com INTERNET EXPLORER Guida introduttiva CAPITOLO 1 Fig. 1 INTERNET EXPLORER Guida introduttiva CAPITOLO 1 Fig. 1 IMPORTANTE: forse non visualizzate questa barra, se così fosse usiamo questa procedura: posizioniamo il cursore sulla parte vuota tasto destro del

Dettagli

Office 2007 Lezione 02. Le operazioni più

Office 2007 Lezione 02. Le operazioni più Le operazioni più comuni Le operazioni più comuni Personalizzare l interfaccia Creare un nuovo file Ieri ci siamo occupati di descrivere l interfaccia del nuovo Office, ma non abbiamo ancora spiegato come

Dettagli

Visual basic base Lezione 01. L'ambiente di sviluppo

Visual basic base Lezione 01. L'ambiente di sviluppo L'ambiente di sviluppo L'ambiente di sviluppo Visual basic è un linguaggio di programmazione Microsoft. In questo corso prenderemo in considerazione, l'ultima versione. net di questo linguaggio. Microsoft

Dettagli

Innanzitutto andiamo sul sito http://www.dropbox.com/ ed eseguiamo il download del programma cliccando su Download Dropbox.

Innanzitutto andiamo sul sito http://www.dropbox.com/ ed eseguiamo il download del programma cliccando su Download Dropbox. Oggi parlerò di qualcosa che ha a che fare relativamente con la tecnica fotografica, ma che ci può dare una mano nella gestione dei nostri archivi digitali, soprattutto nel rapporto professionale con altre

Dettagli

ICARO Terminal Server per Aprile

ICARO Terminal Server per Aprile ICARO Terminal Server per Aprile Icaro è un software aggiuntivo per Aprile (gestionale per centri estetici e parrucchieri) con funzionalità di terminal server: gira sullo stesso pc dove è installato il

Dettagli

IRSplit. Istruzioni d uso 07/10-01 PC

IRSplit. Istruzioni d uso 07/10-01 PC 3456 IRSplit Istruzioni d uso 07/10-01 PC 2 IRSplit Istruzioni d uso Indice 1. Requisiti Hardware e Software 4 1.1 Requisiti Hardware 4 1.2 Requisiti Software 4 2. Installazione 4 3. Concetti fondamentali

Dettagli

Installazione e Configurazione della strumentazione necessaria. Antonio Gallo info@laboratoriolibero.com

Installazione e Configurazione della strumentazione necessaria. Antonio Gallo info@laboratoriolibero.com Installazione e Configurazione della strumentazione necessaria Antonio Gallo info@laboratoriolibero.com Installazione e Configurazione della strumentazione necessaria Programmi accessori per poter sviluppare

Dettagli

Appunti di Informatica www.mimmocorrado.it 1

Appunti di Informatica www.mimmocorrado.it 1 Installare Java Il programma può essere scaricato dal seguente indirizzo: http://www.java.com/it/download/windows_ie.jsp?locale=it&host=www.java.com Per installare la JDK è necessario: 1. scaricare il

Dettagli

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti Capitolo 3 L applicazione Java Diagrammi ER Dopo le fasi di analisi, progettazione ed implementazione il software è stato compilato ed ora è pronto all uso; in questo capitolo mostreremo passo passo tutta

Dettagli

Guida all uso di Java Diagrammi ER

Guida all uso di Java Diagrammi ER Guida all uso di Java Diagrammi ER Ver. 1.1 Alessandro Ballini 16/5/2004 Questa guida ha lo scopo di mostrare gli aspetti fondamentali dell utilizzo dell applicazione Java Diagrammi ER. Inizieremo con

Dettagli

ATOLLO BACKUP GUIDA INSTALLAZIONE E CONFIGURAZIONE

ATOLLO BACKUP GUIDA INSTALLAZIONE E CONFIGURAZIONE ATOLLO BACKUP GUIDA INSTALLAZIONE E CONFIGURAZIONE PREMESSA La presente guida è da considerarsi come aiuto per l utente per l installazione e configurazione di Atollo Backup. La guida non vuole approfondire

Dettagli

Modulo. Programmiamo in Pascal. Unità didattiche COSA IMPAREREMO...

Modulo. Programmiamo in Pascal. Unità didattiche COSA IMPAREREMO... Modulo A Programmiamo in Pascal Unità didattiche 1. Installiamo il Dev-Pascal 2. Il programma e le variabili 3. Input dei dati 4. Utilizziamo gli operatori matematici e commentiamo il codice COSA IMPAREREMO...

Dettagli

MODULO 5 ACCESS Basi di dati. Lezione 4

MODULO 5 ACCESS Basi di dati. Lezione 4 MODULO 5 ACCESS Basi di dati Lezione 4 ARGOMENTI Lezione 4 Filtrare i dati Esempio 1 Query Cos è Creare Query in visualizza struttura Criteri di ricerca Esempio 2 Esempio 3 Esempio 4 Creare Query in creazione

Dettagli

1. Il Client Skype for Business

1. Il Client Skype for Business 1. Il Client Skype for Business 2. Configurare una Periferica Audio 3. Personalizzare una Periferica Audio 4. Gestire gli Stati di Presenza 5. Tabella Stati di Presenza 6. Iniziare una Chiamata 7. Iniziare

Dettagli

Dopo aver installato WSFTP.le, alla prima schermata quando lo apriamo vedremo questo.

Dopo aver installato WSFTP.le, alla prima schermata quando lo apriamo vedremo questo. Dopo aver installato WSFTP.le, alla prima schermata quando lo apriamo vedremo questo. clicchiamo su Continue nella finestra successiva, spuntiamo la voce Other e clicchiamo su Next Nella terza schermata

Dettagli

Guida informatica per l associazione #IDEA

Guida informatica per l associazione #IDEA Guida informatica per l associazione #IDEA Questa guida vi spiegherà come utilizzare al meglio gli strumenti informatici che utilizza l associazione #IDEA in modo da facilitare il coordinamento con tutti

Dettagli

Office 2007 Lezione 08

Office 2007 Lezione 08 Word: gli stili veloci e i temi Da questa lezione, iniziamo ad occuparci delle innovazioni che riguardano specificamente Word. Cominceremo parlando di stili e temi. Nella filosofia di questo nuovo Word,

Dettagli

Manuale per la configurazione di AziendaSoft in rete

Manuale per la configurazione di AziendaSoft in rete Manuale per la configurazione di AziendaSoft in rete Data del manuale: 7/5/2013 Aggiornamento del manuale: 2.0 del 10/2/2014 Immagini tratte da Windows 7 Versione di AziendaSoft 7 Sommario 1. Premessa...

Dettagli

Dispositivo Firma Digitale

Dispositivo Firma Digitale Dispositivo Firma Digitale DFD - Manuale Operativo del Dispositivo per i Tesseramenti Indice Per accertare che il DFD sia funzionante:... 1 Inserimento del DFD... 1 Come controllare i Certificati... 2

Dettagli

Programmare in Java. Olga Scotti

Programmare in Java. Olga Scotti Programmare in Java Olga Scotti Linguaggi di programmazione linguaggio macchina assembler linguaggi ad alto livello Linguaggi ad alto livello istruzioni comprensibili linguaggio simile a quello naturale

Dettagli

PRODUZIONE PAGELLE IN FORMATO PDF

PRODUZIONE PAGELLE IN FORMATO PDF Requisiti minimi: PRODUZIONE, FIRMA E PUBBLICAZIONE DELLA PAGELLA ELETTRONICA CON ALUNNI WINDOWS PRODUZIONE PAGELLE IN FORMATO PDF Argo Alunni Windows aggiornato alla versione più recente. Adobe PDF CREATOR,

Dettagli

Biblioteca di Cervia NOZIONI BASE DI INFORMATICA

Biblioteca di Cervia NOZIONI BASE DI INFORMATICA Biblioteca di Cervia NOZIONI BASE DI INFORMATICA NOZIONI DI INFORMATICA Il PC è composto solitamente di tre parti principali: - Il Case, ovvero il contenitore del cuore del computer, da qui si accende

Dettagli

per scrivere un articolo da prima pagina! per inviare una newsletter Come si crea Comunicazione Anfaa Edizione 4a.2013

per scrivere un articolo da prima pagina! per inviare una newsletter Come si crea Comunicazione Anfaa Edizione 4a.2013 per scrivere un articolo da prima pagina! Quando si vuole inserire un articolo che compaia nel riquadro Ultime notizie della home page, si deve impostare la categoria Ultime notizie, in aggiunta a quella

Dettagli

INDICE. Accesso al Portale Pag. 2. Nuovo preventivo - Ricerca articoli. Pag. 4. Nuovo preventivo Ordine. Pag. 6. Modificare il preventivo. Pag.

INDICE. Accesso al Portale Pag. 2. Nuovo preventivo - Ricerca articoli. Pag. 4. Nuovo preventivo Ordine. Pag. 6. Modificare il preventivo. Pag. Gentile Cliente, benvenuto nel Portale on-line dell Elettrica. Attraverso il nostro Portale potrà: consultare la disponibilità dei prodotti nei nostri magazzini, fare ordini, consultare i suoi prezzi personalizzati,

Dettagli

File, Modifica, Visualizza, Strumenti, Messaggio

File, Modifica, Visualizza, Strumenti, Messaggio Guida installare account in Outlook Express Introduzione Questa guida riguarda di sicuro uno dei programmi maggiormente usati oggi: il client di posta elettronica. Tutti, ormai, siamo abituati a ricevere

Dettagli

PROGETTO PER LA TRASMISSIONE DOCUMENTI RELATIVI ALL APPROVAZIONE DELLE MANIFESTAZIONI IN FORMA DIGITALE

PROGETTO PER LA TRASMISSIONE DOCUMENTI RELATIVI ALL APPROVAZIONE DELLE MANIFESTAZIONI IN FORMA DIGITALE PROGETTO PER LA TRASMISSIONE DOCUMENTI RELATIVI ALL APPROVAZIONE DELLE MANIFESTAZIONI IN FORMA DIGITALE L approvazione di una manifestazione nazionale od internazionale comporta spesso la trasmissione

Dettagli

ISTRUZIONI XCODE. Autore: Luca Florio (luca.florio<at>polimi.it)

ISTRUZIONI XCODE. Autore: Luca Florio (luca.florio<at>polimi.it) ISTRUZIONI XCODE Autore: Luca Florio (luca.floriopolimi.it) XCode è l ambiente di sviluppo fornito da Apple che permette la creazione di applicazioni OSX e iphone. In questa guida vedremo come installarlo

Dettagli

Backup e Aggiornamenti

Backup e Aggiornamenti Backup e Aggiornamenti Note tecniche Clima Estratto da Primi Passi v. 1.8 14/1/2013 Primi passi pag. 1 Backup e Aggiornamenti Copyright Eskimo srl Tutti i diritti riservati. Il software o parte di esso

Dettagli

Tale attività non è descritta in questa dispensa

Tale attività non è descritta in questa dispensa Fondamenti di informatica Oggetti e Java ottobre 2014 1 Nota preliminare L installazione e l uso di Eclipse richiede di aver preliminarmente installato Java SE SDK Tale attività non è descritta in questa

Dettagli

11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0

11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0 11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0 PAG. 2 DI 38 INDICE 1. PREMESSA 3 2. SCARICO DEL SOFTWARE 4 2.1 AMBIENTE WINDOWS 5 2.2 AMBIENTE MACINTOSH 6 2.3 AMBIENTE

Dettagli

Per scrivere una procedura che non deve restituire nessun valore e deve solo contenere le informazioni per le modalità delle porte e controlli

Per scrivere una procedura che non deve restituire nessun valore e deve solo contenere le informazioni per le modalità delle porte e controlli CODICE Le fonti in cui si possono trovare tutorial o esempi di progetti utilizzati con Arduino si trovano nel sito ufficiale di Arduino, oppure nei forum di domotica e robotica. Il codice utilizzato per

Dettagli

Joomla: Come installarlo e come usarlo. A cura di

Joomla: Come installarlo e come usarlo. A cura di Joomla: Come installarlo e come usarlo. A cura di In questa dispensa andremo a vedere come si installa joomla sul noto software xampp e come viene usato per creare siti web dinamici. Tecnol earn Firmato

Dettagli

Configurare TPTP in Eclipse e testare un applicazione

Configurare TPTP in Eclipse e testare un applicazione Configurare TPTP in Eclipse e testare un applicazione Questa guida concentra la sua attenzione sul tool TPTP (Test & Performance Tools Platform) presente nell ambiente di sviluppo Eclipse. Verrà descritta

Dettagli

STRUMENTO PER LA COMPRESSIONE E LA CRIPTAZIONE DI FILE

STRUMENTO PER LA COMPRESSIONE E LA CRIPTAZIONE DI FILE Programma di COMPRESSIONE E CRIPTAZIONE SECRETZIP (solo Windows). Il programma è incluso nell USB Flash Drive. Consultare il manuale contenuto nell USB Flash Drive o visitare il sito: www. integralmemory.com

Dettagli

Utilizzo della Intranet, forum privati Soci e Staff

Utilizzo della Intranet, forum privati Soci e Staff Utilizzo della Intranet, forum privati Soci e Staff Se durante la registrazione ad Associazioni Milano avete fatto richiesta del servizio denominato Intranet, questo sarà subito disponibile già a partire

Dettagli

ProgettAzione V anno Unità 3 - Architetture per applicazioni web Lezione: Esempio sviluppo applicazioni

ProgettAzione V anno Unità 3 - Architetture per applicazioni web Lezione: Esempio sviluppo applicazioni Unità 3 - Architetture per applicazioni web Lezione: Esempio sviluppo applicazioni Web service Hello world con Visual Studio 2012 Si tratta di un semplice esempio di web service, infatti come tutti I programmi

Dettagli

Visual Studio 2010 RC Ria Services - Business Application and datagrid Part 1

Visual Studio 2010 RC Ria Services - Business Application and datagrid Part 1 Visual Studio 2010 RC Ria Services - Business Application and datagrid Part 1 In questo tutorial vedremo come utilizzare la tecnologia Ria Services per collegare una datagrid ad un database all interno

Dettagli

Registratori di Cassa

Registratori di Cassa modulo Registratori di Cassa Interfacciamento con Registratore di Cassa RCH Nucleo@light GDO BREVE GUIDA ( su logiche di funzionamento e modalità d uso ) www.impresa24.ilsole24ore.com 1 Sommario Introduzione...

Dettagli

www.filoweb.it STAMPA UNIONE DI WORD

www.filoweb.it STAMPA UNIONE DI WORD STAMPA UNIONE DI WORD Molte volte abbiamo bisogno di stampare più volte lo stesso documento cambiando solo alcuni dati. Potremmo farlo manualmente e perdere un sacco di tempo, oppure possiamo ricorrere

Dettagli

imae2 - Informazioni Generali

imae2 - Informazioni Generali imae2 - Informazioni Generali Benvenuti nel sistema imae2, con il quale potrete visualizzare le Vostre occupazioni aggiornate in tempo reale, direttamente sul vostro iphone, ipad oppure un qualsiasi smartphone

Dettagli

GERARCHIE RICORSIVE - SQL SERVER 2008

GERARCHIE RICORSIVE - SQL SERVER 2008 GERARCHIE RICORSIVE - SQL SERVER 2008 DISPENSE http://dbgroup.unimo.it/sia/gerarchiericorsive/ L obiettivo è quello di realizzare la tabella di navigazione tramite una query ricorsiva utilizzando SQL SERVER

Dettagli

ISTRUZIONI PER L INSTALLAZIONE DI MINGW

ISTRUZIONI PER L INSTALLAZIONE DI MINGW ISTRUZIONI PER L INSTALLAZIONE DI MINGW Prima di iniziare la procedura di installazione di MinGW dobbiamo dire che il presente software è un compilatore C che non possiede un ambiente di programmazione.

Dettagli

1. Le macro in Access 2000/2003

1. Le macro in Access 2000/2003 LIBRERIA WEB 1. Le macro in Access 2000/2003 Per creare una macro, si deve aprire l elenco delle macro dalla finestra principale del database: facendo clic su Nuovo, si presenta la griglia che permette

Dettagli

Sistema operativo. Sommario. Sistema operativo...1 Browser...1. Convenzioni adottate

Sistema operativo. Sommario. Sistema operativo...1 Browser...1. Convenzioni adottate MODULO BASE Quanto segue deve essere rispettato se si vuole che le immagini presentate nei vari moduli corrispondano, con buona probabilità, a quanto apparirà nello schermo del proprio computer nel momento

Dettagli

Client - Server. Client Web: il BROWSER

Client - Server. Client Web: il BROWSER Client - Server Client Web: il BROWSER Il client Web è un applicazione software che svolge il ruolo di interfaccia fra l utente ed il WWW, mascherando la complessità di Internet. Funzioni principali Inviare

Dettagli

Motorola Phone Tools. Guida rapida

Motorola Phone Tools. Guida rapida Motorola Phone Tools Guida rapida Sommario Requisiti minimi...2 Operazioni preliminari all'installazione Motorola Phone Tools...3 Installazione Motorola Phone Tools...4 Installazione e configurazione del

Dettagli

SOMMARIO... 3 INTRODUZIONE...

SOMMARIO... 3 INTRODUZIONE... Sommario SOMMARIO... 3 INTRODUZIONE... 4 INTRODUZIONE ALLE FUNZIONALITÀ DEL PROGRAMMA INTRAWEB... 4 STRUTTURA DEL MANUALE... 4 INSTALLAZIONE INRAWEB VER. 11.0.0.0... 5 1 GESTIONE INTRAWEB VER 11.0.0.0...

Dettagli

PowerPoint. Guida introduttiva

PowerPoint. Guida introduttiva PowerPoint Guida introduttiva Informativa Questa guida nasce con l intento di spiegare in modo chiaro e preciso come usare il software Microsoft PowerPoint. In questa guida saranno tralasciati tutti quei

Dettagli

Corso su LINQ Lezione 16. Introduzione

Corso su LINQ Lezione 16. Introduzione LINQ to SQL Introduzione Con questa lezione introduciamo il flavor LINQ to SQL. Dopo aver visto quindi tutte le funzionalità e gli operatori di LINQ to Object, affronteremo ora la tematica riguardante

Dettagli

BREVE MANUALE DI SOPRAVVIVENZA A WINDOWS 8

BREVE MANUALE DI SOPRAVVIVENZA A WINDOWS 8 BREVE MANUALE DI SOPRAVVIVENZA A WINDOWS 8 Sui nuovi computer della sala insegnanti è stato installato Windows 8 professional, il nuovo sistema operativo di Microsoft. Questo sistema operativo appare subito

Dettagli

MANUALE EDICOLA 04.05

MANUALE EDICOLA 04.05 MANUALE EDICOLA 04.05 Questo è il video che si presenta avviando il programma di Gestione Edicola. Questo primo video è relativo alle operazioni di carico. CARICO Nello schermo di carico, in alto a sinistra

Dettagli

MANUALE PARCELLA FACILE PLUS INDICE

MANUALE PARCELLA FACILE PLUS INDICE MANUALE PARCELLA FACILE PLUS INDICE Gestione Archivi 2 Configurazioni iniziali 3 Anagrafiche 4 Creazione prestazioni e distinta base 7 Documenti 9 Agenda lavori 12 Statistiche 13 GESTIONE ARCHIVI Nella

Dettagli

I TUTORI. I tutori vanno creati la prima volta seguendo esclusivamente le procedure sotto descritte.

I TUTORI. I tutori vanno creati la prima volta seguendo esclusivamente le procedure sotto descritte. I TUTORI Indice Del Manuale 1 - Introduzione al Manuale Operativo 2 - Area Tutore o Area Studente? 3 - Come creare tutti insieme i Tutori per ogni alunno? 3.1 - Come creare il secondo tutore per ogni alunno?

Dettagli

Manuale Utente Albo Pretorio GA

Manuale Utente Albo Pretorio GA Manuale Utente Albo Pretorio GA IDENTIFICATIVO DOCUMENTO MU_ALBOPRETORIO-GA_1.4 Versione 1.4 Data edizione 04.04.2013 1 TABELLA DELLE VERSIONI Versione Data Paragrafo Descrizione delle modifiche apportate

Dettagli

Il web server Apache Lezione n. 3. Introduzione

Il web server Apache Lezione n. 3. Introduzione Procurarsi ed installare il web server Apache Introduzione In questa lezione cominciamo a fare un po di pratica facendo una serie di operazioni preliminari, necessarie per iniziare a lavorare. In particolar

Dettagli

Manuale Utente Amministrazione Trasparente GA

Manuale Utente Amministrazione Trasparente GA Manuale Utente GA IDENTIFICATIVO DOCUMENTO MU_AMMINISTRAZIONETRASPARENTE-GA_1.0 Versione 1.0 Data edizione 03.05.2013 1 Albo Pretorio On Line TABELLA DELLE VERSIONI Versione Data Paragrafo Descrizione

Dettagli

Guida alla configurazione della posta elettronica dell Ateneo di Ferrara sui più comuni programmi di posta

Guida alla configurazione della posta elettronica dell Ateneo di Ferrara sui più comuni programmi di posta Guida alla configurazione della posta elettronica dell Ateneo di Ferrara sui più comuni programmi di posta. Configurazione Account di posta dell Università di Ferrara con il Eudora email Eudora email può

Dettagli

L interfaccia utente di Office 2010

L interfaccia utente di Office 2010 L interfaccia utente di Office 2010 Personalizza la barra multifunzione Pagine: 3 di 4 Autore: Alessandra Salvaggio - Tratto da: Office 2010 la tua prima guida - Edizioni FAG Milano Ridurre la barra multifunzione

Dettagli

Guida rapida per i docenti all'uso della piattaforma di e-learning dell'istituto Giua

Guida rapida per i docenti all'uso della piattaforma di e-learning dell'istituto Giua Guida rapida per i docenti all'uso della piattaforma di e-learning dell'istituto Giua Moodle è la piattaforma didattica per l'e-learning utilizzata dall'istituto Giua per consentire ai docenti di creare

Dettagli

Uso dei modelli/template

Uso dei modelli/template Uso dei modelli/template Il modello (o template, in inglese) non è altro che un normale file di disegno, generalmente vuoto, cioè senza alcuna geometria disegnata al suo interno, salvato con l estensione.dwt.

Dettagli

Codifica: dal diagramma a blocchi al linguaggio C++

Codifica: dal diagramma a blocchi al linguaggio C++ Codifica: dal diagramma a blocchi al linguaggio C++ E necessario chiarire inizialmente alcuni concetti. La compilazione Il dispositivo del computer addetto all esecuzione dei programmi è la CPU La CPU

Dettagli

Istruzioni di installazione di IBM SPSS Modeler Text Analytics (licenza per sito)

Istruzioni di installazione di IBM SPSS Modeler Text Analytics (licenza per sito) Istruzioni di installazione di IBM SPSS Modeler Text Analytics (licenza per sito) Le seguenti istruzioni sono relative all installazione di IBM SPSS Modeler Text Analytics versione 15 mediante un licenza

Dettagli

3. Installare Wamp Server

3. Installare Wamp Server E107 WEB SYSTEM Corso on line di progettazione siti dinamici: livello base R E A L I Z Z A Z I O N E D I 3. Installare Wamp Server By e107 Italian Team Sito web:http://www.e107italia.org Contatto: admin@e107italia.org

Dettagli

PER VISUALIZZARE I CONTENUTI DI ARGO SCUOLA NEXT E NECESSARIO UTILIZZARE MOZILLA FIREFOX COME BROWSER DI NAVIGAZIONE.

PER VISUALIZZARE I CONTENUTI DI ARGO SCUOLA NEXT E NECESSARIO UTILIZZARE MOZILLA FIREFOX COME BROWSER DI NAVIGAZIONE. PER VISUALIZZARE I CONTENUTI DI ARGO SCUOLA NEXT E NECESSARIO UTILIZZARE MOZILLA FIREFOX COME BROWSER DI NAVIGAZIONE. CHI NON DISPONE DI QUESTO BROWSER O NON NE HA UNA VERSIONE AGGIORNATA (ATTUALMENTE

Dettagli

2.2.2.1 Identificare le diverse parti di una finestra: barra del titolo, barra dei menu, barra degli strumenti, barra di stato, barra di scorrimento.

2.2.2.1 Identificare le diverse parti di una finestra: barra del titolo, barra dei menu, barra degli strumenti, barra di stato, barra di scorrimento. Uso del computer e gestione dei file 57 2.2.2.1 Identificare le diverse parti di una finestra: barra del titolo, barra dei menu, barra degli strumenti, barra di stato, barra di scorrimento. All interno

Dettagli

Settaggio impostazioni tema. Cliccando nuovamente su aspetto e poi su personalizza si avrà modo di configurare la struttura dinamica della template.

Settaggio impostazioni tema. Cliccando nuovamente su aspetto e poi su personalizza si avrà modo di configurare la struttura dinamica della template. I TEMI PREDEFINITI (TEMPLATE) Scelta del tema I temi predefiniti di wordpress sono la base di un sito che usa un utente che per ragioni pratiche o per incapacità non può creare un sito usando solo codice

Dettagli

PULSANTI E PAGINE Sommario PULSANTI E PAGINE...1

PULSANTI E PAGINE Sommario PULSANTI E PAGINE...1 Pagina 1 Sommario...1 Apertura...2 Visualizzazioni...2 Elenco...2 Testo sul pulsante e altre informazioni...3 Comandi...3 Informazioni...4 Flow chart...5 Comandi...6 Pulsanti Principali e Pulsanti Dipendenti...6

Dettagli

4.1.1.1 APRIRE UN PROGRAMMA DI FOGLIO ELETTRONICO

4.1.1.1 APRIRE UN PROGRAMMA DI FOGLIO ELETTRONICO 4.1 PER INIZIARE 4.1.1 PRIMI PASSI COL FOGLIO ELETTRONICO 4.1.1.1 APRIRE UN PROGRAMMA DI FOGLIO ELETTRONICO L icona del vostro programma Excel può trovarsi sul desktop come in figura. In questo caso basta

Dettagli

Corso di Informatica (Programmazione) Lezione 6 (31 ottobre 2008)

Corso di Informatica (Programmazione) Lezione 6 (31 ottobre 2008) Corso di Informatica (Programmazione) Lezione 6 (31 ottobre 2008) Introduzione a Java: primo programma, installazione dell ambiente di sviluppo, compilazione ed esecuzione 1 Introduzione Java è un linguaggio

Dettagli

Istruzioni operative instal azione FirmaVerifica3.0 Pag.1 di 27

Istruzioni operative instal azione FirmaVerifica3.0 Pag.1 di 27 Istruzioni operative installazione FirmaVerifica3.0 Pag.1 di 27 Generalità... 3 Operazioni preliminari... 4 Requisiti tecnici... 5 Installazione applicazione...6 Visualizzazione fornitura... 14 Gestione

Dettagli

Note per scaricare e installare il software cliccando alla pagina DOWNLOAD del sito,

Note per scaricare e installare il software cliccando alla pagina DOWNLOAD del sito, Come ben sapete, anch io,come voi, sono golosa di schemi,trovati in internet e nei giornali, e questo comporta, soprattutto per gli schemi virtuali, che devo cercare una soluzione per evitare che il mio

Dettagli

Apache 2, PHP5, MySQL 5

Apache 2, PHP5, MySQL 5 Installazione di Apache 2, PHP5, MySQL 5 Corso Interazione Uomo Macchina AA 2005/2006 Installazione e Versioni Considerazione le versioni più recenti dei vari software così da poterne sperimentare le caratteristiche

Dettagli

CESIT HOWTOS - NUMERO 2/2009

CESIT HOWTOS - NUMERO 2/2009 I FEED RSS CESIT HOWTOS - NUMERO 2/2009 < I. N. O. G. S. > I N D I C E INTRODUZIONE II RSS IN MOZILLA THUNDERBIRD III RSS IN FIREFOX III RSS IN INTERNET EXPLORER 7 IV ALTRI SISTEMI PER I FEED RSS IV CONCLUSIONI

Dettagli

Disegni di Ricerca e Analisi dei Dati in Psicologia Clinica. Rcmdr

Disegni di Ricerca e Analisi dei Dati in Psicologia Clinica. Rcmdr Disegni di Ricerca e Analisi dei Dati in Psicologia Clinica Rcmdr http://www.r-project.org http://qplab.psy.unipd.it Che cos è Rcmdr? Rcmdr è un pacchetto che possiamo scaricare dal CRAN e installare su

Dettagli

GateManager. 1 Indice. tecnico@gate-manager.it

GateManager. 1 Indice. tecnico@gate-manager.it 1 Indice 1 Indice... 1 2 Introduzione... 2 3 Cosa vi serve per cominciare... 2 4 La Console di amministrazione... 2 5 Avviare la Console di amministrazione... 3 6 Come connettersi alla Console... 3 7 Creare

Dettagli

Breve guida a Linux Mint

Breve guida a Linux Mint Breve guida a Linux Mint Il Desktop. Il "desktop" (scrivania) è la parte del sistema operativo che è responsabile per gli elementi che appaiono sul desktop: il Pannello, lo sfondo, il Centro di Controllo,

Dettagli

Il calendario di Windows Vista

Il calendario di Windows Vista Il calendario di Windows Vista Una delle novità introdotte in Windows Vista è il Calendario di Windows, un programma utilissimo per la gestione degli appuntamenti, delle ricorrenze e delle attività lavorative

Dettagli

2 Fortino Lugi. Figura Errore. Nel documento non esiste testo dello stile specificato.-3 -- Finestra attiva o nuovo documento

2 Fortino Lugi. Figura Errore. Nel documento non esiste testo dello stile specificato.-3 -- Finestra attiva o nuovo documento 1 Fortino Lugi STAMPA UNIONE OFFICE 2000 Vi sarà capitato sicuramente di ricevere lettere pubblicitarie indirizzate personalmente a voi; ovviamente quelle missive non sono state scritte a mano, ma utilizzando

Dettagli

La catalogazione con LIBERO Modulo Catalogazione

La catalogazione con LIBERO Modulo Catalogazione CATALOGAZIONE 1. LA CATALOGAZIONE NEL FORMATO UNIMARC 2. COME LEGARE AL RECORD TERMINI DELLE LISTE DI AUTORITA 3. LA SCHERMATA GESTIONE DEL MAGAZZINO 1. LA CATALOGAZIONE NEL FORMATO UNIMARC Per catalogare

Dettagli

Installazione di Zelio Soft 2 su Microsoft Windows Vista

Installazione di Zelio Soft 2 su Microsoft Windows Vista Installazione di Zelio Soft 2 su Microsoft Windows Vista 1. Installazione di Zelio Soft 2 v4.1: Per prima cosa installare Zelio Soft 2 (versione 4.1) lanciandone il setup (doppio click sul file Setup.exe

Dettagli

Guida all uso. Esso sarà riportato nell intestazione. Vediamo:

Guida all uso. Esso sarà riportato nell intestazione. Vediamo: faxm@il è un applicazione che permette agli utenti dei sistemi di telefonia IP di inviare, ricevere e gestire fax. Il tradizionale sistema di fax è ormai superato. Con faxm@il non riceviamo né spediamo

Dettagli

Modulo 4 Il pannello amministrativo dell'hosting e il database per Wordpress

Modulo 4 Il pannello amministrativo dell'hosting e il database per Wordpress Copyright Andrea Giavara wppratico.com Modulo 4 Il pannello amministrativo dell'hosting e il database per Wordpress 1. Il pannello amministrativo 2. I dati importanti 3. Creare il database - Cpanel - Plesk

Dettagli

Mac Application Manager 1.3 (SOLO PER TIGER)

Mac Application Manager 1.3 (SOLO PER TIGER) Mac Application Manager 1.3 (SOLO PER TIGER) MacApplicationManager ha lo scopo di raccogliere in maniera centralizzata le informazioni piu salienti dei nostri Mac in rete e di associare a ciascun Mac i

Dettagli

Lezioni di Laboratorio sui Data Base

Lezioni di Laboratorio sui Data Base Lezioni di Laboratorio sui Data Base Docente Tutor: Dott. Gianluigi Roveda Informatica per l'impresa Prima Parte: Open Office - Base PREMESSA Questo lavoro è stato realizzato a partire dalle slides del

Dettagli

POSTA ELETTRONICA Per ricevere ed inviare posta occorrono:

POSTA ELETTRONICA Per ricevere ed inviare posta occorrono: Outlook parte 1 POSTA ELETTRONICA La posta elettronica è un innovazione utilissima offerta da Internet. E possibile infatti al costo di una telefonata urbana (cioè del collegamento telefonico al nostro

Dettagli

MANUALE D USO DELLA PIATTAFORMA ITCMS

MANUALE D USO DELLA PIATTAFORMA ITCMS MANUALE D USO DELLA PIATTAFORMA ITCMS MANULE D USO INDICE 1. INTRODUZIONE... 2 2. ACCEDERE ALLA GESTIONE DEI CONTENUTI... 3 3. GESTIONE DEI CONTENUTI DI TIPO TESTUALE... 4 3.1 Editor... 4 3.2 Import di

Dettagli

Istruzioni per la prima installazione del software per i CAF 2005 nuovi Centri di Raccolta.

Istruzioni per la prima installazione del software per i CAF 2005 nuovi Centri di Raccolta. Istruzioni per la prima installazione del software per i CAF 2005 nuovi Centri di Raccolta. Questa circolare è riservata ai Centri di Raccolta CAF che per la prima volta con i software DataUfficio: 1.

Dettagli

Windows. Cos è I componenti principali Le funzioni essenziali. www.vincenzocalabro.it 1

Windows. Cos è I componenti principali Le funzioni essenziali. www.vincenzocalabro.it 1 Windows Cos è I componenti principali Le funzioni essenziali www.vincenzocalabro.it 1 Cos è Windows è un sistema operativo, ovvero un insieme di software che consente di eseguire le operazioni basilari

Dettagli

Mon Ami 3000 Varianti articolo Gestione di varianti articoli

Mon Ami 3000 Varianti articolo Gestione di varianti articoli Prerequisiti Mon Ami 3000 Varianti articolo Gestione di varianti articoli L opzione Varianti articolo è disponibile per le versioni Azienda Light e Azienda Pro e include tre funzionalità distinte: 1. Gestione

Dettagli

Lavorare con PowerPoint

Lavorare con PowerPoint 14 Lavorare con PowerPoint In questo spazio iniziamo a parlare di un programma utile per le presentazioni. PowerPoint è sicuramente un programma molto noto ai comunicatori e a quanti hanno bisogno di presentare

Dettagli

Istruzioni per installare EpiData e i files dati ad uso di NetAudit

Istruzioni per installare EpiData e i files dati ad uso di NetAudit Istruzioni per installare EpiData a cura di Pasquale Falasca e Franco Del Zotti Brevi note sull utilizzo del software EpiData per una raccolta omogenea dei dati. Si tratta di istruzioni passo-passo utili

Dettagli

GESTIONE LISTE R VIRTUALI

GESTIONE LISTE R VIRTUALI GESTIONE LISTE R VIRTUALI La gestione delle liste giocatori virtuali permette di impostare la lista giocatori in modo digitale sul sistema WCM in sostituzione ai supporti cartacei. La compilazione della

Dettagli

Laboratorio di Sistemi Programmare in Php con NetBeans Php. Programmare in Php con Xampp e NetBeans IDE

Laboratorio di Sistemi Programmare in Php con NetBeans Php. Programmare in Php con Xampp e NetBeans IDE Programmare in Php con Xampp e NetBeans IDE NetBeans è un IDE ben noto ai programmatori Java. Con esso si possono infatti costruire applicazioni desktop professionali dotate di interfaccia grafica, applicazioni

Dettagli

Sharpdesk V3.3. Guida all installazione Versione 3.3.04

Sharpdesk V3.3. Guida all installazione Versione 3.3.04 Sharpdesk V3.3 Guida all installazione Versione 3.3.04 Copyright 2000-2009 di SHARP CORPORATION. Tutti i diritti riservati. È vietata la riproduzione, l adattamento o la traduzione senza previa autorizzazione

Dettagli

OSSIF WEB. Manuale query builder

OSSIF WEB. Manuale query builder OSSIF WEB Manuale query builder - Maggio 2010 1) Sommario 1) SOMMARIO... 2 INTRODUZIONE... 3 Scopo del documento... 3 Struttura del documento... 3 Descrizione dell interfaccia grafica... 3 SELEZIONE DI

Dettagli

Office Web Components in programmi C# da http://escher07.altervista.org

Office Web Components in programmi C# da http://escher07.altervista.org Office Web Components in programmi C# da http://escher07.altervista.org Generalità L obiettivo è realizzare un programma C# che utilizzando il componente Web Pivot permetta di ottenere un risultato come

Dettagli