Emanuele Mattei

Il blog di Emanuele Mattei.....il suo diario :-)

Blog Amici

Compact Framework

Web e win application

Siti Gratuiti

Siti Vari

Tools per .Net

Chi sono

elenco siti

dicembre 2007 - Posts

FT: Visualizzare il newsgroup Microsoft Italia

Da qualche settimana, non è possibile accedere al newsgroup italiano Microsoft dal seguente sito http://www.microsoft.com/italy/communities/newsgroups/default.mspx,  per coloro che vogliono visualizzare e postare in tale newsgroup, via web, la soluzione la trovate in questo post http://blogs.dotnethell.it/vincent/Problemi-di-accesso-dallinterfaccia-Web-dei-Newsgroup-Microsoft.__12567.aspx .

Ringranzio l'amico Roberdan, per la dritta ;-))).

Posted: dic 29 2007, 12:45 by emanuelem | with no comments
Filed under:
Visualizzare il newsgroup Microsoft Italia

Da qualche settimana, non è possibile accedere al newsgroup italiano Microsoft dal seguente sito http://www.microsoft.com/italy/communities/newsgroups/default.mspx,  per coloro che vogliono visualizzare e postare in tale newsgroup, via web, la soluzione la trovate in questo post http://blogs.dotnethell.it/vincent/Problemi-di-accesso-dallinterfaccia-Web-dei-Newsgroup-Microsoft.__12567.aspx .

Ringranzio l'amico Roberdan, per la dritta ;-))).

Posted: dic 29 2007, 12:45 by emanuelem | with no comments
Filed under:
Segnalazione tools: Creazione di diagrammi in ambiente Visual Studio Net

Oggi segnalo un programma gratuito per Visual Studio Net riguardante la creazione dei diagrammi UML. Tale programma scaricabile dal seguente sito http://www.tangiblearchitect.net/modellingtools.html permette di aggiungere all'ambiente di sviluppo Visual Studio Net, la possibilità di creare diagrammi.

Posted: dic 20 2007, 12:21 by emanuelem | with no comments
Filed under:
Segnalazione tools:: CMS gratuito mojo

Oggi segnaliamo un programma gratuito di CMS, ossia un software per la gestione dei contenuti di un sito. Mojoportal  http://mojoportal.com/ è un progetto gratuito, scritto in C#, per la gestione dei siti, il software funziona sia sotto Windows, che in ambiente Mono (linux o mac) davvero un ottimo strumento per la programmazione web, in ambito .Net.

Che dirvi... buona creazione dei siti :-)))

Posted: dic 17 2007, 10:35 by emanuelem | with no comments
Filed under:
VSTO: Creare uno smart tag in VB.Net e C# per Office 2003

Vi segnalo questo sito http://blog.shareoffice.it/emanuele/articles/9365.aspx dove potete leggere un interessante articolo riguardante la programmazione Office, tramite VSTO. In particolare viene descritto come creare uno smart tag in VB.Net e C#.

Che dirvi... buona lettura :-)))

Posted: dic 16 2007, 07:10 by emanuelem | with no comments
Filed under:
Utilizzare Word da VB.Net

Vi segnalo questo articolo http://blog.shareoffice.it/emanuele/archive/2007/12/14/9358.aspx riguardante la programmazione Word, tramite VB.net.

Buona lettura :-)))

 

Posted: dic 16 2007, 12:02 by emanuelem | with no comments
Filed under:
Ado.Net: Rilevare la descrizione di un campo di una tabella

Vi segnalo questo articolo http://blog.shareoffice.it/emanuele/archive/2007/12/10/9338.aspx che illustra una tecnica in Ado.Net e Sql, di come rilevare la descrizione di un campo.

Creare una barra dei pulsanti in Visual Basic Application (VBA)


Vi segnalo questo nuovo articolo http://blog.shareoffice.it/emanuele/articles/9334.aspx riguardante la programmazione Excel 2003, in particolare tramite VBA, viene descritto come creare una barra dei pulsanti.

Che dirvi... buona lettura :-)))

Posted: dic 09 2007, 06:59 by emanuelem | with no comments
Filed under:
Stampare in formato pdf

Primo PDF http://www.primopdf.com/  è un programma gratuito che permette di stampare in formato pdf. Questo software, oltre che è gratuito si può utilizzare anche nello sviluppo software. Utilizzando le api, si possono fare delle stampe in pdf, direttamente dai propri programmi, la seguente pagina http://www.primopdf.com/primopdf_api.aspx fornisce informazioni ed un esempio di codice in Visual Basic Script.

 

Posted: dic 09 2007, 06:52 by emanuelem | with no comments
Filed under:
Articolo Filenet: Eliminare le queue (code) di Filenet tramite la tecnologia .Net (Vb.Net e C#)

Articolo Filenet: Eliminare le queue (code) di Filenet tramite la tecnologia .Net (Vb.Net e C#)

 

Figura 1

Introduzione

In questo articolo conclusivo sulla programmazione Filenet, vedremo l'ultima parte riguardante le queue, in particolare come cancellare una coda (queue) tramite la tecnologia .Net, in particolare con il linguaggio VB.Net e C#, le classi che utilizzeremo a tale scopo, sono queue, queuequeryspecification e queueentry. Si crea una nuova form, nella quale inseriamo tre label per i vari titoli, due controlli listbox, che avranno il compito di riportare i dati da cancellare e due pulsante, uno per eliminare il dato selezionato e l'altro per chiudere la finestra. La form dovrà avere un aspetto simile a quella illustrata in figura 1.

Variabili a livello di form e modifica del costruttore

Si creano a livello di form, due oggetti, uno di tipo queue e l'altro di tipo queuequeryspecification, di seguito si riporta un esempio di codice.

Vb.Net

Dim ObjQueue As IDMObjects.Queue

Dim ObjQueueQuery As IDMObjects.QueueQuerySpecification

 

C#

IDMObjects.Queue ObjQueue;

IDMObjects.QueueQuerySpecification ObjQueueQuery;

Fatta tale operazione, si modifica il costruttore della form, aggiungendo come argomento un oggetto library, usato in precedenza per effettuare il login a filenet, tale oggetto avrà il compito di creare un isanza dell'oggetto queue, da un  determinato workspace (Anagrafica) e queue (dati).

Di seguito si riportano i frammenti di codice delle suddette operazioni.

Vb.Net

Public Sub New(ByVal Objlibreria As IDMObjects.Library)

InitializeComponent()

'inizializzo

ObjQueue = New IDMObjects.Queue

ObjQueueQuery = New IDMObjects.QueueQuerySpecification

'imposto la classe

ObjQueue = Objlibreria.GetObject(IDMObjects.idmObjectType.idmObjTypeQueue, "ANAGRAFICA/DATI")

ObjQueueQuery = ObjQueue.CreateQuerySpecification()

CaricaDati()

 

End Sub

 

C#

public FrmEliminaCoda(IDMObjects.Library objlibreria)

{

InitializeComponent();

ObjQueue =
new IDMObjects.Queue ();

ObjQueueQuery = new IDMObjects.QueueQuerySpecification();

//imposto la classe

ObjQueue = (IDMObjects.Queue) objlibreria.GetObject(IDMObjects.idmObjectType.idmObjTypeQueue, "ANAGRAFICA/DATI", null, null, null );

ObjQueueQuery = ObjQueue.CreateQuerySpecification();

}

 

Funzione per il caricamento dei dati

La funzione carica dati, ha il compito di valorizzare i controlli listbox con i valori delle queue. Tramite l'oggetto QueueQuerySpecificatio viene eseguita una query, ossia permette di fare una ricerca di determinati valori, mentre con l'oggetto QueueBrowseSet, valorizziamo gli oggetti tramite la proprietà value. Mentre con il metodo movenext scorriamo per tutti i dati.

Di seguito si riporta il frammento di codice di tale funzionalità.

Vb.Net

Private Sub CaricaDati()

Try

'flag per l'accesso al sistema di filenet

ObjQueueQuery.CheckUser = False

'Indica i valori delle code

ObjQueueQuery.EvenIfDelayed = False

'permette di impostare o restituire un valore in base allo stato delle queue inserite, ossia se il ritorno della query è incompleta.

ObjQueueQuery.Incomplete = IDMObjects.idmQueueIncompleteOpt.idmIncompleteOK

ObjQueueQuery.MinPriority = 0

'restituisce tutti gli entry anche se sono loccati ossia bloccati

ObjQueueQuery.Status = IDMObjects.idmQueueBusyOpt.idmBusyOK

'oggetto per il risultato della query

Dim ObjQueueBrowser As New IDMObjects.QueueBrowseSet

ObjQueueBrowser = ObjQueueQuery.Browse()

Dim ObjErrorManager As New IDMError.ErrorManager

Dim ObjErrori As IDMError.Errors

Dim StrTestoErrore As String = ""

Dim objErrore As IDMError.Error

'se la ricerca ha esito negativo ossia no trova nulla restituisce il seguente numero di errore

If ObjErrorManager.Errors.Count > 0 Then

ObjErrori = ObjErrorManager.Errors

If objErrore.Number = -2147208689 Then

MessageBox.Show("non ci sono code", "FileNet", MessageBoxButtons.OK, MessageBoxIcon.Information)

Exit Sub

End If

End If

For inconta As Integer = 1 To ObjQueueBrowser.RecordCount

lstNome.Items.Add(ObjQueueBrowser.Entry.Properties("Nome").Value)

lstCognome.Items.Add(ObjQueueBrowser.Entry.Properties("Cognome").Value)

'mi sposto avanti di un record

If ObjQueueBrowser.MoreResults = True Then

ObjQueueBrowser.MoveNext()

End If

Next

 

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)

End Try

End Sub

 

C#

private void CaricaDati()

{

try

{

//flag per l'accesso al sistema di filenet

 

ObjQueueQuery.CheckUser =
false;

//Indica i valori delle code

ObjQueueQuery.EvenIfDelayed = false ;

//permette di impostare o restituire un valore in base allo stato delle queue inserite, ossia se il ritorno della query è incompleta.

ObjQueueQuery.Incomplete = IDMObjects.idmQueueIncompleteOpt.idmIncompleteOK ;

ObjQueueQuery.MinPriority = 0;

//restituisce tutti gli entry anche se sono loccati ossia bloccati

ObjQueueQuery.Status = IDMObjects.idmQueueBusyOpt.idmBusyOK ;

//oggetto per le query

IDMObjects.QueueBrowseSet ObjQueueBrowser = new IDMObjects.QueueBrowseSet();

ObjQueueBrowser = ObjQueueQuery.Browse();

for (int intconta = 1; intconta <= ObjQueueBrowser.RecordCount; intconta++)

{

lstNome.Items.Add(ObjQueueBrowser.Entry.Properties["Nome"].Value);

lstCognome.Items.Add(ObjQueueBrowser.Entry.Properties["Cognome"].Value);

//verifico la fine

if (ObjQueueBrowser.MoreResults == true)

{

ObjQueueBrowser.MoveNext();

}

}

 

}

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

}

 

 

}

 

Funzione per eliminare la coda selezionata.

Per eliminare una queue (coda) dobbiamo utilizzare il metodo delete dell'oggetto queueentry, il quale elimina il record selezionato.

La  funzionalità di elimina, situato nell'evento click del pulsante elimina, permette di eliminare il record selezionato nella lista box, in particolare filtrando per il campo cognome. E' buona norma prima di eliminare il dato accertarsi che esso esista. Di seguito si riporta il codice delle suddette operazioni.

Vb.net

Try

ObjQueueQuery = ObjQueue.CreateQuerySpecification()

ObjQueueQuery.Filters(
"Cognome").Value = lstCognome.Text

'verifico se ho trovato il record

Dim ObjQueueBrowser As New IDMObjects.QueueBrowseSet

ObjQueueBrowser = ObjQueueQuery.Browse()

Dim ObjErrorManager As New IDMError.ErrorManager

Dim ObjErrori As IDMError.Errors

Dim StrTestoErrore As String = ""

Dim objErrore As IDMError.Error

'se la ricerca ha esito negativo ossia no trova nulla restituisce il seguente numero di errore

If ObjErrorManager.Errors.Count > 0 Then

ObjErrori = ObjErrorManager.Errors

If objErrore.Number = -2147208689 Then

MessageBox.Show("Attenzione il record non esiste", "FileNet", MessageBoxButtons.OK, MessageBoxIcon.Information)

Exit Sub

End If

End If

Dim ObjQueueEntry As New IDMObjects.QueueEntry

ObjQueueEntry = ObjQueueBrowser.Entry

ObjQueueEntry.MakeReadWrite()

ObjQueueEntry.Delete()

CaricaDati()

 

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)

End Try

 

C#

try

{

ObjQueueQuery = ObjQueue.CreateQuerySpecification();

ObjQueueQuery.Filters[
"Cognome"].Value = lstCognome.Text ;

//verifico se ho trovato il record

IDMObjects.QueueBrowseSet ObjQueueBrowser = new IDMObjects.QueueBrowseSet();

ObjQueueBrowser = ObjQueueQuery.Browse();

IDMError.ErrorManager ObjErrorManager =
new IDMError.ErrorManager();

IDMError.Errors ObjErrori;

string StrTestoErrore = "";

 

//se la ricerca ha esito negativo ossia no trova nulla restituisce il seguente numero di errore

if (ObjErrorManager.Errors.Count > 0)

{

ObjErrori = ObjErrorManager.Errors ;

foreach (IDMError.Error ObjErrore in ObjErrori)

{

if ( ObjErrore.Number == -2147208689)

{

MessageBox.Show("Attenzione il record non esiste", "FileNet", MessageBoxButtons.OK, MessageBoxIcon.Information);return ;

}

StrTestoErrore = ObjErrore.Description;

}

}

IDMObjects.QueueEntry ObjQueueEntry =
new IDMObjects.QueueEntry();

ObjQueueEntry = ObjQueueBrowser.Entry;

ObjQueueEntry.MakeReadWrite();

ObjQueueEntry.Delete();

CaricaDati();

 

}

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

}

 

 

Conclusioni:

In questo articolo, si è visto come eliminare le code (queue), informazioni importanti relative ai documenti, gli oggetti utilizzati (queue, QueueQuerySpecification,  QueueBrowseSet  e queueentry) sono gli oggetti da utilizzare per la gestione delle queue. Tramite la parola download è possibile scaricare il progetto di esempio utilizzato nell'articolo.

Download esempio

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)

Posted: dic 03 2007, 10:45 by emanuelem | with no comments
Filed under:
Segnalazione Tools: Editor per Asp.net

Segnalazione Tools: Editor per Asp.net

Vi segnalo questo interessante tools http://www.codeplex.com/rte per la tecnologia Asp.Net, in particolare sul sito codeplex è possibile scaricare gratuitamente un controllo da inserire nelle proprie pagine web, un editor di testo.

Un tools interessante per coloro che intendono dotare i propri siti Asp.net, di un controllo per la scrittura di testo.

Per download e maggiori informazioni visitate il seguente sito http://www.codeplex.com/rte

Che dirvi... buona programmazione :-))))

Posted: dic 03 2007, 10:29 by emanuelem | with no comments
Filed under:
Recensione libro: Microsoft Ajax Library Essentials - client-side Asp.net Ajax Explained


 

Scheda libro

Lingua Inglese
Caratteristiche 300 pagine [191mm x 235mm]
ISBN 1847190987
ISBN 13 978-1-847190-98-7
Autore Cristian Darie, Bogdan Brinzarea
Argomento Technologies Microsoft & .NET, AJAX
Anno di edizione luglio  2007
Prezzo Euro 33

Il framework Ajax rilasciato da Microsoft nel 2007 http://www.microsoft.com/downloads/details.aspx?FamilyID=ca9d90fa-e8c9-42e3-aa19-08e2c027f5d6&DisplayLang=en e  con l'apporto della comunità Asp.net http://asp.net/ajax/downloads/ è una nuova tecnologia per la programmazione WEB. Questa nuova tecnologia, che sarà inclusa con la nuova versione di Visual Studio 2008,  permette ai programmatori web, di creare applicazione web con prestazioni elevate, con una maggior velocità nell'eseguire le varie operazioni (caricamento dati, gestione della pagina, ecc). Il libro Microsoft Ajax Library Essentials client-side Asp.Net Ajax 1.0 Explained http://www.packtpub.com/ajax-csharp-essentials/book , edito della case editrice Packt Publishing ( http://www.packtpub.com )  illustra in modo esaustivo questa nuova tecnologia. Gli autori Bogdan Brinzarea e Cristian Darie ( http://www.cristiandarie.ro ) di questo libro, sono scrittori di numerosi pubblicazione. Il libro è un ottima guida per chi si sta avvicinando alla programmazione Web con il Framework Ajax e la tecnologia Asp.Net, nel libro non è incluso nessun cd-rom o dvd, il codice sorgente degli esempi utilizzati nel libro, si possono scaricare dal seguente sito http://www.packtpub.com/support/book/ajax-csharp-essentials oppure qua http://www.packtpub.com/files/code/0987_Code.zip , il libro è composto da 8 capitoli ed una appendice

Ma vediamo in dettaglio i vari capitoli che compongono questo manuale.

Nel primo capitolo viene fatta un introduzione riguardante l'architettura Ajax, ossia come funziona e com'è strutturata. In un primo tempo vengono forniti al lettore informazioni riguardante il sistema Ajax, e di come funziona, oltre a fornire siti interessanti attinenti a questo argomento. Continuando in questo capitolo, viene illustrato come configurare tale sistema e creare la prima applicazione web.

Il secondo capitolo è dedicato ai fondamenti di questo framework. I vari esempi, illustrano il concetto di questa architettura, in particolare illustrando l'utilizzo degli oggetti xmlhttp su cui si basa Ajax, ossia Javascript e Xml

Con il terzo capitolo gli autori illustrano l'utilizzo del linguaggio Javascript, con questa tecnologia. Dopo una breve introduzione riguardante la programmazione ad oggetti, si passa ad una serie di esempi di Javascript.  Il capitolo è tutto dedicato al Javascript ed all'utilizzo di alcune funzioni. La parte conclusiva del capitolo è rivolta a Json.

In questi primi tre capitoli si è visto l'architettura della programmazione Web, con il quarto capitolo ci si addentra al framework Microsoft Ajax, fornendo nozioni sulle componenti, (Ajax library, Asp.net 2.0 ajax Extensions, Ajax controll toolkit Base Classe (.Net and Javascript) e Ajax control toolkit components) e sulla comunicazione (WebRequest). Continuando con il capitolo viene spiegato l'utilizzo di Ajax e Asp.Net 2.0 tramite  vari esempi con il linguaggio C#.

Il quinto capitolo è dedicato alla programmazione ad oggetti di Javascript e l'utilizzo delle classi di Microsoft Ajax Library .

Il sesto capitolo è dedicato alla creazione di componenti client. In questo capitolo si parla dell'utilizzo DOM. delle classi Sys.Application e Sys.components, l'evento per il caricamento (load) dell'oggetto e della fase di chiusura (unload) .

Nel settimo capitolo viene affrontato un caso di studio, ossia un possibile scenario che si può verificare e di come affrontarlo. Il capitolo è rivolto alla creazione di un componente client.

Il capitolo conclusivo, l'ottavo, riguarda gli strumenti di debug e le tecniche da utilizzare per fare il debug della web application. In questo capitolo il lettore, comprende gli strumenti ed i passi per eseguire il debug di un pagina Web Ajax, per i  browser più utilizzati quali  Internet Explorer e FireFox, oltre all'ambiente di sviluppo Visual Studio 2005.

La parte conclusiva del libro, fornisce al lettore indicazioni delle classi e funzioni che possono tornare utile al programmatore nello sviluppare applicazioni professionali.

 

Di seguito si riportano i titoli dei vari capitoli

Chapter 1: AJAX and ASP.NET

Chapter 2: AJAX Foundations

Chapter 3: Object-Oriented JavaScript

Chapter 4: Introducing the Microsoft AJAX Library

Chapter 5: OOP with the Microsoft AJAX Library

Chapter 6: Creating Client Components

Chapter 7: Case Study: Timer and EnhancedTextBox

Chapter 8: Debugging Tools and Techniques

Appendix A: Microsoft AJAX Library Reference

 

Conclusione:

Un valido libro per chi si avvicina alla programmazione Asp.NEt e Ajax, il linguaggio degli esempi è in C#. Il libro può essere acquistato anche via web, al seguente indirizzo http://www.packtpub.com/ajax-csharp-essentials/book

Si fa presente che tale libro può essere acquistato anche in formato PDF.

Posted: dic 02 2007, 06:48 by emanuelem | with no comments
Filed under:
Segnalazione articoli: Programmazione VSTO 2005

Sono lieto di informarvi che sulla rivista VBJ http://webonline.gruppoinfomedia.it/dac/index.php?form_rivista=vbj&form_rivistanum=77 di questo mese (numero 77)  sono stati pubblicati, ben due miei articoli riguardante la programmazione Office, tramite VSTO 2005.

Se vi capita di leggervi, fatemi sapere cosa ne pensate ;-)))

Che dirvi... buona lettura ;-))))

 

Posted: dic 02 2007, 06:27 by emanuelem | with no comments
Filed under:
Microsoft SQL Server Compact 3.5 for Windows Mobile

 

Da questo sito http://www.microsoft.com/downloads/details.aspx?FamilyID=38ed2670-a70a-43b3-87f3-7ab67b56cbf2&DisplayLang=en potete scaricare il nuovo database per ambiente mobile. Questa nuova versione presenta diverse novità

Per maggiori informazioni e download visitate il sito indicato.

Posted: dic 02 2007, 06:12 by emanuelem | with no comments
Filed under:
Download Microsoft Visual Studio 2005 Tools for Office Second Edition Runtime (build 8.0.50272.940) (x86)

Da questo sito http://www.microsoft.com/downloads/details.aspx?FamilyID=8315654b-a5ae-4108-b7fc-186402563f2b&DisplayLang=it potete scaricare il nuovo runtime di VSTO 2005 SE, per far eseguire le applicazioni create in questo ambiente.

Questo aggiornamento risolve alcuni bug, della versione precedente.

More Posts Next page »