Command Line Arguments Parser

Rédigé par Sozezzo - - Aucun commentaire

Chaque fois que je dois créer une application du type console, c'est le même problème.

Alors, je publie la version que je vais utiliser sur toutes mes applications.
Effet, j'ai analysé plusieurs solutions, et détails techniques de chaque solution et j'ai fini pour choisir une solution publiée sur CodeProject.

Ma version de la solution est normalisée selon le standard du Reshaper, et il y a un *petit* changement de l'expression régulier.


using System;

namespace MyConsoleApplication
{
    class Program
    {
        #region Private Static Methods

        private static void HowToUse()
        {
            Console.WriteLine("--------------------");
            Console.WriteLine("Syntax : ");
            Console.WriteLine("");
            Console.WriteLine("MyConsoleApplication /myparam1=value1 /myparamBool /mypar2 /myvalueX=C:\\temp\\");
            Console.WriteLine("");
            Console.WriteLine("--------------------");
        }

        static void Main(string[] args)
        {
            Arguments commandLine;
            commandLine = new Arguments(args);

            //commandLine line : /myparam1=TestValue1   /myparamBool
            if (commandLine["myparam1"].HasValue)
            {
                Console.WriteLine(commandLine["myparam1"].Value);
            }
            Console.WriteLine(commandLine["myparamBool"].ValueBool ? "has parameter" : "no parameter");

            ShowArguments(commandLine);
            WaitConfirmation();
        }

        private static void ShowArguments(Arguments commandLine)
        {
            const string message = @"::
            :: Parameters :
            ::";

            Console.WriteLine(message);
            if (commandLine.Parameters.Count == 0)
            {
                Console.WriteLine("** No parameters **");
                HowToUse();
            }

            foreach (var c in commandLine.Parameters)
            {
                Console.WriteLine("      " + (c.HasValue ? string.Format("/{0}={1}", c.Name, c.Value) : string.Format("/{0}", c.Name)));
            }
            Console.WriteLine("");
        }

        private static void WaitConfirmation()
        {
            Console.WriteLine("\r\nPress a key to continue: ");
            ConsoleKeyInfo cki = Console.ReadKey(true);
        }

        #endregion Private Static Methods
    }
}




Link de la solution:
http://www.codeproject.com/Articles/3111/C-NET-Command-Line-Arguments-Parser

Reshaper:
https://www.jetbrains.com/resharper/

 

Lire la suite de Command Line Arguments Parser

Send email by sql

Rédigé par Sozezzo - - Aucun commentaire

How can we send email by sql script ?

 

To enable Database Mail XP

USE msdb;
GO
EXEC sp_configure 'Database Mail XPs'
GO
RECONFIGURE
GO
EXEC sp_configure 'Database Mail XPs', 1
GO
RECONFIGURE
GO
EXEC sp_configure 'Database Mail XPs'
GO

 

To configure database mail


USE msdb
GO

DECLARE @ProfileName VARCHAR(255)
DECLARE @AccountName VARCHAR(255)
DECLARE @SMTPAddress VARCHAR(255)
DECLARE @EmailAddress VARCHAR(128)
DECLARE @DisplayUser VARCHAR(128)

SET @ProfileName = 'DBMailProfile';
SET @AccountName = 'DBMailAccount';
SET @SMTPAddress = 'smtp.server.com';
SET @EmailAddress = 'myemail@email.com';
SET @DisplayUser = 'Myname Noname';

EXECUTE msdb.dbo.sysmail_add_account_sp @account_name = @AccountName, @email_address = @EmailAddress, @display_name = @DisplayUser, @mailserver_name = @SMTPAddress

EXECUTE msdb.dbo.sysmail_add_profile_sp @profile_name = @ProfileName

EXECUTE msdb.dbo.sysmail_add_profileaccount_sp @profile_name = @ProfileName, @account_name = @AccountName, @sequence_number = 1;

--Now that everything is setup, I will send a test e-mail.
EXEC msdb.dbo.sp_send_dbmail @recipients = N'myemail@email.com', @body = 'Test Email Body', @subject = 'Test Email Subject from SQL', @profile_name = 'DBMailProfile'

ASP.NET Events

Rédigé par Sozezzo - - Aucun commentaire

PreInit

  • Vérifier s’il est la première fois que l’on appelle une page : IsPostBack
  • Créer ou recréer de contrôles dynamiques;
  • Configurer la page « Master »;
  • Configurer le thème dynamiquement;
  • Lire et écrire des values de propriétés;

S’il est un « PostBack »

  • Vérifier les valeurs des contrôles avant le « restore » du « ViewState »;
  • Récrire des valeurs de propriétés;

 

Init

  • L’événement qui est déclenché en premier;
  • Événement est utilisé pour initialiser les propriétés du contrôle;

 

IniComplete 

  • Les changements faits sur le « ViewState »  sont persistés après le prochain « PostBack »;

 

PreLoad

  • L’événement qui fait le traitement  du « PostBack » et aussi du « Request ».

Load

  • Cet événement appelle la méthode « OnLoad »;
  • L’événement « Load » de la page est déclenché avant des contrôles individuels;

ControlEvents

  • Cet événement est utilisé avec des spécifiques évents de contrôles comme « Button » avec l’événement « Click », ou le contrôle « TextBox »avec l’événement « TextChanged »;
  • Dans le cas d’un « PostBack », et si la page contient  validation de contrôles, le « Page.IsValid » et les validations de chaque contrôle sont déclenchés;

 

LoadComplete

  • Cet événement est déclenché après tout « PostBack »and « View-State » sont chargés, et après la méthode « OnLoad » des tous les contrôles ont été déclenchés;

 

PreRender

  • Cet événement est pour effectuer des changements sur un contrôle avant qu’il soit sur la page, mais ces modifications ne sont pas sauvegardées. On peut l’utiliser pour associer un « DataSourceId » à un « DataBind »;

 

PreRenderComplete

  • Cet événement est déclenché après l’événement « PreRender » est fini;

 

SaveStateComplete

  • Cet événement est déclenché après le « View-State » a été sauvegardé de tous les contrôles et la page;
  • Tout le changement ne sont plus sauvegardé;

 

RenderComplete

  • C’est le dernier événement déclenché avant d’affichage de la page;

 

Unload

  • Cet événement est déclenché quand le contrôle est déchargé de la mémoire;
  • Il est utilisé pour finaliser des connexions, fermer des fichiers, effacer de données temporaires.

Lire la suite de ASP.NET Events

Je n'ai rien cacher.

Rédigé par Sozezzo - - Aucun commentaire

- If you have nothing to hide, you have nothing to fear.
- It's not that I have something to hide, I have nothing I want you to see.

 

Puis-je vous demander le mot de passe de votre ordinateur, de votre boîte mail et de votre compte Facebook ? Promis, je ne ferai rien de mal, seulement lire.

Comment oseriez-vous répondre non ? Lorsque vous n'avez rien à cacher, vous ne pouvez pas faire de distinction entre ce que vous admettez rendre public et ce qui vous dérange un peu plus. Dès lors que vous imposez une barrière, vous avez quelque chose à cacher (et c'est bien normal !).

Nous autres, êtres humains, nous distinguons les uns des autres parce que nous avons tous une vie privée, une intimité que nous ne dévoilons pas à tout bout de champ.

Lire la suite de Je n'ai rien cacher.

Cyberdéfense: la guerre de demain a déj commencé | Valérie LEROUX

Rédigé par Sozezzo - - Aucun commentaire

 

Installé devant un rideau d'écrans, un cybersoldat en treillis scrute attentivement les informations qui défilent. Soudain une mention «SUSPICIOUS» (suspect) se détache en rouge sur l'un des ordinateurs.

«J'ai relevé une alerte sur un site, un utilisateur qui essaie d'aller sur un serveur cloud», lâche le sous-officier qui, avec une trentaine d'autres militaires, surveille 24 heures sur 24 les réseaux du ministère de la Défense, à l'affût du moindre intrus mal ou très mal intentionné.

Lire la suite de Cyberdéfense: la guerre de demain a déj commencé | Valérie LEROUX

Fil RSS des articles