Archive pour la catégorie 'C#'

Simuler un héritage multiple en C#

Thursday 3 January 2008

Code Project nous propose une solution simple pour pouvoir simuler de l’héritage multiple (hériter une classe de plusieurs autres).
L’héritage multiple n’est pas supporté nativement en C# (comme en java d’ailleurs).

A voir en anglais sur : http://www.codeproject.com/KB/architecture/smip.aspx

Récupérer le nom du fichier dans une url en c#

Tuesday 1 January 2008
string URL = "http://www.thejackol.com/files/project.exe";
string FileName = URL.Substring(URL.LastIndexOf("/") + 1,
    (URL.Length - URL.LastIndexOf("/") - 1));

Source : http://www.thejackol.com/2007/04/10/get-file-name-from-url-cnet/

Gérer le Bluetooth à partir du C#

Monday 16 April 2007

Le plus simple est d’utiliser une dll comme Franson Bluetools. Vous pourrez utiliser toute sorte de périphériques. Le prix est encore relativement abordable (moins de 100€). Si vous désirez créer un profil bluetooth, vous devrez acheter la version pro qui est un peu plus chère. Elle fonctionne très bien et est assez facile à prendre en main. Le support sur le forum est rapide. Il existe également une version pour pda.

Alternative non sensible à la casse à String.Replace

Tuesday 10 April 2007

String.Replace est sensible à la casse…Une des solutions pour effectuer un remplacement non sensible est d’utiliser
les expressions régulières :

C:
  1. <br />
  2. using System.Text.RegularExpressions;</p>
  3. <p>string sText = &#8220;Essaye de ReMplAcer ca&#8221;;<br />
  4. string sReplace = &#8220;remplacer&#8221;;</p>
  5. <p>sText = Regex.Replace(sText , &#8220;remplacer&#8221;, strReplace, RegexOptions.IgnoreCase);<br />

Décompileur gratuit pour le .net (C# etc…)

Saturday 31 March 2007

Après avoir testé Dis# dont je vous ai déjà parlé sur hotips, je vous conseille le Lutz Roeder’s .net reflector qui a le gros avantage d’être gratuit ! Il est également possible d’utiliser des plugins disponibles ici pour étendre ses fonctionnalités.

[update]Je vous conseille le plugin CodeGenerator qui vous permettera de générer le projet Visual Studio avec les sources complètes. Royal ! [/update]

Commande de connection aux bases de données en .NET (Connection string)

Saturday 31 March 2007

Ne cherchez plus, ce site contient une foule de commandes de connection pour tout type de base de donnée : MySQL, SQL Server, Oracle, etc…

Utiliser une dll native à partir de code C#

Thursday 15 February 2007
  1. Ajouter le namespace suivant : using System.Runtime.InteropServices;
  2. Pour accéder à une fonction dont le prototype est :
    CODE:
    1. <br />
    2. int GetSystemMetrics(<br />
    3.   int nIndex<br />
    4. );<br />

    Vous devrez ajouter :

    CODE:
    1. <br />
    2.   [DllImport(&#8221;User32.dll&#8221;)]<br />
    3. public static extern int GetSystemMetrics(int nIndex);<br />

  3. Il vous reste à utiliser le fonctionner comme une fonction C# classique

PS: si vous devez passer un argument par référence, il faudra que vous rajoutiez le mot-clef ref devant le type dans la déclaration.

D’autres méthodes existent. Vous trouverez plus d’informations ci-dessous.

Source : Developpez

Equivalent de sprintf en PHP en C#

Friday 2 February 2007

Il faut utiliser String.Format. Vous trouverez un excellent article sur les options de String.Format sur Stevex Compiled.

Equivalent d’explode en PHP en C#

Friday 2 February 2007

Il faut utiliser String.Split(”spearator”);

Formattage d’une date en C# à partir d’une chaine de caractère

Friday 2 February 2007

La conversion n’est pas toujours une partie de plaisir. N’oubliez surtout pas de catcher ce type de conversion, il est fréquent qu’au début d’un développement, cela pose des problèmes.

Une des solutions les plus faciles est d’utiliser un DateTime.ParseExact en spécifiant le format de la date dans la chaine de caractère :

CODE:
  1. DateTime.ParseExact(tbDate.Text, @&#8221;dd/MM/yyyy&#8221;, null)

Plus de détails concernant le format sur la MSDN.

PS : avec cette fonction, on se rapproche du fonctionnement de date en PHP.