martedì 29 ottobre 2013
Free ebook Introducing Windows 8.1 for IT Professionals
Come riportato in questo blog http://blogs.msdn.com/b/microsoft_press/archive/2013/10/14/free-ebook-introducing-windows-8-1-for-it-professionals.aspx la possibilità di scaricare gratuitamente un ebook in lingua inglese sull'utilizzo di Windows 8.1 indicato per i professionisti IT.
Il formato dell'ebook è pdf, epub e mobi per Kindle.
lunedì 28 ottobre 2013
C# Dynamic Multi File AppSettings
Nel caso che si vuole gestire più file di configurazione, e precisamente i file di tipo appsetings, utilizzando il metodo openMappedExeconfiguration possiamo gestire i vari file di configurazione in maniera dinamica.
Qui di seguito un frammento di codic in C#.
NomeFileConfigurazione ;
ExeConfigurationFileMap ExeconfigFileMap = new ExeConfigurationFileMap();
ExeconfigFileMap.ExeConfigFilename = "NomeFileConfigurazione"
Configuration config = ConfigurationManager.OpenMappedExeConfiguration(ExeconfigFileMap, ConfigurationUserLevel.None);
string Valore = config.AppSettings.Settings["NOMECHIAVE"].Value;
Qui di seguito un frammento di codic in C#.
NomeFileConfigurazione ;
ExeConfigurationFileMap ExeconfigFileMap = new ExeConfigurationFileMap();
ExeconfigFileMap.ExeConfigFilename = "NomeFileConfigurazione"
Configuration config = ConfigurationManager.OpenMappedExeConfiguration(ExeconfigFileMap, ConfigurationUserLevel.None);
string Valore = config.AppSettings.Settings["NOMECHIAVE"].Value;
domenica 27 ottobre 2013
download visual studio 2013
Da qualche giorno è disponibile il download della versione finale, non beta, di Visual Studio 2013.
Qui http://www.microsoft.com/visualstudio/ita/downloads la pagina del download (versione gratuita per la Express, limitata nel tempo per le altre).
Qui http://www.microsoft.com/visualstudio/ita/downloads la pagina del download (versione gratuita per la Express, limitata nel tempo per le altre).
sabato 26 ottobre 2013
Silverlight GIS la gestione delle mappe tramite controllo Esri VB.Net e C# parte 4
Si riporta l'articolo scritto per il sito http://www.iprogrammatori.it/articoli/programmazione/tutorial-gis-silverlight/art_gestione-delle-mappe_1313.aspx
Introduzione
Continua lo studio sulla gestione delle mappe, in questa parte vedremo come integrare nella nostra mappa, la possibilità di visualizzare nella stessa la situazione dei terremoti nel mondo.
Utilizzeremo il servizio gratuito di esempio che mette a disposizione Esri, inoltre utilizzeremo il progetto precedente.
Configurazione della mappa
Aprite il progetto utilizzato nel precedente articolo, selezionate il controllo mappa e nella finestra delle proprietà facciamo click sul pulsante delle voce “Layers” come riportato in figura 1.
Figura 1 – la finestra delle proprietà
A questo punto si aprirà una finestra (figura 2) nella quale dobbiamo aggiungere l’elemento “ArcGisDynamicMapServiceLayer” il quale ci permette di inserire una tipologia di mappa sovrapposta a quella che già stiamo utilizzando.
Dopo aver selezionato tale voce, facciamo click sul pulsante “Aggiungi” in modo che verrà inserito nella lista degli elementi tale voce.
Figura 2 – La finestra per impostare gli elementi di layers
Ora non ci resta che impostare la proprietà Url, questa voce, come vista nell’articolo precedente, ci permette di impostare il sito di riferimento per rilevare le mappe.
Nel nostro caso, essendo un tutorial, faremo uso del servizio di esempio, che è il seguente http://sampleserver3.arcgisonline.com “ in cui troviamo diverse mappe a disposizione.
Una volta fatto click sul pulsante, verrà aperta una finestra (Figura 3) a questo punto, nella casella “Service Broswer” dobbiamo inserire il seguente link http://sampleserver3.arcgisonline.com
E fare click sulla voce “Add Server”.
Figura 3 – La selezione della mappa dei terremoti
Dopo aver fatto click sul pulsante “Add Server” verranno visualizzate diverse catgorie, tra queste utilizzeremo una per la visualizzazione dei terremoti nel mondo.
Facciamo click sulla voce “Earhquakes” e tra le varie voci che vengono visualizzate fare clic sulla voce “EarthquakesFromLastSevenDays” il tutto come mostrato in figura 3.
Se facciamo click su tale voce, nella parte inferiore verrà visualizzata una mappa, mentre nella parte a sinistra una descrizione.
Dopo aver selezionato tale mappa, confermiamo il tutto tramite il pulsante “OK”.
Dopo aver confermato tutte le finestre, verrà visualizzata l’anteprima con i punti indicante i terremoti (figura 4).
Figura 4 – l’anteprima della nostra cartina
Siamo quasi giunti alla fine di questo articolo, dovremmo scrivere il codice, nell’eventualità che l’avvio non vada a buon fine.
Nella parte XAML o nella finestra delle proprietà, dovremmo gestire l’evento “InitializationFailed” per gli elementi ArcGISTiledMapServiceLayer e ArcGISDynamicMapServiceLayer.
Si riporta il codice XAML
Mentre qui di seguito riportiamo il codice VB.Net e C# per la gestione dell'evento "InitializationFailed" da notare che per utilizzare la classe “Layer” dobbiamo aggiungere lo spazio dei nomi “Imports ESRI.ArcGIS.Client”
Qui di seguito si riporta l’esempio per entrambi i linguaggi di programmazione.
L’oggetto Layer, permette di gestire le informazioni relative all’elemento che visualizza le informazioni, i due elementi visto nella finestra delle impostazioni.
Se la proprietà “InitializationFailure” è diverso da null, vuol dire che è stata sollevata un eccezione durante l’elaborazione della grafica e dei dati.
Conclusioni
L’articolo ha fornito le basi per utilizzare al meglio alcuni servizi web offerti da Esri per gestire il posizionamento di alcuni elementi (nel nostro caso terremoti) su una determinata carta.
Tutorial 3 parte http://emanuelemattei.blogspot.it/2013/10/tutorial-silverlight-gis-parte-3-la.html
Tutorial 2 parte http://emanuelemattei.blogspot.it/2013/10/tutorial-silverlight-e-gis-il-controllo.html
Tutorial 1 parte http://emanuelemattei.blogspot.it/2013/10/tutorial-silverlight-e-gis.html
Introduzione
Continua lo studio sulla gestione delle mappe, in questa parte vedremo come integrare nella nostra mappa, la possibilità di visualizzare nella stessa la situazione dei terremoti nel mondo.
Utilizzeremo il servizio gratuito di esempio che mette a disposizione Esri, inoltre utilizzeremo il progetto precedente.
Configurazione della mappa
Aprite il progetto utilizzato nel precedente articolo, selezionate il controllo mappa e nella finestra delle proprietà facciamo click sul pulsante delle voce “Layers” come riportato in figura 1.
Figura 1 – la finestra delle proprietà
A questo punto si aprirà una finestra (figura 2) nella quale dobbiamo aggiungere l’elemento “ArcGisDynamicMapServiceLayer” il quale ci permette di inserire una tipologia di mappa sovrapposta a quella che già stiamo utilizzando.
Dopo aver selezionato tale voce, facciamo click sul pulsante “Aggiungi” in modo che verrà inserito nella lista degli elementi tale voce.
Figura 2 – La finestra per impostare gli elementi di layers
Ora non ci resta che impostare la proprietà Url, questa voce, come vista nell’articolo precedente, ci permette di impostare il sito di riferimento per rilevare le mappe.
Nel nostro caso, essendo un tutorial, faremo uso del servizio di esempio, che è il seguente http://sampleserver3.arcgisonline.com “ in cui troviamo diverse mappe a disposizione.
Una volta fatto click sul pulsante, verrà aperta una finestra (Figura 3) a questo punto, nella casella “Service Broswer” dobbiamo inserire il seguente link http://sampleserver3.arcgisonline.com
E fare click sulla voce “Add Server”.
Figura 3 – La selezione della mappa dei terremoti
Dopo aver fatto click sul pulsante “Add Server” verranno visualizzate diverse catgorie, tra queste utilizzeremo una per la visualizzazione dei terremoti nel mondo.
Facciamo click sulla voce “Earhquakes” e tra le varie voci che vengono visualizzate fare clic sulla voce “EarthquakesFromLastSevenDays” il tutto come mostrato in figura 3.
Se facciamo click su tale voce, nella parte inferiore verrà visualizzata una mappa, mentre nella parte a sinistra una descrizione.
Dopo aver selezionato tale mappa, confermiamo il tutto tramite il pulsante “OK”.
Dopo aver confermato tutte le finestre, verrà visualizzata l’anteprima con i punti indicante i terremoti (figura 4).
Figura 4 – l’anteprima della nostra cartina
Siamo quasi giunti alla fine di questo articolo, dovremmo scrivere il codice, nell’eventualità che l’avvio non vada a buon fine.
Nella parte XAML o nella finestra delle proprietà, dovremmo gestire l’evento “InitializationFailed” per gli elementi ArcGISTiledMapServiceLayer e ArcGISDynamicMapServiceLayer.
Si riporta il codice XAML
<Grid x:Name="LayoutRoot" Background="White">
<esri:Map Background="White" HorizontalAlignment="Left" Name="map1" VerticalAlignment="Top"
WrapAround="True" Height="288" Width="400" MouseMove="map1_MouseMove" IsLogoVisible="False">
<esri:Map.Layers>
<esri:LayerCollection>
<esri:ArcGISTiledMapServiceLayer
Url="http://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer" InitializationFailed="mappa_InitializationFailed"
/>
<esri:ArcGISDynamicMapServiceLayer
Url="http://sampleserver3.arcgisonline.com:80/arcgis/rest/services/Earthquakes/EarthquakesFromLastSevenDays/MapServer" InitializationFailed="mappa_InitializationFailed"
/>
</esri:LayerCollection>
</esri:Map.Layers>
</esri:Map>
<StackPanel Height="69" HorizontalAlignment="Left" Margin="12,204,0,0" Name="stackPanel1" VerticalAlignment="Top" Width="376">
<sdk:Label Height="28" Name="lblScreenCoordinate"
Width="364" />
<sdk:Label Height="28" Name="lblMapCoordinate" Width="366" />
</StackPanel>
</Grid>
Mentre qui di seguito riportiamo il codice VB.Net e C# per la gestione dell'evento "InitializationFailed" da notare che per utilizzare la classe “Layer” dobbiamo aggiungere lo spazio dei nomi “Imports ESRI.ArcGIS.Client”
Qui di seguito si riporta l’esempio per entrambi i linguaggi di programmazione.
VB.Net
Spazio dei
nomi
Imports ESRI.ArcGIS.Client
Codice
Private
Sub mappa_InitializationFailed(sender As System.Object,
e As System.EventArgs)
Dim
layer As Layer
= TryCast(sender, Layer)
If
layer.InitializationFailure IsNot Nothing Then
MessageBox.Show(layer.ID
& ":" &
layer.InitializationFailure.ToString())
End If
End Sub
C#
Spazio dei
nomi
using ESRI.ArcGIS.Client;
Codice
private void mappa_InitializationFailed(object sender, EventArgs
e)
{
Layer
layer = sender as Layer;
if
(layer.InitializationFailure != null)
{
MessageBox.Show(layer.ID
+ ":" +
layer.InitializationFailure.ToString());
}
}
L’oggetto Layer, permette di gestire le informazioni relative all’elemento che visualizza le informazioni, i due elementi visto nella finestra delle impostazioni.
Se la proprietà “InitializationFailure” è diverso da null, vuol dire che è stata sollevata un eccezione durante l’elaborazione della grafica e dei dati.
Conclusioni
L’articolo ha fornito le basi per utilizzare al meglio alcuni servizi web offerti da Esri per gestire il posizionamento di alcuni elementi (nel nostro caso terremoti) su una determinata carta.
Tutorial 3 parte http://emanuelemattei.blogspot.it/2013/10/tutorial-silverlight-gis-parte-3-la.html
Tutorial 2 parte http://emanuelemattei.blogspot.it/2013/10/tutorial-silverlight-e-gis-il-controllo.html
Tutorial 1 parte http://emanuelemattei.blogspot.it/2013/10/tutorial-silverlight-e-gis.html
venerdì 25 ottobre 2013
Free software per creare video giochi
Se state cercando un software gratuito per la creazione di video giochi, il programma Stencyl qui http://www.stencyl.com/ il sito, permette la creazione di video giochi.
Un software bene fatto, che offre la possibilità di creare video giochi per più piattaforme.
Un software bene fatto, che offre la possibilità di creare video giochi per più piattaforme.
giovedì 24 ottobre 2013
Oracle paging speed
Qui di seguito si riporta una tecnica di come ottimizzare una query con paginazione.
In particolare il tempo di esecuzione è veloce.
Il parametro 1*20 indica la pagina (1) per il numero dei record (20 per ogni estrapolazione) mentre la parte 1-1 il numero della pagina in cui si trova.
SELECT * FROM
(
SELECT a.*, rownum r
FROM
(
SELECT * FROM NomeTabella WHERE Campo = 'valore' order by campo desc
) a
WHERE rownum < ((1 * 20) + 1 )
)
WHERE r >= (((1-1) * 20) + 1)
In particolare il tempo di esecuzione è veloce.
Il parametro 1*20 indica la pagina (1) per il numero dei record (20 per ogni estrapolazione) mentre la parte 1-1 il numero della pagina in cui si trova.
SELECT * FROM
(
SELECT a.*, rownum r
FROM
(
SELECT * FROM NomeTabella WHERE Campo = 'valore' order by campo desc
) a
WHERE rownum < ((1 * 20) + 1 )
)
WHERE r >= (((1-1) * 20) + 1)
mercoledì 23 ottobre 2013
C# Starting and stopping a process
Nel caso che si vuole avviare un processo (esempio internet Explorer) e dopo n secondi chiuderlo, il frammento qui di seguito illustra tale tecnica.
Process proc = new Process();
proc.StartInfo.FileName = "iexplore.exe";
proc.StartInfo.Arguments = "www.sito.it";
proc.Start();
System.Threading.Thread.Sleep(4000);
proc.Kill();
Process proc = new Process();
proc.StartInfo.FileName = "iexplore.exe";
proc.StartInfo.Arguments = "www.sito.it";
proc.Start();
System.Threading.Thread.Sleep(4000);
proc.Kill();
martedì 22 ottobre 2013
Tutorial Silverlight Gis parte 3 la posizione
Si riporta l'articolo scritto per il sito http://www.iprogrammatori.it/articoli/programmazione/tutorial-gis-silverlight/art_gestione-della-posizione_1311.aspx
Introduzione
Continua il nostro tutorial dedicato al mondo GIS, alla cartografia, in particolare con i controlli ArcGis di Esri, utilizzando la tecnologia Silverlight.
In questo nuovo articolo vedremo come rilevare il posizionamento del mouse nella mappa, sia le coordinate del mouse che della mappa.
Possiamo utilizzare il progetto precedente oppure creare un nuovo progetto, si consiglia di creare un nuovo progetto.
Stesura layout
Una volta creato il nuovo progetto o utilizzato uno già presente trasciniamo nella finestra il controllo map, a seguire inseriamo il controllo StackPanel e due controlli label che riporteranno le indicazioni del nostro muose.
Il tutto come mostrato in figura 1.
Figura 1 – Il posizionamento dei controlli.
Una volta posizionati i controlli dobbiamo assegnare ai controlli label il nome “lblScreenCoordinate” e “lblMapCoordinate” il primo indicherà le informazioni del posizionamento del mouse, il secondo della mappa.
Il codice XAML sarà come riportato qui di seguito.
Stesura del codice
Ora non ci resta che scrivere il codice .Net, C# o VB.Net a seconda delle proprie esigenze.
Facciamo click sul controllo “Map” e nella finestra delle proprietà (figura 2) facciamo click sulla voce “Eventi” e selezioniamo la voce “Mouse Move”.
Figura 2 – impostare l’evento Mouse Move.
A questo punto, dopo aver fatto doppio click nella casella relativa all’evento “MouseMove” verrà visualizzata la finestra del codice.
Qui di seguito si riporta il codice per il linguaggio VB.Net e C#, relativo alla gestione del posizionamento.
Come si vede dal codice, tramite il metodo GetPosizion otteniemo informazioni relative alla posizione del mouse nella mappa. Mentre il metodo ScreenToMap, la posizione effettiva della mappa, le coordinate.
Ora non ci resta che avviare il nostro programma per vedere il risultato.
Figura 3 – Le coordinate che vengono visualizzate
Conclusioni
L’articolo ha voluto introdurre la gestione dei riferimenti sulla posizione e gestione delle varie aree di una mappa, tecnica che può tornare utile in diversi contesti operativi, e precisamente nel individuare sulla mappa determinate situazioni.
Tutorial 2 parte http://emanuelemattei.blogspot.it/2013/10/tutorial-silverlight-e-gis-il-controllo.html
Tutorial 1 parte http://emanuelemattei.blogspot.it/2013/10/tutorial-silverlight-e-gis.html
Introduzione
Continua il nostro tutorial dedicato al mondo GIS, alla cartografia, in particolare con i controlli ArcGis di Esri, utilizzando la tecnologia Silverlight.
In questo nuovo articolo vedremo come rilevare il posizionamento del mouse nella mappa, sia le coordinate del mouse che della mappa.
Possiamo utilizzare il progetto precedente oppure creare un nuovo progetto, si consiglia di creare un nuovo progetto.
Stesura layout
Una volta creato il nuovo progetto o utilizzato uno già presente trasciniamo nella finestra il controllo map, a seguire inseriamo il controllo StackPanel e due controlli label che riporteranno le indicazioni del nostro muose.
Il tutto come mostrato in figura 1.
Figura 1 – Il posizionamento dei controlli.
Una volta posizionati i controlli dobbiamo assegnare ai controlli label il nome “lblScreenCoordinate” e “lblMapCoordinate” il primo indicherà le informazioni del posizionamento del mouse, il secondo della mappa.
Il codice XAML sarà come riportato qui di seguito.
<Grid x:Name="LayoutRoot" Background="White">
<esri:Map Background="White" HorizontalAlignment="Left" Name="map1" VerticalAlignment="Top"
WrapAround="True" Height="288" Width="400" MouseMove="map1_MouseMove" IsLogoVisible="False">
<esri:Map.Layers>
<esri:LayerCollection>
<esri:ArcGISTiledMapServiceLayer
Url="http://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer"
/>
</esri:LayerCollection>
</esri:Map.Layers>
</esri:Map>
<StackPanel Height="69" HorizontalAlignment="Left" Margin="12,204,0,0" Name="stackPanel1" VerticalAlignment="Top" Width="376">
<sdk:Label Height="28" Name="lblScreenCoordinate"
Width="364" />
<sdk:Label Height="28" Name="lblMapCoordinate" Width="366" />
</StackPanel>
</Grid>
Stesura del codice
Ora non ci resta che scrivere il codice .Net, C# o VB.Net a seconda delle proprie esigenze.
Facciamo click sul controllo “Map” e nella finestra delle proprietà (figura 2) facciamo click sulla voce “Eventi” e selezioniamo la voce “Mouse Move”.
Figura 2 – impostare l’evento Mouse Move.
A questo punto, dopo aver fatto doppio click nella casella relativa all’evento “MouseMove” verrà visualizzata la finestra del codice.
Qui di seguito si riporta il codice per il linguaggio VB.Net e C#, relativo alla gestione del posizionamento.
VB.Net
Private Sub Map1_MouseMove(sender As
System.Object, e As
System.Windows.Input.MouseEventArgs) Handles Map1.MouseMove
If
Map1.Extent IsNot Nothing
Then
Dim
pointPosizione As System.Windows.Point = e.GetPosition(Map1)
lblScreenCoordinate.Content = String.Format("Coordinate
screen: X = {0}, Y = {1}", pointPosizione.X, pointPosizione.Y)
Dim
mapPoint As ESRI.ArcGIS.Client.Geometry.MapPoint = Map1.ScreenToMap(pointPosizione)
If
Map1.WrapAroundIsActive Then
mapPoint = TryCast(ESRI.ArcGIS.Client.Geometry.Geometry.NormalizeCentralMeridian(mapPoint),
ESRI.ArcGIS.Client.Geometry.MapPoint)
End
If
lblMapCoordinate.Content = String.Format("Coordinate
Mappa: X = {0}, Y = {1}", Math.Round(mapPoint.X,
4), Math.Round(mapPoint.Y, 4))
End If
End Sub
C#
private
void map1_MouseMove(object
sender, MouseEventArgs e)
{
if
(map1.Extent != null)
{
System.Windows.Point pointPosizione = e.GetPosition(map1);
lblScreenCoordinate.Content = string.Format("Coordinate
screen: X = {0}, Y = {1}",
pointPosizione.X,
pointPosizione.Y);
ESRI.ArcGIS.Client.Geometry.MapPoint mapPoint =
map1.ScreenToMap(pointPosizione);
if
(map1.WrapAroundIsActive)
mapPoint =
ESRI.ArcGIS.Client.Geometry.Geometry.NormalizeCentralMeridian(mapPoint)
as ESRI.ArcGIS.Client.Geometry.MapPoint;
lblMapCoordinate.Content = string.Format("Coordinate
Mappa: X = {0}, Y = {1}",
Math.Round(mapPoint.X,
4), Math.Round(mapPoint.Y, 4));
}
}
Come si vede dal codice, tramite il metodo GetPosizion otteniemo informazioni relative alla posizione del mouse nella mappa. Mentre il metodo ScreenToMap, la posizione effettiva della mappa, le coordinate.
Ora non ci resta che avviare il nostro programma per vedere il risultato.
Figura 3 – Le coordinate che vengono visualizzate
Conclusioni
L’articolo ha voluto introdurre la gestione dei riferimenti sulla posizione e gestione delle varie aree di una mappa, tecnica che può tornare utile in diversi contesti operativi, e precisamente nel individuare sulla mappa determinate situazioni.
Tutorial 2 parte http://emanuelemattei.blogspot.it/2013/10/tutorial-silverlight-e-gis-il-controllo.html
Tutorial 1 parte http://emanuelemattei.blogspot.it/2013/10/tutorial-silverlight-e-gis.html
Iscriviti a:
Post (Atom)