Archivio

Posts Tagged ‘C#’

[C#] StringSplitOptions

9 novembre 2009 zaragon Nessun commento

If you need to split strings, remember to use StringsplitOptions Enumeration.

string 	myString = "one,two, , ,five";
string[] myArray = myString.Split(charSeparators,

StringSplitOptions.RemoveEmptyEntries);	

In myArray we have this:

- one

- two

- five

string 	myString = "one,two, , ,five";
string[] myArray = myString.Split(charSeparators, StringSplitOptions.None);	

In myArray we have this:

- one

- two

-

-

- five

Categorie:C# Tag: , , ,

Google Closure Compiler in C#

9 novembre 2009 zaragon Nessun commento

Mads Kristensen has created a C# class for using Google Closure Compiler.

This class is very easy but very useful:

public string Compress(string file)
{
  string source = File.ReadAllText(file);
  XmlDocument xml = CallApi(source);
  return xml.SelectSingleNode("//compiledCode").InnerText;
}

private static XmlDocument CallApi(string source)
{
  using (WebClient client = new WebClient())
  {
    client.Headers.Add("content-type", "application/x-www-form-urlencoded");
    string data = string.Format(PostData, HttpUtility.UrlEncode(source));
    string result = client.UploadString(ApiEndpoint, data);

    XmlDocument doc = new XmlDocument();
    doc.LoadXml(result);
    return doc;
  }
}

For information and for download the complite code, read Mads Kristensen’ s post.

Abount Closure Compiler project.

Categorie:C#, Google Tag: , ,

[C#] How to insert array values into ArrayList

6 novembre 2009 zaragon Nessun commento
int[] myIntArray = {0,  1,  2, 3};
ArrayList myArrayList = new ArrayList();
myArrayList.AddRange(myIntArra);
Categorie:C# Tag:

[C#] Delete rows in DataGridView

9 luglio 2009 zaragon 1 commento

Piccolissimo snipp per cancellare le righe presenti in una DataGridView

            for (int i = this.dataGrid.Rows.Count; i > 0; i--)
            {
                this.dataGrid.Rows.Remove(this.dataGrid.Rows[0]);
            }
Categorie:C# Tag: ,

Custom configuration section in app.config e web.config

4 aprile 2009 zaragon Nessun commento

Qualche giorno fa mi sono dilettato nella creazione si una custom section in un file di configurazione. Dopo un pò di ricerche ho scritto quanto segue. Ogni suggerimento è graditissimo…

using System;
using System.Collections.Generic;
using System.Configuration;

Prosegui la lettura…

Categorie:ASP.NET, C# Tag: , ,

C#: Convertire string array in int array

27 febbraio 2009 zaragon 3 commenti

A futura memoria:

string[] stringArray = { "1", "2", "3"};
int[] intArray = Array.ConvertAll<string, int>(stringArray, delegate(string s) { return int.Parse(s); });

Categorie:C# Tag:

C#: Pattern Singleton

27 gennaio 2009 zaragon Nessun commento

Eccovi una chiara spiegazione di come implementare il Singleton Pattern in C# : http://www.yoda.arachsys.com/csharp/singleton.html

C’è chi, invece, consiglia di starci lontano: http://blogs.msdn.com/scottdensmore/archive/2004/05/25/140827.aspx

Categorie:C# Tag: ,

CLR Stored Procedures in C#

1 agosto 2008 zaragon Nessun commento

Ieri ho scritto un promemoria per ricordami di come attivare CLR in SQL Server 2005, oggi vi posto il link di un iteressante articolo su come scrivere CLR Stored Procedures in C#.

Ecco un articolo veramente ben scritto che illustra i passi necessari per creare il project su Visual Studio corredato da codice di semplice comprensione:

Writing CLR Stored Procedures in C# – Introduction to C# (Part 1)

Writing CLR Stored Procedures in C# – Returning Data (Part 2)

Creare AddIn per Live Messenger

30 luglio 2008 zaragon Nessun commento

Stamattina ho trovato sul blog di Fabrizio, un interessante articolo per crere AddIn per Live Messenger. Mi permetto di fare alcune precisazioni che, forse per brevità, Fabrizio ha omesso.

Dopo aver creato un Project “Class Library”, è necessario includere nelle Reference l’ assembly MessengerClient che trovate nella directory C:\Programmi\Windows Live\Messenger\. A questo punto possiamo inserire nelle direttive la using Microsoft.Messenger.

 

Prima di compilare la nostra applicazione, è necessario che il nome dell’ assembly e il nome del combinato namespace-classe, devono coincidere:
se il mio assembli si chiama ADRweb.AutoResponderBot.dll, il namespace di primo livello si dovrà chiamare ADRweb e la classe si dovrà chiamare AutoResponderBot.

A questo punto siamo pronti per compilare ed installare con la procedura illustrata da fabrizio.

Vi posto il codice del primo primo AddIn che sicuramente non sarà l’ ultimo…

using System;
using Microsoft.Messenger;

namespace ADRweb
{
    public class AutoResponderBot : IMessengerAddIn

    {
        private MessengerClient _messenger;

        #region IMessengerAddIn Members

        public void Initialize(MessengerClient messenger)
        {
            _messenger = messenger;

            _messenger.AddInProperties.Creator = "Zaragon";
            _messenger.AddInProperties.Description = "Hello Bot AddIn";
            _messenger.AddInProperties.FriendlyName = "AutoResponderBot";
            _messenger.AddInProperties.Url = new Uri("http://blog.adrweb.net");

            _messenger.IncomingTextMessage += new EventHandler <IncomingTextMessageEventArgs>(MsnIncomingTextMessage);
        }

        //IncomingTextMessage si verifica quando un contatto ci invia un messaggio
        private void MsnIncomingTextMessage(object sender, IncomingTextMessageEventArgs e)
        {
            //se il mio stato è impostato su "Occupato"
            if ((_messenger.LocalUser.Status == UserStatus.Busy))
            {
                _messenger.SendTextMessage("Questo è un messaggio automatico. " +
                                           "Non posso risponderti perchè sono occupato. " +
                                           "Ti contatto appena ho finito.", e.UserFrom);
            }

            //se il mio stato è impostato su "Al telefono"
            if (_messenger.LocalUser.Status == UserStatus.OnThePhone)
            {
                _messenger.SendTextMessage("Questo è un messaggio automatico. " +
                                           "Non posso risponderti perchè sono al telefono. " +
                                           "Ti contatto appena ho finito.", e.UserFrom);
            }

        }

        #endregion
    }
}

Categorie:C# Tag: ,

C#: leggere ricorsivamente un XML

22 febbraio 2008 zaragon Nessun commento

Ecco una simpatica funzione ricorsiva implementata oggi per leggere ricorsivamente un XML.

/// <summary>
/// Processa sottonodi ricorsivamente
/// </summary>
/// <param name="node">nodo padre</param>
private void ProcessaSottoNodi(XmlNode node)
{
    if (node.HasChildNodes)
    {
        foreach (XmlNode cNode in node.ChildNodes)
        {
            foreach (XmlAttribute attr in cNode.Attributes)
                Console.WriteLine("{0}", attr.Name + " = " + attr.InnerText);

            Console.WriteLine("-------------------------------");
            ProcessaSottoNodi(cNode);
        }
    }
}

 

E questo è un XML di esempio col quale potete testare il metodo:

<node level="1" desc="desc 1" query="" dbQuery="">
    <node desc="desc 2" query="query 2" dbQuery="aaa">
        <node desc="desc 3" query="query 3" dbQuery="aaa">
            <node desc="desc 4" query="query 4" dbQuery="aaa">
                <node desc="desc 5" query="query 5" dbQuery="aaa">
                    <node desc="desc 6" query="query 6" dbQuery="aaa">
                        <node desc="desc 7" query="query 7" dbQuery="aaa">
                            <node desc="desc 8" query="query 8" dbQuery="aaa">
                            </node>
                        </node>
                    </node>
                </node>
            </node>
        </node>
    </node>
</node>

Categorie:C# Tag: ,