lunedì 25 giugno 2007
Motore di ricerca per trovare frammenti di codice
Di seguito si riporta qualche sito, per poter effettuare delle ricerche per trovare determinati frammenti di codice di programmazione.
http://google.com/codesearch
http://search.serialcoder.net/default.aspx?hl=en
http://www.koders.com/
domenica 24 giugno 2007
Compact Framework impostare o rilevare il volume del dispositivo mobile, tramite visual basic net e C# in ambiente windows mobile
Articolo: Compact Framework impostare o rilevare il volume del dispositivo
mobile, tramite visual basic net e C# in ambiente windows mobile.
In questo articolo, vedremo come rilevare ed impostare il volume, in un
dispositivo mobile, in particolare per i pocketpc windows mobile 2003se,
utilizzando il linguaggio di programmazione Viaual Basic Net e C#.
Per impostare il volume, dobbiamo utilizzare l'api waveOutSetVolume
mentre per ottenere il volume occorre utilizzare la funzione api
waveOutGetVolume della dll coredll.
Inserire lo spazio dei nomi
Inseriamo in un nuovo progetto per dispositivi mobile (pocketpc) lo spazio di
nomi per la gestione delle api di windows mobile, ossia il namespace InteropServices , di seguito si riporta
tale codice.
VB.Net
Imports
System.Runtime.InteropServicesC#
using
System.Runtime.InteropServices;Creazione di un enumerazione e dichiarazione di api
Possiamo impostare il volume, in diverse modalità, alto, basso, molto alto,
ecc. a tal proposito dobbiamo crearci un enumerazione, o meglio una serie di
valori che indicano la tonalità del volume. Tale enumerazione va inserita a
livello di classe.
Di seguito si riporta il frammento di codice per le suddette operazioni:
VB.Net
'enumerazione per il volume
Public
Enum Volumes
As
Integer
OFF = 0
LOW = 858993459
NORMAL = 1717986918
MEDIUM = -1717986919
HIGH = -858993460
VERY_HIGH = -1
End
Enum
C#
//enumerazione per il volume
public
enum
Volumes :
int
{
OFF = 0,
LOW = 858993459,
NORMAL = 1717986918,
MEDIUM = -1717986919,
HIGH = -858993460,
VERY_HIGH = -1
}
Dopo aver creato i valori per la tonalità del volume, non ci resta che
inserire la dichiarazione delle api, in particolare per la funzione
waveOutSetVolume e waveOutGetVolume , tale codice va inserito a livello di
classe. Di seguito si riporta il frammento di codice delle suddette operazioni.
VB.Net
'definizione di api
Declare
Function waveOutSetVolume
Lib
"CoreDll.dll" (ByVal
device As IntPtr,
ByVal volume
As
Integer)
As
Integer
Declare
Function waveOutGetVolume
Lib
"CoreDll.dll" (ByVal
device As IntPtr,
ByRef volume
As
Integer)
As
Integer
C#
//definizione di api
[
DllImport("coredll.dll",SetLastError = true)]
internal
static
extern
int waveOutSetVolume(IntPtr
device, int volume);
[
DllImport("coredll.dll",SetLastError = true)]
internal
static
extern
int waveOutGetVolume(IntPtr
device, ref
int volume);
Impostare o rilevare il volume
Terminata la fase per il richiamo delle funzioni di sistema di windows
mobile, non ci resta che scrivere il codice per rilevare (tramite l'api
waveOutGetVolume ) o impostare (tramite l'api waveOutSetVolume ) il
volume del nostro dispositivo.
Nell'evento click di un pulsante o di una voce di menu, inseriamo il seguente
codice per impostare il volume con tonalità alta.
VB.Net
waveOutSetVolume(IntPtr.Zero,
CType(Volumes.HIGH,Integer))
C#
waveOutSetVolume(
IntPtr.Zero,(int)Volumes.HIGH
);
Mentre per rilevare la tonalità del volume del nostro dispositivo, dobbiamo
utilizzare l'api waveOutGetVolume il quale accetta due valori, uno il
puntare del dispositivo, mentre il secondo, un valore numerico, indicante la
tonalità del volume.
Nell'evento click di un pulsante o di una voce di menu inseriamo il seguente
codice:
VB.Net
Dim
intOttieni AsInteger = 0
waveOutGetVolume(IntPtr.Zero, intOttieni)
Dim StrVolume
As
String =
""
Select
Case intOttieni
Case
CType(Volumes.OFF,
Integer)
"OFF"StrVolume =
Case
CType(Volumes.LOW,
Integer)
"LOW"StrVolume =
Case
CType(Volumes.NORMAL,
Integer)
"NORMAL"StrVolume =
Case
CType(Volumes.MEDIUM,
Integer)
"MEDIUM"StrVolume =
Case
CType(Volumes.HIGH,
Integer)
"HIGH"StrVolume =
Case
CType(Volumes.VERY_HIGH,
Integer)
"VERY_HIGH"StrVolume =
Case
Else
"OFF"StrVolume =
End
Select
MessageBox.Show(StrVolume)
C#
int volume = (int)0;
waveOutGetVolume(
IntPtr.Zero,ref volume);
string sVolume =
"";
switch (volume)
{
case (int)Volumes.OFF:
"OFF";sVolume =
break;
case (int)Volumes.LOW:
"LOW";sVolume =
break;
case (int)Volumes.NORMAL:
"NORMAL";sVolume =
break;
case (int)Volumes.MEDIUM:
"MEDIUM";sVolume =
break;
case (int)Volumes.HIGH:
"HIGH";sVolume =
break;
case (int)Volumes.VERY_HIGH:
"VERY_HIGH";sVolume =
break;
default:
"OFF";sVolume =
break;
}
MessageBox.Show(sVolume);
Conclusione.
In questo articolo si è visto come utilizzando le api di windows mobile, per
impostare o rilevare le impostazioni del dispositivo mobile. Si fa presente che
tale codice si può utilizzare sia in ambiente windows mobile 2003 e sia nella
versione 5.0.
venerdì 22 giugno 2007
Impostare lo sfondo della form in modo gradiente (VB.Net e C#)
Trucco: Impostare lo sfondo della form in modo gradiente
Per impostare lo sfondo di una form in modo gradiente, occorre intervenire nell'evento paint della form, utilizzando la classe LinearGradientBrush dello spazio dei nomi Drawing2 e la classe Rectangle, di seguito si riporta un esempio di codice.
VB.Net
Dim rectForm As New Rectangle(New Point(0, 0), Me.ClientSize)
Dim lineaGradiente As New Drawing2D.LinearGradientBrush(rectForm, Color.Green, _
Color.White, Drawing.Drawing2D.LinearGradientMode.Horizontal)
e.Graphics.FillRectangle(lineaGradiente, rectForm)
C#
Rectangle RectForm = new Rectangle(new Point(0,0), this.ClientSize);
LinearGradientBrush LineaGradiente = new LinearGradientBrush(RectForm, Color.Green, Color.White, LinearGradientMode.Horizontal);
e.Graphics.FillRectangle(LineaGradiente, RectForm);
giovedì 21 giugno 2007
Filenet: Inserire un documento tramite VB.Net e C#
Articolo Filenet: Inserimento di un documento tramite Visual Basic .Net e C#.
Figura 1
Introduzione:
In questo articolo, vedremo come inserire un documento in filenet, in particolare tramite un applicazione in ambiente Windows Application con la tecnologia .net (linguaggi VB.Net e C#). Dopo aver selezionato uno o più file, l'inserimento avviene tramite l'utilizzo dell'oggetto document, i file saranno inseriti in un apposita cartella di Filenet, creata precedentemente.
Creazione della form.
Inseriamo nella form, quattro pulsanti, un controllo listbox, che avrà il compito di visualizzare il percorso e nome dei file selezionati e due label, la finestra dovrà avere un aspetto simile a quella mostrata in figura 1. Nell'evento click del pulsante Esci, scriviamo il seguente codice:
Vb.Net
Me.Close()
C#.
this
.close();Mentre per il pulsante con la scritta rimuovi il seguente codice, il quale rimuove la voce selezionata nell'elenco dei file.
Vb.Net
lstFile.Items.Remove(lstFile.SelectedItem)
C#
lstFile.Items.Remove(lstFile.SelectedItem);
Infine per il pulsante seleziona file, il seguente frammento codice, che visualizza una finestra di dialogo per la selezione dei file.
Vb.NEt
If
OpenFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK ThenlstFile.Items.Add(OpenFileDialog1.FileName.ToString())
End If
C#
if (OpenFileDialog1.ShowDialog() == DialogResult.OK)
lstFile.Items.Add(OpenFileDialog1.FileName.ToString());
I tre pulsanti, illustrati precedentemente, hanno il compito di uscire dal programma, rimuovere dalla listbox l'elemento selezionato, mentre l'ultimo pulsante ha il compito di visualizzare una finestra per la selezione dei file.
Si crea a livello di form, un oggetto di tipo library, il quale ci permette la gestione dei documenti, di seguito si riporta il suddetto codice:
Vb.Net
Private objLibreria As New IDMObjects.Library
C#
private IDMObjects.Library objLibreria = new IDMObjects.Library();
Infine modifichiamo il costruttore della form, in questo modo quando verrà richiamata tale finestra, viene passato l'oggetto library, di cui precedentemente abbiamo utilizzato per effettuare il login.
Vb.Net
Sub
New(ByVal libreria As IDMObjects.Library)InitializeComponent()
objLibreria = libreria
End Sub
C#
//secondo costruttore
public FrmInserisciDocumento(IDMObjects.Library libreria)
{
objLibreria = libreria;
InitializeComponent();
}
Inserimento del file
Per inserire un file in Fiilenet CS o IS, possiamo utilizzare gli oggetti folder (per la cartella) document, che permette la gestione del file, e library, il quale rappresenta la classe della libreria di cui abbiamo effettuato il login.
La proprietà Properties dell'oggetto document, permette di impostare il valore di una determinata proprietà, mentre il metodo savenew, salva il file. Il metodo file, dell'oggetto folder, assegna all'oggetto document, la cartella in cui verranno inseriti i file.
Di seguito si riporta il codice completo per l'inserimento di un file (situato nell'evento click del pulsante per l'inserimento dei file).
Vb.Net
'oggetto cartella
Dim ObjFolder As IDMObjects.Folder
'oggetto document
Dim ObjDocumento As New IDMObjects.Document
Try
'si possono inserire anche le array - creo l'oggetto di tipo documeto, indicandogli la classe documentale come secondo argomento
ObjDocumento = objLibreria.CreateObject(IDMObjects.idmObjectType.idmObjTypeDocument,
"ClasseTest")'imposto la proprietà name
'assegno il nome del file
ObjDocumento.Properties(
"idmName").Value = "test.txt"'imposto il valore di un altra proprietà
If ObjDocumento.Properties.Item(2).PropertyDescription.GetState(IDMObjects.idmPropDescState.idmPropReadOnly) = False Then ObjDocumento.Properties.Item(2).Value = "prova"
'imposto la cartella in cui salvare il file, si può anche evitare - il secondo parametro è il codice identificativo della cartella
ObjFolder = objLibreria.GetObject(IDMObjects.idmObjectType.idmObjTypeFolder, "1156511789")
'imposto la cartella per l'oggetto documento
ObjFolder.File(ObjDocumento)
Dim StrArrFile() As String
ReDim Preserve StrArrFile(lstFile.Items.Count - 1)
For intConta As Integer = 0 To lstFile.Items.Count - 1
StrArrFile(intConta) = lstFile.Items(intConta).ToString()
Next
'salvo il documento, il secondo parametro indica di non spostarlo ma solo copiarlo
ObjDocumento.SaveNew(StrArrFile, IDMObjects.idmSaveNewOptions.idmDocSaveNewKeep)
Catch ex As Exception
Dim ObjErrorManager As New IDMError.ErrorManager
Dim ObjErrori As IDMError.Errors
Dim StrTestoErrore As String = ""
Dim objErrore As IDMError.Error
If ObjErrorManager.Errors.Count > 0 Then
'ciclo per tutti gli erroriObjErrori = ObjErrorManager.Errors
For Each objErrore In ObjErrori
StrTestoErrore = objErrore.Description
Next
Else
StrTestoErrore = ex.Message
End If
MsgBox(StrTestoErrore)
Finally
NothingObjFolder =
ObjDocumento =
NothingEnd Try
C#
//oggetto cartella
IDMObjects.Folder objFolder =
new IDMObjects.Folder();//oggetto document
IDMObjects.Document ObjDocumento =
new IDMObjects.Document();//si possono inserire anche nomi di tipo array
"ClasseTest", System.Reflection.Missing.Value, System.Reflection.Missing.Value, System.Reflection.Missing.Value);ObjDocumento = (IDMObjects.Document)objLibreria.CreateObject(IDMObjects.idmObjectType.idmObjTypeDocument,
//imposto la proprietà nome ed un altra personalizzata
//assegno il nome del file
ObjDocumento.Properties[
"idmName"].Value = "test.txt";if (ObjDocumento.Properties[2].PropertyDescription.GetState(IDMObjects.idmPropDescState.idmPropReadOnly) == false )
ObjDocumento.Properties[2].Value =
"prova";//imposto la cartella in cui salvare il file, si può evitare
objFolder = (IDMObjects.Folder)objLibreria.GetObject(IDMObjects.idmObjectType.idmObjTypeFolder,
"1156511789", null, null, null);//imposto la cartella del documento
objFolder.File(ObjDocumento);
string[] StrArrFile;
StrArrFile =
new string[lstFile.Items.Count - 1 ];for (int IntConta = 0; IntConta < lstFile.Items.Count - 1; IntConta++)
{
StrArrFile[IntConta] = lstFile.Items[IntConta].ToString();
}
//salvo il documento lasciando un copia sul pc
ObjDocumento.SaveNew(StrArrFile, IDMObjects.idmSaveNewOptions.idmDocSaveNewKeep);
}
catch (Exception ex)
{
new IDMError.ErrorManager();IDMError.ErrorManager ObjErrorManager =
IDMError.Errors ObjErrori;
string StrTestoErrore = "";
IDMError.Error ObjErrore;
//verifico che in filenet ci siano errori
if (ObjErrorManager.Errors.Count > 0)
{
//ciclo per tutti gli erroriObjErrori = ObjErrorManager.Errors;
foreach (IDMError.Error objErrore in ObjErrori)
{
StrTestoErrore = objErrore.Description;
}
}
else
{
StrTestoErrore = ex.Message;
}
MessageBox.Show(StrTestoErrore, "FileNet");
}
Chiusura della form
Per concludere, quando si chiude la finestra prima di eliminare gli oggetti in memoria, dobbiamo chiudere la connessione a filenet, questo avviene tramite il metodo logoff, verificando che la connessione è ancora attiva. Queste operazioni vanno effettuate nell'evento closing della form. Di seguito si riporta un esempio di codice:
Vb.Net
Try
If objLibrary.GetState(IDMObjects.idmLibraryState.idmLibraryLoggedOn) = True Then
'chiudo la connessione
objLibrary.Logoff()
End If
Catch ex As Exception
Dim ObjErrorManager As New IDMError.ErrorManager
Dim ObjErrori As IDMError.Errors
Dim StrTestoErrore As String = ""
Dim objErrore As IDMError.Error
If ObjErrorManager.Errors.Count > 0 Then
'ciclo per tutti gli erroriObjErrori = ObjErrorManager.Errors
For Each objErrore In ObjErrori
StrTestoErrore = objErrore.Description
Next
Else
StrTestoErrore = ex.Message
End If
MsgBox(StrTestoErrore)
Finally
'distruggo l'oggetto
objLibrary =
NothingEnd Try
C#
try
if (objLibrary.GetState(IDMObjects.idmLibraryState.idmLibraryLoggedOn) = True ){
{
//chiudo la connessione
ObjLibrary.Logoff();
}
}
catch (Exception ex)
{
IDMError.ErrorManager ObjErrorManager =
new IDMError.ErrorManager();IDMError.Errors ObjErrori;
string StrTestoErrore = "";
IDMError.Error ObjErrore;
//verifico che in filenet ci siano errori
if (ObjErrorManager.Errors.Count > 0)
{
ObjErrori = ObjErrorManager.Errors;
//ciclo per tutti gli errori
foreach (IDMError.Error objErrore in ObjErrori)
{
StrTestoErrore = objErrore.Description;
}
}
else
{
StrTestoErrore = ex.Message;
}
MessageBox.Show(StrTestoErrore, "FileNet");
}
finally
{
//distruggo l'oggetto
ObjLibrary =
null;}
Conclusioni
In questo articolo, si è visto come inserire un documento in filenet, utilizzando l'oggetto folder, document e library, possiamo inserire uno o più file in determinate cartelle di filenet e con determinati nomi. Tramite la parola download è possibile effettuare scaricare l'esempio utilizzato in questo articolo.
I siti web di riferimento:
http://www.filenet.com/Italiano/index.asp Italia
http://www.filenetinfo.com/mk/get/feis_ita_reg Per richiedere gratuitamente il cd "FileNet is Essential"
http://www.filenet.com/ (Inglese)
mercoledì 20 giugno 2007
Download libro gratuito Mai dire mail
Oggi vi segnalo un libro in formato pdf, da questo sito http://www.sonda.it/Default.aspx?sezid=155 potete scaricare il libro Mai dire Mail, nel quale si trovano racconti che giravano via email nei primi anni del 2000. Racconti presi dal web, riguardante l'informatica e non solo :-).
Che dirvi .... buona lettura :-)))
martedì 19 giugno 2007
download gratuito filtro anti spam per outlook e outlook express
Se state cercando un programma gratuito per il filtro anti spam per il programma di posta elettronica Microsoft Outlook e Outlook Express, da questo sito http://www.spamfighter.com/Lang_it/Download_Marketplace.asp potete scaricare SPAMfighter un software per questo tipo di attività.
Che dirvi... buon filtraggio :-))))
lunedì 18 giugno 2007
download MSDN Library (edizione giugno 2007) – Include la documentazione di Visual® Studio 2005 Service Pack 1.
Da questo sito http://www.microsoft.com/downloads/details.aspx?FamilyID=b8704100-0127-4d88-9b5d-896b9b388313&DisplayLang=it potete scaricare la msdn edizione giungo 2007, una valida guida, per chi utilizza l'ambiente di sviluppo Visual Studio 2005. Il file è in formato Iso, per tanto la spiegazione per la gestione del file è illustrata nella pagina.
giovedì 14 giugno 2007
Vba aggiungere un pulsante alla barra standar di outlook
Introduzione:
In questo articolo, vedremo come aggiungere nella barra di outlook un pulsante (Figura 1), in particolare nella barra standard, il pulsante esegue a sua volta del codice il tutto tramite il linguaggio Visual Basic Application (VBA).
Figura 1
Inviare file di grandi dimensioni
Il seguente sito http://www.transferbigfiles.com/Default.aspx permette di inviare ad una casella di posta elettronica, un email contenente un collegamento ipertestuale, dove si potrà scaricare gratuitamente il file di grandi dimensione.
Il servizio completamente gratuito, funziona indicando il file da caricare e l'indirizzo email della persona a cui si vuole inviare il file.
mercoledì 13 giugno 2007
Impostare lo sfondo di una form con un immagine tramite VB.Net e C#
Trucco: Impostare tutto lo sfondo di una form, con una determinata immagine jpg, in vb.net e c#
Se vogliamo applicare ad una determinata form, uno sfondo, di una nostra immagine jpg, e tale immagine occupi tutta l'area della form (tutto lo sfondo) anche nel ridimensionare la form. Utilizzando un oggetto di image, per il metodo drawimage nell'evento paint, possiamo applicare l'immagine alla form, mentre nell'evento resize, invocando il metodo Invalidate, possiamo aggiornare lo sfondo in modo corretto.
Di seguito si riporta tale codice.
Vb.NEt
Nell'evento paint inserire il seguente codice
Private
Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.PaintDim imgImmagine As Image = Image.FromFile("C:\icone\jpg\Lupin6.jpg")
e.Graphics.DrawImage(imgImmagine, e.ClipRectangle)
End Sub
Nell'evento resize inserire il seguente codice:
Private
Sub Form1_Resize(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.ResizeMe.Invalidate()
End Sub
C#
Nell'evento paint inserire il seguente codice.
private void Form1_Paint(object sender, PaintEventArgs e)
{
Image ImgImmagine = Image.FromFile("C:\\icone\\jpg\\Lupin.jpg");
e.Graphics.DrawImage(ImgImmagine, e.ClipRectangle);
}
Mentre nell'evento resize inserire il codice qui di seguito
private void Form1_Resize(object sender, EventArgs e)
{
this.Invalidate();
}
martedì 5 giugno 2007
Scambio gratuito dei libri
Davvero un simpatica e carina iniziativa.
Che dirvi... buono scambio :-)
domenica 3 giugno 2007
Trucchi sul controllo datagridview
sabato 2 giugno 2007
Creare file pdf on line
Il servizio è gratuito, una volta impostato il file, tramite il pulsante submit viene generato il file pdf.
Davvero molto carino, complimenti per l'idea ed il servizio.
Compact Framework - Aprire il calendario di Outlook, i contatti e le attività tramite Visual Basic Net e C# in ambiente Windows Mobile 5.0
Trucco CF: Aprire il calendario di outlook, i contatti e le attività, tramite visual basic net e c# in ambiente windows mobile 5.0
Tramite la classe process, possiamo avviare il programma outlook per aprire il calendario, contatti, le attività, basterà cambiare l'argomento da passare al file.
Di seguito si riporta un frammento di codice.
'calendario
Vb.Net
Dim
proc As New System.Diagnostics.Process()proc.EnableRaisingEvents =
Falseproc.StartInfo.FileName =
"poutlook.exe"proc.StartInfo.Arguments =
"calendar -vd"proc.Start()
C#
System.Diagnostics.
Process proc = new System.Diagnostics.Process();proc.EnableRaisingEvents =
false;proc.StartInfo.FileName =
"poutlook.exe";proc.StartInfo.Arguments =
"calendar -vd";proc.Start();
'contatti
Vb.Net
Dim proc As New System.Diagnostics.Process()
proc.EnableRaisingEvents =
Falseproc.StartInfo.FileName =
"poutlook.exe"proc.StartInfo.Arguments =
"contacts "proc.Start()
C#
System.Diagnostics.
Process proc = new System.Diagnostics.Process();proc.EnableRaisingEvents =
false;proc.StartInfo.FileName =
"poutlook.exe";proc.StartInfo.Arguments =
"contacts ";proc.Start();
'Attività
Vb.Net
Dim proc As New System.Diagnostics.Process()
proc.EnableRaisingEvents =
Falseproc.StartInfo.FileName =
"poutlook.exe"proc.StartInfo.Arguments =
"tasks"proc.Start()
C#
System.Diagnostics.
Process proc = new System.Diagnostics.Process();proc.EnableRaisingEvents =
false;proc.StartInfo.FileName =
"poutlook.exe";proc.StartInfo.Arguments =
"tasks";proc.Start();