Archivio di settembre, 2010

Come spostare un file nel cestino utilizzando il .Net Framework e Visual c#

0

In questo articolo vedremo come è possibile spostare un file nel cestino utilizzando il .Net Framework di Microsoft ed il linguaggio C#(sharp).

Nello sviluppo di un’applicazione può tornare molto utile la possibilità di spostare un file nel cestino anzichè eliminarlo definitivamente.

Nell’esempio che segue viene illustrato come fate tutto ciò utilizzando le API di Windows ed in particolare la funzione SHFileoperation della dll shell32.
Per prima cosa inseriamo lo spazio dei nomi per la gestione delle API di windows :

using System.Runtime.InteropServices;

Ora occorre creare una Struct che avrà il compito di contenere le informazioni del file da cancellare(nome, operazione, ecc.) :

private struct SHFILEOPSTRUCT
{
     public int hwnd;
     public int wFunc;
     public string pFrom;
     public string pTo;
     public short fFlags;
     public bool fAnyOperationsAborted;
     public int hNameMappings;
     public string lpszProgressTitle;
 }

A questo punto dobbiamo scrivere la dichiarazione delle api e di alcune costanti che ci permetteranno di eliminare il file :

[DllImport("shell32.dll")]
private static extern int SHFileOperation(ref SHFILEOPSTRUCT lpFileOp);
private const short FO_DELETE = 3;
private const short FOF_ALLOWUNDO = 64;
private const short FOF_CONFIRMMOUSE = 2;
private const short FOF_NOCONFIRMATION = 16;

E per finire di seguito (continua…)

Visual C# : come definire in un DataSet relazioni tra le tabelle

0

Il codice che segue può essere utilizzato per creare un DataSet basato su una relazione tra due tabelle(nell’esmpio ‘clienti’ e ‘ordini’) utilizzando Visual C#.
Nell’esempio i dati delle due tabelle vengono caricati in due DataTables e successivamente viene creata una relazione tra queste tabelle, utilizzando il metodo Relations.Add() della classe DataSet, chiamata ClienteOrdini :

string ordini = "SELECT * FROM ORDINI";
string clienti= "SELECT * FROM CLIENTI";
SqlConnection conn = new SqlConnection(stringaconnessione);
SqlDataAdapter adap = new SqlDataAdapter(ordini,conn);
DataSet ds = new DataSet();
adap.Fill(ds,"ORDINI");
adap = new SqlDataAdapter(clienti,conn);
adap.Fill(ds,"CLIENTI");
ds.Relations.Add("ClienteOrdini", ds.Tables["CLIENTI"].Columns["IDCLIENTE"], ds.Tables["ORDINI"].Columns["IDCLIENTE"]);

(continua…)

[Visual C#] : Come creare una splash screen con WindowsForms 2.0

0

Mentre creare una splash screen con Visual Basic .Net è un’operazione molto semplice, infatti basta definire nelle proprietà del progetto quale form è la splash, con C# è necessario crearsi una classe (nell’ esempio ho chiamato la classe MyApplication) che derivi da WindowsFormsApplicationBase. Questa classe è presente nell’assembly Microsoft.VisualBasic.dll, pertanto sarà necessario aggiungelo come riferimento al progetto.

Una volta creata la classe MyApplication sostituiamo la chiamata alla creazione della main form nel metodo statico Main di Program con la nostra classe in questo modo :

static class Program
{
    [STAThread]
    static void Main()
    {
        MyApplication application = new MyApplication();
        application.Run(new string[] { });
    }
}

La classe MyApplication deve obbligatoriamente definire quale sarà la form princiale (main form) che dovrà essere richiamata all’avvio del programma.
Quindi sarà necessario fare l’override del metodo OnCreateMainForm come di seguito :  (continua…)

Grave vulnerabilità delle applicazioni ASP.NET

0

Nei giorni scorsi Microsoft ha riportato una grave vulnerabilità delle applicazioni ASP.NET (dalla 1.1 alla 4.0).
Questo bug consentirebbe di effettuare il download di tutti i file presenti sul server e di effettuarne la decifratura.
La soluzione da adottare per eliminare tale problema è la seguente: (continua…)

Torna all'inizio