Ro6gnol gazouillis en vrac

17mar/100

Hébergement ASP.NET gratuit

Hébergement ASP.NET OU PHP/MySQL gratuit pendant 1 an chez IKOULA.
Offre valable jusqu'au 31 Mars.
Attention ; on me dit qu'il faut bien lire les conditions générales. Il semblerait ( noter le conditionnel ) que Ikoula mentionne que tout ce qui est hébergé chez eux leur appartient.
A vérifier ...
En tout cas, une offre sympathique pour découvrir un hébergeur ou faire des tests.

Share Button
27jan/100

« Vieux » articles techniques

En 2003 j'ai envoyé quelques articles techniques à Richard Clark (c2i), qui était et est encore un grand "gourou" des technologies Microsoft.
Au fur et à mesure des refontes de son site, je me doutais bien que ces articles allaient finir par disparaitre.
J'ai réussi à en retrouver quelques uns ; ce blog étant aussi pour moi un moyen de conserver des informations, je vais en profiter pour stocker ces "vieilleries" ;o)

Donc un article sur les manipulations de chaînes en VB.NET : lien vers le pdf
Et un autre sur les groupes de contrôles en C# :

"ceux-ci rendent de grands services, dès lors qu’il faut traiter de la même manière un ensemble de contrôles de même nature ( il n’est pas vraiment obligatoire qu’il soient de même type, mais c’est la cas le plus fréquent ).

Par exemple pour gérer pareillement des tests sur la saisie dans des textbox.
Ou pour détecter le click sur une case d’un échiquier.

En VB.NET, cela ne pose pas de difficultés majeures.(voir http://www.c2i.fr/code.aspx?IDCode=506 )

Pour les grands principes, en C#, « Rien n'est plus semblable à l'identique que ce qui est pareil à la même chose » ( Pierre DAC ) ; cependant la syntaxe est vraiment très différente.
Je prendrai ici l’exemple de contrôles créés dynamiquement lors de l’exécution du programme.
L’idée est de créer une routine qui fabriquera pour nous un groupe de contrôles aux dimensions que l’on souhaite.
Contrairement à de nombreux exemples que l’on trouve sur le NET, nous n’utiliserons pas l’objet « tableau » puisque la collection « controls » va stocker tous nos objets de façon très pratique.

Voici le code d’appel d’une routine « addPict » qui ajoute à une collection de contrôles ( ici la collection des contrôles de la Winform, mais ce pourrait être celle d’un panel etc. ) mille pictures d’une taille de 10X10, en position 10;0 et qui « passe à la ligne » tous les 100 pictures.

Pour le « fun », on peint certaines cellules lorsque celles-ci sont situées dans une position particulière ( nombres premiers jusqu’à 11 ), ce qui donne un motif plutôt mignon :"

private void Form1_Load(object sender, System.EventArgs e)
{
addPict(this.Controls,1000,new Size(10,10),new Point(10,0),100);
foreach( PictureBox pct in this.Controls )
{
if (Convert.ToInt32(pct.Name)%5==0) pct.BackColor=Color.AliceBlue;
if (Convert.ToInt32(pct.Name)%7==0) pct.BackColor=Color.Chartreuse;
if (Convert.ToInt32(pct.Name)%9==0) pct.BackColor=Color.DarkGoldenrod;
if (Convert.ToInt32(pct.Name)%11==0) pct.BackColor=Color.Gold;
if (Convert.ToInt32(pct.Name)%11==0) pct.BackColor=Color.Tomato;
}
}

Autres exemples :

addPict(this.Controls,30,new Size(20,20),new Point(14,14),5);
foreach ( PictureBox pct in this.Controls )
if (Convert.ToInt32(pct.Name)%2==0) pct.BackColor=Color.LemonChiffon;

Damier, planning, tableur; on peut imaginer beaucoup d’applications susceptibles d’utiliser ce genre de routine.

voici le code :

private void addPict(Control.ControlCollection Ctrls, int iNbPict, Size LaTaille, Point AquelEndroit, int Rupture)
{
int Rangee=AquelEndroit.X,Colonne=AquelEndroit.Y;
for (int i=1;i<=iNbPict;i++)
{
PictureBox b=new PictureBox();
b.Name=i.ToString(); //pas obligatoire
b.Size=LaTaille;
b.BackColor=Color.White;
b.BorderStyle=BorderStyle.FixedSingle;
b.Click+=new EventHandler(ClickSurPict);
b.Location=new Point(Colonne,Rangee);
Ctrls.Add(b);
Colonne+=b.Width;
if (i%Rupture==0)
{
Colonne=AquelEndroit.Y; //retour colonne de départ
Rangee+=b.Height;
}
}
}

// Et en plus, on peut même gérer les évenements !!
private void ClickSurPict(object sender, System.EventArgs e)
{MessageBox.Show(((PictureBox)sender).Name);}

Il ne reste plus qu’à l’adapter à ses propres besoins ou pourquoi pas en faire le cœur d’un contrôle personnalisé ?
Voici un exemple de code à télécharger :
DomiGrilles

Ainsi qu'une variante faire par "Erebuss" ( http://www.c2i.fr/Article/Detail/b32fda17-ddd6-4094-aa41-3020aa7a6d7d ) : DomiGrille_Erebuss

Pour terminer, un document sur Le contrôle serveur Web TreeView en ASP.NET avec la réalisation complète d’un visualisateur d’images.
Le TreeView permettra de visualiser des répertoires.
Un click sur un nœud permettra de visualiser automatiquement les images contenues dans le répertoire.
Le document pdf : zoom sur le composant Treeview
Les sources zippés : treeview_final

Share Button