ottobre 2006 - Posts
Trucco: Javascript - Visualizzare un menu con collegamento ipertestuale, tramite tasto destro.
Tramite javascript possiamo inserire un meno con le varie voci a collegamento ipertestuale (che riguardano siti) , quando si fa click sulla pagina con il tasto destro del mouse.
I frammenti di codice da inserire sono due, il primo va posizionato dove si trova il tag <head> mentre il secondo dove si trova il tag <body>
Il codice riportato di seguito, va inserito subito dopo il tag <head>
<STYLE>
#contextMenu {
position: absolute;
visibility: hidden;
width: 120px;
background-color: lightgrey;
layer-background-color: lightgrey;
border: 2px outset white;
}
.A:Menu {
color: black;
text-decoration: none;
cursor: default;
width: 100%
}
.A:MenuOn {
color: white;
text-decoration: none;
background-color: darkblue;
cursor: default;
width: 100%
}
</STYLE>
<SCRIPT>
var menu;
function showMenu (evt) {
if (document.all) {
document.all.contextMenu.style.pixelLeft = event.clientX;
document.all.contextMenu.style.pixelTop = event.clientY;
document.all.contextMenu.style.visibility = 'visible';
return false;
}
else if (document.layers) {
if (evt.which == 3) {
document.contextMenu.left = evt.x;
document.contextMenu.top = evt.y;
document.contextMenu.onmouseout =
function (evt) { this.visibility = 'hide'; };
document.contextMenu.visibility = 'show';
return false;
}
}
return true;
}
if (document.all)
document.oncontextmenu =showMenu;
if (document.layers) {
document.captureEvents(Event.MOUSEDOWN);
document.onmousedown = showMenu;
}
</SCRIPT>
Mentre il codice riportato di seguito va inserito subito dopo il tag <body>
<DIV ID="contextMenu"
ONMOUSEOUT="menu = this; this.tid = setTimeout
('menu.style.visibility = \'hidden\'', 20);"
ONMOUSEOVER="clearTimeout(this.tid);">
<A HREF="http://www.shareoffice.it";
CLASS="menu"
ONMOUSEOVER="this.className = 'menuOn'"
ONMOUSEOUT="this.className = 'menu';">
sito shareoffice.it
</A>
<BR>
<A HREF="http://blog.shareoffice.it/emanuele/"; CLASS="menu"
ONMOUSEOVER="this.className = 'menuOn'"
ONMOUSEOUT="this.className = 'menu';">
Blog personale
</A>
</DIV>
A questo punto, salvate la vostra pagina html, e aprite tale file dal vostro browser, fate click con il tasto destro, e vedrete un menu con due voci, che riportato ai due siti impostati.
Rilevare la versione di windows Mobile
Di seguito riporto un breve schema delle versioni di windows mobile, per fare chiarezza sulle versioni che si trovano in commercio (le più recenti), tramite la finestra about o informazioni su, possiamo sapere il sistema operativo di windows mobile, di seguito si riporta la versione per le varie diciture per la parola windows ce. La parola voce: indica il testo che si può trovare nella finestra informazioni su o about, mentre la parola versione, corrisponde alla versione del sistema operativo windows mobile
Voce: Windows CE 5.0
Versione: Windows Mobile 5.0
Voce: Windows CE 4.2:
Versione: Windows Mobile 2003 oppure Windows Mobile 2003 Second Edition
Voce: Windows CE 3.0:
Versione: Pocket PC 2002
Versione:Pocket PC 2002 Phone Edition
Versione: Pocket PC 2000,
Versione: Pocket PC Phones
Versione: SmartPhone 2002
Versione: Handheld PC 2000
Versione: BE-300
Da questo sito http://c2.microsoft.fr/fdaec9c6334c48ffaaa9d78b7b9f9210/Default.aspx?elng=1040 potete partecipare alla compilazione di un questionario di valutazione, sul prodotto Visual Studio.
Tale questionario (a mio avviso importante) permetterà di capire le nuove implementazione e correzioni da applicare alla nuova versione del prodotto Visual Studio 2007 (forse) (attualmente orcas )
Allora perchè non parteicpare :-)
Trucco Compact Framework: Rilevare la versione di Windows in cui gira il programma. Visual Basic .Net e C#
Tramite la proprietà major della classe Environment, possiamo ottenere la versione del sistema operativo di Windows mobile.
Di seguito si riporta un esempio di codice.
Vb.Net
If System.Environment.OSVersion.Version.Major < 5 Then
MessageBox.Show(
"Versione 2003")
Else
MessageBox.Show(
"Versione 5.0")
End If
C#
if (System.Environment.OSVersion.Version.Major < 5)
{
MessageBox.Show("Versione 2003");
}
else
{
MessageBox.Show("Versione 5.0");
}
Trucco Smart Device: Visualizzare il nome del dispositivo in una rete tramite visual basic.net e c#, compact framework 2.0
Di seguito si riporta un frammento di codice per rilevare il nome del dispositivo in una rete. Tramite il metodo gethostname della classe Dns, possiamo rilevare tale valore.
Vb.Net
Dim deviceName As String = System.Net.Dns.GetHostName()
MsgBox(
"Nome: " & deviceName)
C#
string deviceName = System.Net.Dns.GetHostName();
MessageBox.Show("Nome: " + deviceName);
Trucco: Compact Framework - Verificare che il dispositivo è connesso alla rete tramite Visual Basic .Net e C# in ambiente mobile
Tramite il namespace .net e le classi dns e iphostentry, possiamo verificare che il dispositivo sia collegato alla rete. Di seguito si riporta un frammento di codice.
Namaspace
Vb.Net
Imports
System.Net
C#
using
System.Net;
Codice
Vb.Net
Try
Dim strHostNome As String = Dns.GetHostName()
Dim Host As IPHostEntry = Dns.GetHostByName(strHostNome)
if Host.AddressList(0).ToString() <> IPAddress.Loopback.ToString() then
MessageBox.Show("connesso");
else
MessageBox.Show("connesso");
end if
Catch ex As Exception
MessageBox.Show(ex.Message)
MessageBox.Show("non connesso");
End Try
C#
try
{
string strHostNome = Dns.GetHostName();
IPHostEntry Host = Dns.GetHostByName(strHostNome);
if ( Host.AddressList[0].ToString() !=
IPAddress.Loopback.ToString()) == true;
{
MessageBox.Show("connesso");
}
else
{
MessageBox.Show("non connesso");
}
}
catch (Exception ex )
{
MessageBox.Show(ex.Message);
MessageBox.Show("non connesso");
}
Trucco Compact Framework: Cambiare lo stato (Reset o Standby) del dispositivo tramite Visual Basic net e C# in ambiente windows mobile 2003se
Tramite l'api SetSystemPowerState è possibile avviare o spegnere il dispositivo mobile si con il compact framework 1.0 che 2.0. Di seguito si riportano i frammenti di codice in visual Basic Net e C#
Vb.Net
Imports
System.Runtime.InteropServices
C#
using
System.Runtime.InteropServices;
Vb.Net
'dichiarazione a livello di classe
Const POWER_STATE_OFF As Integer = &H20000
Const POWER_STATE_SUSPEND As Integer = &H200000
Const POWER_FORCE As Integer = 4096
<DllImport("Coredll.dll")> _
Private Shared Function SetSystemPowerState(ByVal psState As String, ByVal StateFlags As Integer, ByVal Options As Integer) As Integer
End Function
C#
// dichiarazione a livello di classe
const int POWER_STATE_OFF = 0x0020000;
const int POWER_STATE_SUSPEND = 0x00200000;
const int POWER_FORCE = 0x00001000;
private void button1_Click(object sender, EventArgs e)
[
DllImport("Coredll.dll")]
static extern int SetSystemPowerState(string psState , int StateFlags , int Options ) ;
Vb.Net
'es. da inserire in un evento click del pulsante
SetSystemPowerState(
Nothing, POWER_STATE_SUSPEND, POWER_FORCE)
C#
// es. da inserire in un evento click del pulsante
SetSystemPowerState(null, POWER_STATE_OFF, POWER_FORCE);
Trucco: Excel - Creare una tabella pivot in Visual Basic .Net
Si ringranzia Pierluigi rpierluigi@hotmail.com per aver messo a disposizione della comunità il seguente trucco.
Il seguente script, permette di creare una tabella pivot in Excel tramite il linguaggio Visual Basic .Net, partendo da un file excel già impostato con determinate campi e valori.
Vediamo di seguito tale codice:
Aggiungere al progetto il riferimento a microsoft Excel.
Nel progetto inseriamo il namespace.
Imports
System
Imports
Microsoft.Office.Interop
Si crea una funzione la quale accetta come argomento il percorso e nome del file. La funzione avrà il compito di creare gli oggetti (excel.applicaton, excel.workbook, excel.worksheet) per la gestione del file di excel. Tramite il metodo PivotTableWizard dell'oggetto worksheet e tramite il metodo PivotTables dell'oggetto ActiveSheet si crea la tabella pivot.
Di seguito si riporta la funzione che svolgerà tale attività.
Private Function TabellaPivot(ByVal NomeFileIn As String)
Dim PivotTabella As Excel.Application
Dim XlwbDati As Excel.Workbook
Dim XlshDati As Excel.Worksheet
'instanzio l'oggetto application
PivotTabella = CreateObject(
"Excel.Application")
XlwbDati = PivotTabella.Workbooks.Open(NomeFileIn)
Try
'lo rendo visibile
PivotTabella.Visible =
True
'Mi posiziono sul foglio attivo
XlshDati = XlwbDati.ActiveSheet
'Oggetto corretto per Tabella Pivot
With XlshDati
.PivotTableWizard(SourceType:=Excel.XlSourceType.xlSourceSheet, _
SourceData:=.Cells(1, 1).CurrentRegion, TableDestination:=
"", _
TableName:=
"Multidim1", HasAutoFormat:=True, _
SaveData:=
True)
End With
With XlwbDati.ActiveSheet
.PivotTables(
"Multidim1").AddFields(RowFields:= _
"Cognome Nome", ColumnFields:="Mese", PageFields:="Anno")
.PivotTables(
"Multidim1").PivotFields("GG Totali"). _
Orientation = 4
' xlDataField
.Name =
"AnalisiTrasf"
End With
Catch ex As Exception
MessageBox.Show(ex.Message,
"Programma Excel", MessageBoxButtons.OK, MessageBoxIcon.Error)
Finally
'distruggo gli oggetti creati
PivotTabella =
Nothing
XlshDati =
Nothing
XlwbDati =
Nothing
End Try
Return Nothing
End Function
Ottimo punto di partenza, nonché ottima tecnica per chi deve scrivere applicazioni di livello avanzato, in ambiente Microsoft Excel. Si ringrazia Pierluigi per aver condiviso con la comunità questa interessante soluzione, un augurio di vederlo presto in comunità con un suo blog. Ti aspettiamo :-) .
Tramite la parola Download è possibile scaricare il file di esempio di questo breve articolo.
Download esempio
Da questo sito http://blogs.devleap.com/emanuelem/articles/14471.aspx potete leggere un articolo su come rilevare il codice identificativo del dispositivo mobile, tramite Visual Basic Net e C#.
Che dirvi ... buona lettura :-)
FT: Creazione di un file .reg per creare un menu di scelta rapida per la registrazione di dll e activeX (.ocx)
Eccomi con un fuori tema, questa volta su windows. Attenzione questo trucco modificherà il registro di sistema, per tanto non sono responsabile di un uso errato o problemi che potrebbero derivare. Per tanto consiglio di fare molta ma molta attenzione.
Se vogliamo inserire nel menu di scelta rapida (tasto destro del mouse) una voce che permetta la registrazione e deregistrazione dei componenti .dll e ActiveX (.ocx). Creare un file .reg tramite notepad, con il seguente codice.
[HKEY_CLASSES_ROOT\.dll]
"Content Type"="application/x-msdownload"
@="dllfile"
[HKEY_CLASSES_ROOT\dllfile]
@="Application Extension"
[HKEY_CLASSES_ROOT\dllfile\Shell\Register\command]
@="regsvr32.exe \"%1\""
[HKEY_CLASSES_ROOT\dllfile\Shell\UnRegister\command]
@="regsvr32.exe /u \"%1\""
; ==========
; .OCX files
; ==========
[HKEY_CLASSES_ROOT\.ocx]
@="ocxfile"
[HKEY_CLASSES_ROOT\ocxfile]
@="OCX"
[HKEY_CLASSES_ROOT\ocxfile\Shell\Register\command]
@="regsvr32.exe \"%1\""
[HKEY_CLASSES_ROOT\ocxfile\Shell\UnRegister\command]
@="regsvr32.exe /u \"%1\""
A questo punto salvate il file con l'estensione .reg e fate doppio click su tale file, verrà modificato il registro di sistema, inserendo nel menu di scelta rapida due voci, una permette la registrazione della dll o activeX e l'altro la deregistrazione. Si consiglia di fare una copia del registro di sistema.
Da questo sito http://blogs.devleap.com/emanuelem/articles/14449.aspx potete leggere un articolo riguardante filenet, in particolare sulla creazione delle custom property e classi documentali.
Che dirvi... buona lettura.
Segnalazione Tools: Editor per le pagine Web.
Da questo sito http://freetextbox.com/ potete scaricare un simpatico tools o meglio componente da inserire nelle vostre pagine web (Asp.net) permette di avere un editor di testo, davvero molto carino. Compatibile con i browser IE e mozilla e firefox.