Grande Miki!!!

June 04, 08 by Delivery

Il grande Michele Locuratolo è negli States in qualità di speaker al grande evento "TECH-ED 2008" ad Orlando.

Nel suo blog trovate i vari eventi  e notizie su questo suo meraviglioso viaggio, in particolare questo

suo diretto intervento….

In bocca al lupo Miki!!!!!

Ci becchiamo al tuo ritorno

e non dimenticarti del regalino!!! jajajaj

Tags fot this post:  ,

I mitici anni 80!!

May 07, 08 by Delivery

Preso dalla nostalgia degli anni d’oro…ho voluto fare un salto nel passato e grazie a youtube ho trovato questo:

Devo ammettere che quasi mi scendevano le lacrime ricordando tutti i bei momenti della mia vita…sensazioni davvero forti per quei meravigliosi anni passati….

Noi….che aspettavamo 20 minuti per caricare un gioco sul commodore 64…
Noi….che le ragazze le chiamavamo al telefono di casa…e prima parlavamo con i genitori!!!
Noi….che se la prof ci dava una sberla…la mamma ce ne dava 2!!!
Noi…che rispettavamo i più vecchi….
Noi…di hollie e benji che correvano per ore nel campo…..
Beh..cosa aggiungere..se non essere orgoglioso di aver vissuto GLI ANNI 80!!!!

Tags fot this post:  , ,

Errore sul modulo di contatti

May 05, 08 by Delivery

In questi giorno ho ricevuto delle mail che mi segnalavano l’impossibilità a contattarmi mediante il form “Contact me” del mio blog. MI scuso con tutti quelli che hanno provato a farlo e che non sono riusciti.
Comunque il tutto è stato ripristinato

Grazie

Tags fot this post: No Tags

Encrypting with Rfc2898DeriveBytes

April 29, 08 by Delivery

A chi non è mai venuto in testa di crittare i propri dati in maniera abbastanza sicura? A me di certo capita tutti i giorni. Spero che questo breve tutorial possa aiutarvi a realizzare una encription abbastanza potente:

Vi allego la classe pronta all’utilizzo:

StringsExtensions.zip

Vi basterà importarla nel vostro codice:

Imports
WindowsApplication1.StringExtensions

ed utilizzare i metodi in questo modo:

Dim stringaDaCrittare = “Ciao Gaetano”
Dim stringaCrittata As String
stringaCrittata = stringaDaCrittare.Trim.CryptFromString(“gaetano”)

In questo modo abbiamo crittato la nostra stringa “stringaDaCrittare” con il metodo Rfc2898DeriveBytes messo a disposizione già dal Framework 2.0. Il metodo “CryptFromString” necessita si una password di crittazione assegnata ogni volta dall’utente (password di crittaggio e decrittaggio devono coincidere ovviamente)

Dim stringaCrittata = “A8 B4 C9 F1 A2″
Dim stringaDaDecrittare As String
stringaDaDecrittare = stringaCrittata.Trim.DecryptFromString(“gaetano”)

…qualora voleste decrittare una stringa precedentemente crittata con lo stesso metodo (e password!)

Semplice no?

Riferimenti alla classe “Rfc2898DeriveBytes” qui

Tags fot this post:  , ,

Auguri Stephanie - Feliz cumpleaños amor

April 24, 08 by Delivery

Auguri di heart alla mia dolce metà per il suo COMPLEANNOOOOOO!!!!

FELIZ CUMPLEANOS MI NINITA!

Tags fot this post:  ,

Crystal Reports e passaggio di parametri a report e sottoreport

April 23, 08 by Delivery

Con il seguente codice avrete la possibilità di gestire l’autenticazione del report principale e di tutti i sottoreport da esso richiamati, oltre alla possibilità di passare eventuali parametri impostati nel report (nell’esempio vengono letti da quarystring, ma potrebbero benissimo essere parametri di session…). Il mio problema era proprio quello di settare i parametri di connessione dei singoli sottoreport. E’ la funzione “SetDBLogonForSubreports” che svolge questo compito.

Spero possa esservi di aiuto: (prerequisiti: Visual Studio 2005 e CrystalReports)

Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared
Imports System.IO 

Partial Class _Default
    Inherits System.Web.UI.Page
    Private MyReport As ReportDocument
    Private Sub ConfigureCrystalReports() 

        ‘carico il report
        MyReport = New ReportDocument()
        Dim reportPath As String = Server.MapPath(“TuoReportMaster.rpt”)
        MyReport.Load(reportPath) 

        ‘passo i parametri di connessione al report
        Dim myConnectionInfo As ConnectionInfo = New ConnectionInfo() 

        ‘parametri presenti nel webconfig
        myConnectionInfo.DatabaseName =
        System.Configuration.ConfigurationManager.AppSettings(“Database”)
        myConnectionInfo.UserID =
        System.Configuration.ConfigurationManager.AppSettings(“UserName”)
        myConnectionInfo.Password =
        System.Configuration.ConfigurationManager.AppSettings(“Password”)
        myConnectionInfo.ServerName =
        System.Configuration.ConfigurationManager.AppSettings(“Server”) 

        ‘autentico il mio report principale
        SetDBLogonForReport(myConnectionInfo, MyReport) 

        ‘autentico tutti i sottoreport richiamati dal report principale
        SetDBLogonForSubreports(myConnectionInfo, MyReport) 

        ‘passo eventuali parametri al report principale
        Dim paramFields As New ParameterFields()
        Dim discreteVal As New ParameterDiscreteValue()
        Dim parametro1 As New ParameterField()
        Dim parametro2 As New ParameterField() 

        ‘passo il primo parametro
        parametro1.ParameterFieldName = “@Parametro1DelReport”
        discreteVal = New ParameterDiscreteValue()
        discreteVal.Value = Request.QueryString(“Parametro1″)
        ‘in questo caso leggo da una querysting
        MyReport.SetParameterValue(“@Parametro1DelReport”, discreteVal.Value) 

        ‘passo il secondo parametro
        parametro2.ParameterFieldName = “@Parametro2DelReport”
        discreteVal = New ParameterDiscreteValue()
        discreteVal.Value = Request.QueryString(“Parametro1″)
        ’secondo parametro anche passato in querysting
        MyReport.SetParameterValue(“@Parametro1DelReport”, discreteVal.Value)
    End Sub 

    Private Sub SetDBLogonForReport(ByVal myConnectionInfo
                    As ConnectionInfo, ByVal myReportDocument As ReportDocument)
        ’subroutine che setta i parametri di connessione del report principale
        Dim myTables As Tables = myReportDocument.Database.Table
        Dim myTable As CrystalDecisions.CrystalReports.Engine.Table
        For Each myTable In myTables
            Dim myTableLogonInfo As TableLogOnInfo = myTable.LogOnInfo
            myTableLogonInfo.ConnectionInfo = myConnectionInfo
            myTable.ApplyLogOnInfo(myTableLogonInfo)
        Next
    End Sub 

    Private Sub SetDBLogonForSubreports(ByVal myConnectionInfo
                    As ConnectionInfo, ByVal myReportDocument As ReportDocument)
        ’subroutine che setta i parametri di connessione di
        ‘tutti i sottoreport richiamati dal report principale
        Dim mySections As Sections = myReportDocument.ReportDefinition.Sections
        Dim mySection As Section
        For Each mySection In mySections
            Dim myReportObjects As ReportObjects = mySection.ReportObjects
            Dim myReportObject As ReportObject
            For Each myReportObject In myReportObjects
                If myReportObject.Kind = ReportObjectKind.SubreportObject Then
                    Dim mySubreportObject As SubreportObject =
                    CType(myReportObject, SubreportObject)
                    Dim subReportDocument As ReportDocument =
                    mySubreportObject.OpenSubreport mySubreportObject.SubreportName)
                    SetDBLogonForReport(myConnectionInfo, subReportDocument)
                End If
            Next
        Next
    End Sub 

    Protected Sub Page_Load(ByVal sender As Object,
                                ByVal e As System.EventArgs) Handles Me.Load 

        ‘richiamo i parametri di configurzione
        ConfigureCrystalReports() 

        ‘esporto il report in pdf
        Dim oStream As New MemoryStream ‘ // using System.IO
        oStream = MyReport.ExportToStream
                        (CrystalDecisions.Shared.ExportFormatType.PortableDocFormat)
        Response.Clear()
        Response.Buffer = True
        Response.ContentType = “application/pdf”
        Response.BinaryWrite(oStream.ToArray())
        Response.End()
    End Sub 

End Class

Se tutto è stato impostato correttamente dovreste vedere il vostro bel pdf saltare fuori :)

Tags fot this post:  , ,

Silverlight applications…

April 21, 08 by Delivery

Gironzolando per il web mi sono imbattuto in questa bellissima web-application interamente scritta in Silverlight:
http://www.windowsvista.si/main.htm

Davvero carina (anche se è tutto in sloveno).

Tags fot this post:  , ,

Modificare a Runtime l’impostazione della connectionString

April 19, 08 by Delivery

In questi giorni mi sono dedicato interamente allo sviluppo di un’applicazione client ed avevo l’esigenza di modificare continuamente da form la connessione al Database (sqlServer). Immaginate quanto sia seccante ogni volta andare nell’ app.config e cambiare ogni volta i parametri. Beh..ecco un trucchetto che potrebbe esservi utile per fare una cosa del genere a Runtime:

Ovviamente non abbiamo accesso in scrittura all’app.config quindi la prima cosa da fare è crearci una Property all’interno del namespace My in questo modo:

Public WriteOnly Property RunTimeConnectionString() As String
    Set(ByVal value As String)
        My.Settings(“MiaConnectionString”) = value
    End Set
End Property

Bene..ora nell’evento MySettings_PropertyChanged (cioè alla modifica delle nostre impostazioni) testiamo la connessione (non è obbligatorio ma facciamolo per evitare che l’applicazione vada in crash Tongue out

Private Sub MySettings_PropertyChanged(ByVal sender As Object, ByVal e As
	 	System.ComponentModel.PropertyChangedEventArgs) Handles Me.PropertyChanged
    Dim connection As New SqlClient.SqlConnection
    connection.ConnectionString = My.Settings(“MiaConnectionString”)
    Try
        connection.Open()
    Catch ex As Exception
        MsgBox(“Errore di connessione al Database. Verificare la connessione”,
		MsgBoxStyle.Critical, “Connessione”)
    Finally
        connection.Close()
    End Try
End Sub

Ok..ci siamo quasi. Ora creiamoci una bella form dove inserire i dati relativi alla nostra connessione al Database. Creiamo qualcosa di simile:

dbsettings

Ora non ci resta che salvare le impostazioni relative alla nostra connessione mediante la chiamata alla nostra Property creata in precedenza in questo modo:

My.Settings.RunTimeConnectionString = “Data Source=” & ServerTxt.Text & “;Initial Catalog=
				” & dbTxt.Text & “;Persist Security Info=True;
				User ID=” & userTxt.Text & “; Password=” & passTxt.Text

Le informazioni relative nostra conenssione sono state aggiornate!!! Open-mouthed

Tags fot this post:  , , , ,

Una metafora sull’importanza di godersi la vita

March 31, 08 by Delivery

In un atollo delle Maldive un turista italiano appena giunto per una vacanza di una settimana tutto incluso, nota un pescatore locale che esce la mattina con la sua barca a remi e dopo circa due ore ritorna con una cesta di pesce. Lo osserva incuriosito il primo giorno, il secondo giorno ed al terzo giorno decide di volerlo conoscere.

"Come mai tutte le mattine stai fuori in mare solo due ore a pescare invece che tutta la mattinata?".
Il pescatore risponde: "E allora?".
"Come e allora? Stando fuori tutta la mattina avresti modo di prendere molti più pesci e li potresti vendere ai ristoranti e agli abitanti delle altre isole…".
Il pescatore risponde: "E allora?".
"Come e allora? Dopo qualche mese inizieresti ad avere una Clientela affezionata che con il passaparola ti porterebbe ulteriori Clienti e potresti così restare fuori in barca tutta la giornata per pescare ancora più pesci".
Il pescatore risponde: "E allora?".

"Come e allora? Dopo un anno avresti i soldi necessari per comprarti anche un motore per la barca per riuscire a pescare anche più lontano".
Il pescatore risponde: "E allora?".
"Come e allora? Dopo qualche anno potresti pagare delle persone del tuo villaggio per venire a darti una mano a pescare".
Il pescatore risponde: "E allora?".
"Come e allora? Tra una decina di anni potresti avere più di una barca ed aver messo da parte molti soldi".
Il pescatore risponde: "E allora?".

"Come e allora? Una volta in pensione, con tutti quei soldi riuscirai a goderti la vita".
Il pescatore risponde: "E io cosa sto facendo adesso?"

Stiamo molto attenti a “vivere nel futuro” spostando sempre la nostra felicità sempre più avanti, quando finalmente saremo laureati, saremo diventati Dirigenti, avremo finito di pagare il mutuo o avremo raggiunto la tranquillità economica. Ogni giorno merita di essere vissuto pienamente ed è sempre ricco di tanti splendidi momenti, sta a noi saperne godere

Tags fot this post: No Tags

Prossimi acquisti

March 12, 08 by Delivery

Ho deciso di aggiornarmi seriamente alle nuove tecnologie visto che il lavoro me ne da sempre meno possibilità. L’unica strada possibile (per ora) è quella di seguire i vari blog di discussione a soprattutto…..quella di comprare dei NUOVI MANUALI. Ecco una lista di quelli che per il momento ritengo più utlili:

  1. Visual Basic 2008 (VB.NET 9)
  2. LINQ
  3. Windows Presentation Foundation (WPF)
  4. Windows Workflow Foundation (WWF)
  5. Windows Communication Foundation (WCF)
  6. Visual Studio 2008
  7. XAML e Silverlight
  8. ASP.NET 3.5
  9. AJAX

Se avete consigli su quali e dove acquistarli segnalatemi pure il link alla pagina…ve ne sarei grato!! :D

Tags fot this post:  , , , , , ,