Archive pour la catégorie ‘Programmation’
Raccourci vers un fichier dans Visual Studio
Dans un projet de Visual-Studio, il peut être utile de créer un raccourci vers un fichier situé dans un autre projet ou répertoire.
Cette fonctionnalité existe mais elle n’est pas très bien documentée et pas vraiment intuitive.
Voici comment procéder :
- Sur le l’icône du projet ou dans le menu Projet, sélectionner “Add Existing item”
- La boîte de dialogue d’ouverture de fichier apparait.
- Sélectionner le fichier en question
- Appuyer sur la flèche à droite du bouton “Add” pour choisir “Add as Link”
- Enfin, pour copier le fichier dans le répertoire de destination automatiquement, il suffit de régler les propriétés du fichier à “Copy always”sinon choisir “Do not copy”.
- Et voilà !
Retirer des accents en C#
Voici une méthode à sauvegarder dans un coin, elle retourne une chaîne en remplaçant les caractères accentués par leur équivalent non accentué.
éèëàâùûîïôÿçÉÈËÀÂÙÛÎÏÔŸÇ devient eeeaauuiioycEEEAAUUIIOYC
public static string RemoveAccents(string s) {
string destEncoding = Encoding.GetEncoding("iso-8859-8");
return destEncoding.GetString(Encoding.Convert(Encoding.UTF8, destEncoding, Encoding.UTF8.GetBytes(s)));
}
Sites FAQ Programmation…
Pour trouver des réponses aux questions courantes concernant : C#, .Net, la programmation, ou l’informatique en général, voici une sélection de sites :
Remplissage de champs d’un site web
Comment remplir automatiquement des champs d’un formulaire d’une page web ?
Cette méthode marche pour un navigateur intégrer dans une application Winform.
Il faut récupérer l’objet Document du navigateur, ensuite récupérer les objets correspondants aux champs identifiant et mot de passe. On peut ensuite injecter les valeurs en utilisant la méthode SetAttribute. Les champs se remplissent automatiquement et visuellement !
var document = webBrowser.Document;
if (document == null) {
return;
}
var loginElement = document.GetElementById(LOGIN_INPUT_NAME);
if (loginElement != null) {
loginElement.SetAttribute("value", textBoxLogin.Text);
}
var passwordElement = document.GetElementById(PASSWORD_INPUT_NAME);
if (passwordElement != null) {
passwordElement.SetAttribute("value", textBoxPassword.Text);
}
Pour se connecter, cela équivaut à envoyer le formulaire parent des champs. Il faut pour cela récupérer l’objet correspondant au formulaire et invoquer la méthode submit.
var form = GetForm(document.GetElementById(LOGIN_INPUT_NAME));
if (form != null) {
form.InvokeMember("submit");
}

Code Source AutoFillWebPage.zip
Valider des entités avec nHibernate Validator
nHibernate Validator est un sous projet de nHibernate, célèbre ORM pour environnement .Net.
Cette librairie gagnerait à être un peu plus connue tant elle est utile et simple à mettre en œuvre.
Elle permet de valider des entités (POCO : Plain Old CLR Object) en définissant des contraintes via des attributs ou fichier XML.
Il existe de nombreuses contraintes par défaut ex: NotNull, Max(x), Range (x,y)…
et l’utilisateur peut écrire ses propres contraintes.
Les objets sont validés en mémoire et nHibernate Validator retourne un tableau des contraintes non respectées avec le message d’erreur.
+ de détails ici : http://nhforge.org/wikis/validator/nhibernate-validator-1-0-0-documentation.aspx
Tracer les requêtes SQL
Voici des utilitaires assez pratiques pour tracer les requêtes SQL à une base sans modifier le code source Aboves. Ces programmes ont l’avantage d’être gratuits.
L’auteur propose une version pour Oracle
une version ADO.net (VB, C#)
et une version plus générique ODBC.
Récupérer le nom de la méthode en cours d’exécution en .Net
Voici un bout de code bien pratique tracer le code qui pose problème
using NameSpace System.Diagnostics; using System.Reflection; // Récupère le nom de la méthode en cours d’exécution StackFrame stackFrame1 = new StackFrame(); MethodBase methodBase1 = stackFrame1.GetMethod(); // Récupère le nom de la méthode qui a appelé la méthode en cours l’exécution. StackTrace stackTrace = new StackTrace(); StackFrame stackFrame = stackTrace.GetFrame(1); MethodBase methodBase = stackFrame.GetMethod();
Source : vsdotnet
Snippet compiler
Pour exécuter rapidement des bouts de code : les fameuses « Snippets » sans relancer un nouveau Visual Studio, voici l’utilitaire qu’il faut toujours avoir à porter de main : Snippet Compiler
Retirer tous les espaces et sauts de ligne d’une chaîne
string s = "Ceci est "+ Environment.NewLine + " \t une chaine pleine d'espace"; Regex regex = new Regex(@"\s+"); s = regex.Replace(s, @" "); Console.WriteLine(s); // Retourne "Ceci est une chaine pleine d'espace"
Construire une requête XPath
Pour ceux, qui comme moi, oublient les syntaxes de langages qu’on n’utilise pas tous les jours, voici un petit utilitaire qui permet de construire une requête XPath de manière visuelle. C’est très simple, il suffit de charger le fichier XML, de sélectionner l’élément désiré et de copier-coller le code généré ! Il est également possible de charger le fichier saisir sa requête et voir le résultat des éléments sélectionnés.
Voici le site de l’auteur : http://weblogs.asp.net/nleghari/articles/27951.aspx

