Vari pezzi di codice C#

In questo articolo pubblico vari pezzi di codice scritti in C#:

LANCIARE UNA RICERCA SU GOOGLE DAL BROWSER DI DEFAULT
public static class Google {
public static void SearchGoogle(string searchQuery) {
string fixedSearchQuery = null;
foreach (char character in searchQuery) {
if (Char.IsLetterOrDigit(character)) {
fixedSearchQuery += character;
} else if (character == Char.Parse(” “)) {
fixedSearchQuery += “+”;
} else {
fixedSearchQuery += Uri.HexEscape(character);
}
}
string url = @”http://www.google.com/search?hl=en&q=” + fixedSearchQuery;
try {
Process.Start(url);
} catch { }
}
}
INVIARE UN MESSAGGIO E-MAIL
public static string SendMail(string from, string to, string subject, string body, string smtp)
{
// crea l’oggetto messaggio
MailMessage message = new MailMessage(from, to, subject, body);
//message.Bcc.Add(“[email protected]”); // eventuale destinatario in BCC
message.IsBodyHtml = true;
// crea un nuovo oggetto SmtpClient
SmtpClient mailClient = new SmtpClient(smtp, 25);
try
{
// Invia la mail e restituisce uno come risultato
// altrimenti stampa un errore
mailClient.Send(message);
return “1”;
}
catch (System.Net.Mail.SmtpException e)
{
// crea l’error log o lo appende ad un log esistente
CreateLogFiles.CreateLogFiles Err = new CreateLogFiles.CreateLogFiles();
Err.ErrorLog(System.Web.HttpContext.Current.Server.MapPath(“/logs/ErrorLog.log”), e.InnerException.Message);
return e.InnerException.Message;
}
}
LEGGERE I FEED RSS DI FLICKR E INSERIRILI IN UNA DATATABLE
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Xml;
using System.Xml.XPath;
public DataTable ReadFlickr(string rssPath, int Count)
{
int i = 0;
// creare una nuova datatable.
DataTable dt=new DataTable();
// Aggiunge colonne alla datatable
dt.Columns.Add(“title”);
dt.Columns.Add(“link”);
dt.Columns.Add(“pubDate”);
dt.Columns.Add(“guid”);
dt.Columns.Add(“description”);
dt.Columns.Add(“thumbnail”);
dt.Columns.Add(“picture”);
dt.Columns.Add(“author”);
// carica il feed RSS di Flickr e crea un documento XML
XmlDocument doc=new XmlDocument();
doc.Load(rssPath);
// aggiunge il namespace media
XmlNamespaceManager expr = new XmlNamespaceManager(doc.NameTable);
expr.AddNamespace(“media”,”http://search.yahoo.com/mrss”);
// Crea il nodo radice e da questo genera una lista XML
XmlNode root = doc.SelectSingleNode( “//rss/channel/item”, expr) ;
XmlNodeList nodeList;
nodeList=root.SelectNodes(“//rss/channel/item”);
// un loop che attraversa ogni nodo e lo aggiunge alla datatable
foreach(XmlNode chileNode in nodeList)
{
object[] values=new object[8];
XmlNode node=chileNode.SelectSingleNode(“title”);
values[0]=node.InnerText;
node=chileNode.SelectSingleNode(“link”);
values[1]=node.InnerText;
node=chileNode.SelectSingleNode(“pubDate”);
values[2]=node.InnerText;
node=chileNode.SelectSingleNode(“guid”);
values[3]=node.InnerText;
node=chileNode.SelectSingleNode(“description”);
values[4]=node.InnerText;
node=chileNode.SelectSingleNode(“media:thumbnail”, expr);
XmlAttributeCollection ac = node.Attributes;
values[5] = ac[“url”].InnerText;
node=chileNode.SelectSingleNode(“media:content”, expr);
ac = node.Attributes;
values[6] = ac[“url”].InnerText;
node=chileNode.SelectSingleNode(“media:credit”, expr);
values[7]=node.InnerText;
dt.Rows.Add(values);
if (i == Count) {break;}
i++;
}
return dt;
}
CANCELLARE LA CACHE DI IE
using System.IO;
private void EmptyCacheFolder(DirectoryInfo folder)
{
foreach (FileInfo file in folder.GetFiles())
{
file.Delete();
}
foreach (DirectoryInfo subfolder in folder.GetDirectories())
{
EmptyCacheFolder(subfolder);
}
}
public bool ClearCache()
{
bool isEmpty;
try
{
EmptyCacheFolder(new DirectoryInfo(Environment.GetFolderPath(Environment.SpecialFolder.InternetCache)));
isEmpty = true;
}
catch
{
isEmpty = false;
}
return isEmpty;
}
if(!(ClearCache()))
{
// compito eseguito
}
else
{
// stampa l’errore
}