Qui di seguito un esempio per la visualizzazione aspx
giovedì 30 giugno 2016
ext.net label bold fieldlabel
Nel caso che vogliamo impostare all'intestazione di un controllo Label del freamwork Ext.Net il grassetto, o meglio nella proprietà FieldLabel il grassetto, dobbiamo utilizzare nella proprietà labelStyle il codice html di grassetto.
Qui di seguito un esempio per la visualizzazione aspx
/ext:Label>
Qui di seguito un esempio per la visualizzazione aspx
mercoledì 29 giugno 2016
C# concatenare una stringa in un array o list string
Tramite il metodo Join possiamo concatenare, ossia aggiungere ad un array un carattere.
Qui di seguito un esempio di codice in C#
String.Join(",", Mioarray);
Qui di seguito un esempio di codice in C#
String.Join(",", Mioarray);
martedì 28 giugno 2016
.Net rilevare da un file immagine dati gps e indirizzo in C# e VB.Net
Si riporta l'articolo scritto per il sito http://www.iprogrammatori.it/articoli/programmazione/art_net-rilevare-da-un-file-immagine-dati-gp_1441.aspx
Con le nuove tecnologie in cui sono presenti funzionalità come la geo localizzazione che permette di rilevare la posizione in cui ci si trova, è possibile sapere in quale posto è stata scattata una foto tanto per fare unesempio.
In questo articolo, vedremo come realizzare un semplice programma, che data una foto scattata con uno SmartPhone, possiamo rilevare l’indirizzo del luogo in cui è avvenuto tale avvenimento ed informazioni sul dispositivo.
Tramite la tecnologia .Net rileveremo queste informazioni su un file Immagine, e tramite le API di google maps avremmo informazioni sulle coordinate riguardante il GPS.
Creazione del progetto per ottenere le coordinate GPS
Si crea un nuovo progetto di tipo Windows Application, selezionando il linguaggio di programmazione di proprio interesse.
Una volta aperto il progetto, inseriamo nella form 7 caselle di testo, sette controlli label, un controllo di tipo WebBrowser che avrà il compito di visualizzare la cartina ed un pulsante, il tutto come mostrato in figura 1.
Figura 1 – il programma in esecuzione
Una volta posizionati i controlli non ci resta che scrivere il codice.
Per eseguire il codice, dovremmo avere un file di tipo “jpg” nel quale sono presenti le proprietà “GPS” nel nostro caso, tramite lo smartphone Nokia Lumia 520 è stata effettuata la prova.
Stesura del codice
Passiamo in visualizzazione codice in modo che scriviamo il codice per estrapolare le informazioni dal file.
Inseriamo in alto, sopra ad ogni riga di codice, lo spazio dei nomi che ci permette di utilizzare determinate classi.
Qui di seguito si riporta i frammenti di codice per entrambi i linguaggi.
Gli spazi di nomi ci permettono di gestire i file, richiamare il sito web di Google e la gestione delle immagini.
Si crea una funzione, la quale date le informazioni presenti nel file jpeg, ed in particolare le proprietà relative alle coordinate GPS, quali latitudine e longitudine, rileviamo il dato di tipo float che tramite le api di Google otteniamo l’indirizzo.
Qui di seguito si riporta la funzione che ci permette di ottenere la latitudine e longitudine.
Nell’evento click, inseriamo il codice che permette di rilevare le informazioni dal file, ed in particolare ottenere la proprietà GPS, la proprietà del dispositivo con il quale abbiamo scattato la foto, la proprietà del sistema operativo del dispositivo ed infine data ed ora della foto.
Queste informazioni le otteniamo tramite il metodo “GEtPropertyItem” che tramite l’id otteniamo queste informazioni dall’oggetto di tipo Image che sarà il file jpeg posizionato nel nostro computer.
Mentre le classi di tipo webrequest e webresponse, otteniamo informazioni dalle api di Google sulle coordinate, e la mappa.
Qui di seguito si riporta il codice completo dell’evento click del pulsante per entrambi i linguaggi.
Ora non ci resta che eseguire il programma per rilevare i dati dalla nostra immagine.
Conclusioni
In questo articolo abbiamo visto come realizzare un semplice programma, che può tornare utile soprattutto in ambito di investigazione, per rilevare informazioni su una determinata immagine. Con poche righe di codice, possiamo rilevare dati dai file carpendo molte cose sulle persone ed in particolare gli spostamenti o luoghi che hanno visitato, un articolo che introduce il lettore alla realizzazione di un programma più complesso per rilevamento dei dati importanti.
Con le nuove tecnologie in cui sono presenti funzionalità come la geo localizzazione che permette di rilevare la posizione in cui ci si trova, è possibile sapere in quale posto è stata scattata una foto tanto per fare unesempio.
In questo articolo, vedremo come realizzare un semplice programma, che data una foto scattata con uno SmartPhone, possiamo rilevare l’indirizzo del luogo in cui è avvenuto tale avvenimento ed informazioni sul dispositivo.
Tramite la tecnologia .Net rileveremo queste informazioni su un file Immagine, e tramite le API di google maps avremmo informazioni sulle coordinate riguardante il GPS.
Creazione del progetto per ottenere le coordinate GPS
Si crea un nuovo progetto di tipo Windows Application, selezionando il linguaggio di programmazione di proprio interesse.
Una volta aperto il progetto, inseriamo nella form 7 caselle di testo, sette controlli label, un controllo di tipo WebBrowser che avrà il compito di visualizzare la cartina ed un pulsante, il tutto come mostrato in figura 1.
Figura 1 – il programma in esecuzione
Una volta posizionati i controlli non ci resta che scrivere il codice.
Per eseguire il codice, dovremmo avere un file di tipo “jpg” nel quale sono presenti le proprietà “GPS” nel nostro caso, tramite lo smartphone Nokia Lumia 520 è stata effettuata la prova.
Stesura del codice
Passiamo in visualizzazione codice in modo che scriviamo il codice per estrapolare le informazioni dal file.
Inseriamo in alto, sopra ad ogni riga di codice, lo spazio dei nomi che ci permette di utilizzare determinate classi.
Qui di seguito si riporta i frammenti di codice per entrambi i linguaggi.
VB.Net
Imports System.Drawing.Imaging
Imports System.Net
Imports System.Text
Imports
System.IO
C#
using System.Drawing.Imaging;
using System.Net;
using System.IO;
Gli spazi di nomi ci permettono di gestire i file, richiamare il sito web di Google e la gestione delle immagini.
Si crea una funzione, la quale date le informazioni presenti nel file jpeg, ed in particolare le proprietà relative alle coordinate GPS, quali latitudine e longitudine, rileviamo il dato di tipo float che tramite le api di Google otteniamo l’indirizzo.
Qui di seguito si riporta la funzione che ci permette di ottenere la latitudine e longitudine.
VB.Net
Private Function
GpsToFloat(propItemRef As PropertyItem, propItem As
PropertyItem) As
Single
Dim gradiNumeratore As
UInteger = BitConverter.ToUInt32(propItem.Value,
0)
Dim gradiDenominatore As
UInteger = BitConverter.ToUInt32(propItem.Value,
4)
Dim gradi As Single = gradiNumeratore / CSng(gradiDenominatore)
Dim minutiNumeratore As
UInteger = BitConverter.ToUInt32(propItem.Value,
8)
Dim minutiDenominatore As
UInteger = BitConverter.ToUInt32(propItem.Value,
12)
Dim minuti As Single = minutiNumeratore / CSng(minutiDenominatore)
Dim
secondiNumeratore As UInteger
= BitConverter.ToUInt32(propItem.Value, 16)
Dim secondiDenominatore As
UInteger = BitConverter.ToUInt32(propItem.Value,
20)
Dim secondi As Single = secondiNumeratore / CSng(secondiDenominatore)
Dim coordinate As Single = gradi + (minuti / 60.0F) + (secondi /
3600.0F)
Dim gpsRef As String = System.Text.Encoding.ASCII.GetString(New Byte(0)
{propItemRef.Value(0)})
'N, S, E, W
If gpsRef = "S"
OrElse gpsRef = "W"
Then
coordinate = 0 - coordinate
End If
Return coordinate
End Function
C#
private float GpsToFloat(PropertyItem
propItemRef, PropertyItem propItem)
{
uint gradiNumeratore = BitConverter.ToUInt32(propItem.Value,
0);
uint gradiDenominatore = BitConverter.ToUInt32(propItem.Value,
4);
float gradi = gradiNumeratore / (float)gradiDenominatore;
uint minutiNumeratore = BitConverter.ToUInt32(propItem.Value,
8);
uint minutiDenominatore = BitConverter.ToUInt32(propItem.Value,
12);
float
minuti = minutiNumeratore / (float)minutiDenominatore;
uint secondiNumeratori = BitConverter.ToUInt32(propItem.Value,
16);
uint secondiDenominatori = BitConverter.ToUInt32(propItem.Value,
20);
float
secondi = secondiNumeratori / (float)
secondiDenominatori;
float
coordinate = gradi + (minuti / 60f) + (secondi / 3600f);
string gpsRef = System.Text.Encoding.ASCII.GetString(new byte[1] {
propItemRef.Value[0] }); //N, S, E, W
if (gpsRef == "S" || gpsRef == "W")
coordinate
= 0 - coordinate;
return
coordinate;
}
Nell’evento click, inseriamo il codice che permette di rilevare le informazioni dal file, ed in particolare ottenere la proprietà GPS, la proprietà del dispositivo con il quale abbiamo scattato la foto, la proprietà del sistema operativo del dispositivo ed infine data ed ora della foto.
Queste informazioni le otteniamo tramite il metodo “GEtPropertyItem” che tramite l’id otteniamo queste informazioni dall’oggetto di tipo Image che sarà il file jpeg posizionato nel nostro computer.
Mentre le classi di tipo webrequest e webresponse, otteniamo informazioni dalle api di Google sulle coordinate, e la mappa.
Qui di seguito si riporta il codice completo dell’evento click del pulsante per entrambi i linguaggi.
VB.Net
Private Sub
btnRileva_Click(sender As System.Object, e As
System.EventArgs) Handles
btnRileva.Click
Dim image As Image = New Bitmap("E:\TestGPS.jpg")
'Latitudine
Dim propItemRef As PropertyItem = image.GetPropertyItem(1)
Dim propItemLat As PropertyItem = image.GetPropertyItem(2)
Dim datiLatitudine As
System.Nullable(Of
Single) = GpsToFloat(propItemRef, propItemLat)
TxtLatitudine.Text
= datiLatitudine.ToString()
'logitudine
propItemRef = image.GetPropertyItem(3)
Dim propItemLong As PropertyItem = image.GetPropertyItem(4)
Dim datiLogitudine As
System.Nullable(Of
Single) = GpsToFloat(propItemRef, propItemLong)
txtLogitudine.Text
= datiLogitudine.ToString()
'Rilevo da
google le informazioni
Dim url As String = "http://maps.google.com/maps/api/geocode/xml?latlng={0},{1}&sensor=false"
url = String.Format(url, TxtLatitudine.Text.Trim().Replace(",", "."),
txtLogitudine.Text.Trim().Replace(",",
"."))
Dim request As WebRequest = WebRequest.Create(url)
Using response As WebResponse = DirectCast(request.GetResponse(),
HttpWebResponse)
Using reader As New StreamReader(response.GetResponseStream(),
Encoding.UTF8)
Dim dsResult As New DataSet()
dsResult.ReadXml(reader)
txtIndirizzo.Text = dsResult.Tables("result").Rows(0)("formatted_address").ToString()
End Using
End Using
Dim ascii As Encoding = Encoding.ASCII
TxtNomeDispositovo.Text =
ascii.GetString(image.GetPropertyItem(272).Value, 0,
image.GetPropertyItem(272).Len - 1)
TxtSistema.Text = ascii.GetString(image.GetPropertyItem(305).Value, 0,
image.GetPropertyItem(305).Len - 1)
Dim DataFoto As String =
ascii.GetString(image.GetPropertyItem(36867).Value, 0,
image.GetPropertyItem(36867).Len - 1)
Dim Data As String() = DataFoto.Split("
"c)
Dim DataDellaFoto As String = DateTime.Parse(Data(0).Replace(":", "/")).ToString("dd/MM/yyyy") + "
" + Data(1)
webBrowser1.Navigate("http://maps.googleapis.com/maps/api/staticmap?center="
+ TxtLatitudine.Text.Trim().Replace(",",
".") + ","
+ txtLogitudine.Text.Trim().Replace(",",
".") + "&zoom=15&size=200x200")
TxtTelecamera.Text = ascii.GetString(image.GetPropertyItem(271).Value,
0, image.GetPropertyItem(271).Len - 1)
TxtDataFoto.Text
= DataDellaFoto
End Sub
C#
private void btnRileva_Click(object sender, EventArgs
e)
{
Image image = new Bitmap(@"E:\TestGPS2.jpg");
//Latitudine
PropertyItem propItemRef =
image.GetPropertyItem(1);
PropertyItem propItemLat =
image.GetPropertyItem(2);
float? datiLatitudine = GpsToFloat(propItemRef,
propItemLat);
TxtLatitudine.Text = datiLatitudine.ToString();
//logitudine
propItemRef = image.GetPropertyItem(3);
PropertyItem
propItemLong = image.GetPropertyItem(4);
float? datiLogitudine = GpsToFloat(propItemRef,
propItemLong);
txtLogitudine.Text
= datiLogitudine.ToString();
//Rilevo
da google le informazioni
string url = "http://maps.google.com/maps/api/geocode/xml?latlng={0},{1}&sensor=false";
url
= string.Format(url,
TxtLatitudine.Text.Trim().Replace(",",
"."),
txtLogitudine.Text.Trim().Replace(",",
"."));
WebRequest request = WebRequest.Create(url);
using (WebResponse
response = (HttpWebResponse)request.GetResponse())
{
using (StreamReader
reader = new StreamReader(response.GetResponseStream(),
Encoding.UTF8))
{
DataSet dsResult = new DataSet();
dsResult.ReadXml(reader);
txtIndirizzo.Text = dsResult.Tables["result"].Rows[0]["formatted_address"].ToString();
}
}
Encoding ascii = Encoding.ASCII;
TxtNomeDispositovo.Text =
ascii.GetString(image.GetPropertyItem(272).Value, 0,
image.GetPropertyItem(272).Len - 1);
TxtSistema.Text = ascii.GetString(image.GetPropertyItem(305).Value, 0,
image.GetPropertyItem(305).Len - 1);
string DataFoto =
ascii.GetString(image.GetPropertyItem(36867).Value, 0,
image.GetPropertyItem(36867).Len - 1);
string[]Data = DataFoto.Split(' ');
string DataDellaFoto = DateTime.Parse(Data[0].Replace(":", "/")).ToString("dd/MM/yyyy") + "
" + Data[1];
webBrowser1.Navigate("http://maps.googleapis.com/maps/api/staticmap?center="
+ TxtLatitudine.Text.Trim().Replace(",",
".") + "," + txtLogitudine.Text.Trim().Replace(",", ".")
+ "&zoom=15&size=200x200");
TxtTelecamera.Text = ascii.GetString(image.GetPropertyItem(271).Value,
0, image.GetPropertyItem(271).Len - 1);
TxtDataFoto.Text
= DataDellaFoto;
}
Ora non ci resta che eseguire il programma per rilevare i dati dalla nostra immagine.
Conclusioni
In questo articolo abbiamo visto come realizzare un semplice programma, che può tornare utile soprattutto in ambito di investigazione, per rilevare informazioni su una determinata immagine. Con poche righe di codice, possiamo rilevare dati dai file carpendo molte cose sulle persone ed in particolare gli spostamenti o luoghi che hanno visitato, un articolo che introduce il lettore alla realizzazione di un programma più complesso per rilevamento dei dati importanti.
lunedì 27 giugno 2016
Nanoforum 2016
Ad ottobre a Milano si svolgerà un bellissimo evento gratuito dedicato al mondo nanotecnologie.
L'evento vuole fare il punto dello stato attuale di questo settore e confrontarsi con i migliori esperti del settore che saranno presenti in questi tre giorni speciali.
Il Nanoforum 2016 è l'evento più importante delle nanotecnologie.
Per l'iscrizione, o consultare l'agenda o altre informazioni visitate il seguente sito http://www.nanoforum.it/
venerdì 17 giugno 2016
download free ebook Getting started with Power BI
Come riportato dal seguente sito https://blogs.msdn.microsoft.com/education/2016/06/17/getting-started-with-power-bia-free-e-book-from-microsoft-press/ è possibile scaricare un ebook gratuito di circa 200 pagine in inglese, che introduce al Microsoft Power BI.
L'ebook di Microsoft Press si può scaricare in formato Pdf o per sistemi mobili.
Per maggiori informazioni o download visitate il sito indicato.
domenica 12 giugno 2016
servizio di newsletter gratuita per il vostro sito
Oggi vi segnalo un servizio gratuito in italiano per aggiungere ai vostri siti una newsletter.
Il sito http://www.mailant.it/home.aspx offre un servizio gratuito di newsletter utile per i gestori dei siti, in questo modo potete raggiungere i vostri navigatori, inviando email sulle novità o servizi o prodotti che offrite.
Il sito è in lingua italiana e gestito da italiani, un servizio di qualità e molto interessante.
Vi invito a valutarlo perché è un ottimo strumento per i vostri siti.
venerdì 10 giugno 2016
Evento gratuito Data Driven
Il 21 giugno 2016, nella mattina si svolgerà un evento gratuito per scoprire le nuove funzionalità e potenzialità offerte dall'imminente rilascio del database Microsoft Sql server 2016.
Dal seguente sito https://www.microsoftevents.com/profile/form/index.cfm?PKformID=0x261783f813 è possibile iscriversi all'evento Data Driven, nel quale saranno illustrate le novità di questo database.
Nel sito è presente anche il luogo e l'agenda.
giovedì 9 giugno 2016
Download Sql Server 2016 Express
Da qualche giorno è possibile scaricare la nuova versione di Sql Server 2016 developer, ossia la versione per i programmatori.
Dal seguente sito https://www.microsoft.com/it-IT/download/details.aspx?id=52679 la pagina in italiano per scaricare il database di Microsoft.
Dal seguente sito https://www.microsoft.com/it-IT/download/details.aspx?id=52679 la pagina in italiano per scaricare il database di Microsoft.
domenica 5 giugno 2016
Evento gratuito autodesk
Un evento particolare quello organizzato da Autodesk Italia a Milano, nel quale verranno illustrate alcuni software atti all'utilizzo del mondo automobilistico.
Per maggiori informazioni ed iscrizioni visitate il seguente sito http://gems.autodesk.com/events/autodesk-automotive-launch-tour-milano/event-summary-b8c0b069ce8b4226a7017be4578a2d88.aspx
sabato 4 giugno 2016
Evento gratuito NI Automotive Forum 2016
Torna l'evento più importante in ambito di tecnologia legata alle automobili.
L'evento gratuito NI Automotive Forum 2016, fornisce ai partecipanti la possibilità di scoprire come utilizzare i prodotti di National Instruments per il mondo delle automobili.
Per partecipare iscriversi al seguente sito http://italy.ni.com/automotive-forum nel quale è possibile consultare l'agenda ed il luogo di tale iniziativa.
venerdì 3 giugno 2016
Asp.Net applicazione gratuita di commercio elettronico
Per tutti gli sviluppatori Asp.Net in cerca di soluzioni gratuite ed open source in ambito di commercio elettronico, possono trovare interessante la soluzione "Nopcommerce" scaricabile dal seguente sito http://www.nopcommerce.com/
Un portale nel quale creare applicazioni per la vendita di servizi e prodotti.
Un portale nel quale creare applicazioni per la vendita di servizi e prodotti.
giovedì 2 giugno 2016
C# xelement add xmlns attribute
Nel caso che vogliamo aggiungere un particolare attributo (xmlns) ad un nodo tramite C#, utilizzando la classe xnamespace possiamo aggiungerlo come attributo.
Qui di seguito si riporta un esempio di codice
XNamespace xNamceSpace = "urn:testo";
XElement elemento = new XElement(xNamceSpace + "Nodo",
Valore);
Qui di seguito si riporta un esempio di codice
XNamespace xNamceSpace = "urn:testo";
XElement elemento = new XElement(xNamceSpace + "Nodo",
Valore);
mercoledì 1 giugno 2016
C# linq select increment 1
Se in ambito linq, vogliamo avere un campo auto incrementale di una variabile all'interno di una select, possiamo incrementare la variabile di uno tramite il simbolo +.
Qui di seguito un frammento di codice che illustra come implementare all'interno della select.
int conta = 0;
var risultato = from Dati in Records select new { Dati, Contatore = (++conta).ToString()};
Qui di seguito un frammento di codice che illustra come implementare all'interno della select.
int conta = 0;
var risultato = from Dati in Records select new { Dati, Contatore = (++conta).ToString()};
Iscriviti a:
Post (Atom)