lunedì 25 giugno 2007

Motore di ricerca per trovare frammenti di codice

Segnalazione siti: Motori di ricerca per 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.InteropServices



C#



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 As
Integer = 0


waveOutGetVolume(IntPtr.Zero, intOttieni)


Dim StrVolume
As
String =
""



Select
Case intOttieni



Case
CType(Volumes.OFF,
Integer)



StrVolume = "OFF"




Case
CType(Volumes.LOW,
Integer)



StrVolume = "LOW"




Case
CType(Volumes.NORMAL,
Integer)



StrVolume = "NORMAL"




Case
CType(Volumes.MEDIUM,
Integer)



StrVolume = "MEDIUM"




Case
CType(Volumes.HIGH,
Integer)



StrVolume = "HIGH"




Case
CType(Volumes.VERY_HIGH,
Integer)



StrVolume = "VERY_HIGH"




Case
Else




StrVolume = "OFF"





End
Select



MessageBox.Show(StrVolume)



C#



int volume = (int)0;


waveOutGetVolume(IntPtr.Zero,
ref volume);


string sVolume =
"";


switch (volume)


{



case (int)Volumes.OFF:



sVolume = "OFF";


break;



case (int)Volumes.LOW:



sVolume = "LOW";


break;



case (int)Volumes.NORMAL:



sVolume = "NORMAL";


break;



case (int)Volumes.MEDIUM:



sVolume = "MEDIUM";


break;



case (int)Volumes.HIGH:



sVolume = "HIGH";


break;



case (int)Volumes.VERY_HIGH:



sVolume = "VERY_HIGH";


break;



default:



sVolume = "OFF";



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 Then


lstFile.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



ObjErrori = ObjErrorManager.Errors


'ciclo per tutti gli errori


For Each objErrore In ObjErrori



StrTestoErrore = objErrore.Description


Next


Else


StrTestoErrore = ex.Message


End If


MsgBox(StrTestoErrore)


Finally



ObjFolder = Nothing


ObjDocumento = Nothing


End 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



ObjDocumento = (IDMObjects.Document)objLibreria.CreateObject(IDMObjects.idmObjectType.idmObjTypeDocument, "ClasseTest", System.Reflection.Missing.Value, System.Reflection.Missing.Value, System.Reflection.Missing.Value);


//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)


{



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");


}


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



ObjErrori = ObjErrorManager.Errors


'ciclo per tutti gli errori


For Each objErrore In ObjErrori


StrTestoErrore = objErrore.Description


Next


Else



StrTestoErrore = ex.Message


End If


MsgBox(StrTestoErrore)


Finally


'distruggo l'oggetto


objLibrary = Nothing


End 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.


Download esempio


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

Ingrandisci la copertina


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

SPAMfighter


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

Inserire un pulsante nella barra standard di outlook (VBA)



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


Apertura del VBA Editor.

Il codice per la creazione del pulsante verrà inserito nell’evento di startup, ossia quando si avvia outlook, si noti che la protezione delle macro, dev’essere impostata in modo che venga eseguito il codice (protezione media con un messaggio a video di richiesta se eseguire o no il codice macro) .

Per aprire l’ambiente vba, dal menu strumenti, selezionare la voce macro e successivamente la voce Visual Basic Editor, verrà aperta la finestra di VBA, a questo punto selezionare nella casella combinata la voce application mentre nella casella combinata degli eventi (quella di destra) la voce startup.


Codice per la creazione del pulsante.

Si dichiara a livello di progetto, un oggetto di tipo CommandBarButton tramite la parola chiave withevents possiamo impostare il relativo evento di tale oggetto. Quest’oggetto rappresenta un pulsante della barra dei comandi di outlook.

Di seguito si riporta un esempio di codice:


Dim WithEvents objPulsante As CommandBarButton


Nell’evento startup dell’oggetto application, inseriamo il codice per la creazione di un pulsante. In particolare un oggetto di tipo Outlook.Application per la gestione dell’applicativo outlook, un oggetto di tipo Office.CommandBar per la gestione delle barre e l’oggetto creato in precedenza.


Di seguito si riporta un frammento di codice di esempio:


Private Sub Application_Startup()

'oggetto outlook

Dim ObjApp As New Outlook.Application


'oggetto barra

Dim ObjBarra As Office.CommandBar


'imposto la barra

Set ObjBarra = ObjApp.ActiveExplorer.CommandBars.Item("Standard")


Set objPulsante = ObjBarra.Controls.Add(, , , 1, True)

'imposto l'icona

objPulsante.FaceId = 59

'imposto il testo

objPulsante.Caption = "Pulsante"

'imposto lo stile del pulsante (immagine e testo)

objPulsante.Style = msoButtonIconAndCaption


End Sub


Tramite la proprietà item, impostiamo la barra in cui inserire il pulsante, il metodo add della proprietà control dell’oggetto commandbar permette di aggiungere un nuovo pulsante alla barra impostata in precedenza. Il metodo accetta diversi argomenti, in questo caso, abbiamo impostato la posizione in cui il pulsante verrà inserito e la durata, ossia che una volta chiuso outlook il pulsante verrà cancellato (ma al prossimo avvio, verrà creato)

Dopo aver inizializzato l’oggetto commandbarbutton, impostiamo le varie proprietà, quale faceid per impostare un immagine al pulsante, la proprietà caption il quale inserisce del testo, mentre tramite la proprietà style viene impostata lo stile (immagine e testo)


Il codice per la creazione del pulsante è terminato, ora non resta che scrivere il codice quando si fa click su tale pulsante, nella casella degli oggetti, viene visualizzato il nome del nostro oggetto pulsante (objpulsante) facciamo click sulla casella combinata degli eventi (quella di sinistra) e selezioniamo l’evento “Click”.

Di seguito si riporta un esempio di codice.


Private Sub objPulsante_Click(ByVal Ctrl As Office.CommandBarButton, CancelDefault As Boolean)

MsgBox ("Testo a scelta")


End Sub

Inviare file di grandi dimensioni

Spesso le caselle di posta elettronica, non possono accettare file con estenzione .exe oppure con dimensioni troppo elevate.
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.Paint


Dim 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.Resize


Me.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

Oggi vi segnalo questo sito http://it.bookmooch.com/ , il quale permette, previa registrazione gratuita, di effettuare degli scambi dei libri.
Davvero un simpatica e carina iniziativa.
Che dirvi... buono scambio :-)

domenica 3 giugno 2007

Trucchi sul controllo datagridview

Da questo sito http://www.windowsforms.net/Samples/Go%20To%20Market/DataGridView/DataGridView%20FAQ.doc potete scaricare un documento Word, nel quale si trovano interessanti trucchi sul controllo DatagridView, su come utilizzarlo al meglio.

sabato 2 giugno 2007

Creare file pdf on line

Dal sito di www.programmazione.it ho trovato interessante questa news http://www.programmazione.it/index.php?entity=eitem&idItem=36620, in particolare viene segnalato un sito http://www.opdf.org/ per la creazione on line dei file pdf. In pratica tramite un comodo e semplice editor di testo, è possibile creare file pdf, in tempo reale.
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 = False


proc.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 = False


proc.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 = False


proc.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();