Ro6gnol gazouillis en vrac

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
23jan/100

Hommage à … Poisson rouge

Aujourd'hui je voudrai présenter un site tout à fait exceptionnel.
Ce n'est pas un site, c'est une œuvre d'art.
Il s'agit de http://www.poissonrouge.com qui propose des activités aux enfants de 5 à 10 ans.
Mais les auteurs ont réalisé le tour de force de présenter - sans explications inutiles- une cinquantaine d'activités à la fois ludiques et esthétiques.

Même si vous êtes un "grand enfant" de cinquante ans, vous trouverez beaucoup de plaisir à parcourir ce site.
Les activités proposées sont vraiment très originales : un chevalet virtuel initie aux mélanges de couleurs primaires, une mini-chorale propose une expérience de chant en canon, la manipulation d’un paquet de cubes offre une découverte amusante des chiffres etc.

Ci- après un exemple d'une partie du site très intuitive qui nous invite à jouer avec des artistes comme andy warhol ou Maurits Cornelis Escher :

Petite curiosité amusante ; quand on écrit Poisson Rouge dans Google, ce site est placé numéro 1.
On aurait du y trouver logiquement plutôt des sites traitant d'aquariophilie, mais c'est la magie du référencement !

copie ecran poisson rouge

Share Button
Remplis sous: Site web Aucun commentaire
19jan/100

Blogging : Première leçon

Pour la mise en place de ce blog j'ai procédé comme à mon habitude en travaillant d'abord "en local".
Après avoir configuré tant bien que mal le blog via son backoffice, créé un premier billet, j'ai envoyé l'ensemble des sources via ftp.
J'ai ensuite réalisé une importation de la base de données.
Puis modifié le fichier "wp-config.php"qui contient les informations de connexion.

Hélas, impossible de m'identifier sur le blog pour faire passer le premier article de l'état Brouillon à l'état publié.
La faute aux liens stockés dans la base par WordPress qui sont sous la forme : http://localhost/TESTS/wordpress-2.9.1-fr_FR/

Je suis assez étonné ( le mot est faible ) de voir que les liens aux ressources ne sont pas indiqués de façon relative.
Je vais éviter de porter un jugement trop sévère sur cette approche, car WordPress a une très bonne réputation.
J'ai peut-être raté quelque-chose ?!
Mais ça ne m'arrange pas du tout.
Je vais éviter de modifier les liens dans la base, car je me méfie des effets de bord.

Aussi je ne vois pas d'autre solution que d'effacer tout le contenu , refaire une installation mais cette fois en direct ; en ligne.
Il est bien possible que pour le "blogging" on ne travaille pas en local mais uniquement en ligne !

Première leçon et 2 heures de perdues ...

Share Button
19jan/101

Premier billet

"Google m'a dit" , si tu veux savoir ce qu'on met dans un premier billet de blog, va voir
http://www.presse-citron.net/que-faut-il-ecrire-dans-le-premier-billet-dun-blog( Premier lien proposé sur la recherche de l'expression blog "premier billet" ).

J'en ai été étonné pour plusieurs raisons.
La première est la qualité du référencement de ce blog.
Même si il est réputé pour être un des blogs les plus lus ( et/ou les plus "influents" ), il faut saluer cette pôle position.

La deuxième est la qualité de l'article ( alors que, en toute honnêteté, je ne suis pas un aficionados de ce blog ).
Il m'était arrivé de lire en diagonale quelques articles de ce blog, mais quand on butine de ci de la, on ne se rend pas vraiment compte du travail de l'auteur.
Certains blogueurs font un vrai travail de fond pour rédiger leurs articles.
Certains diraient que c'est un travail que certains journalistes ne font plus aujourd'hui.

Mes bonnes intentions pour ce blog sont de pouvoir faire un article de fond de temps en temps, de présenter quelques articles techniques et surtout de garder une trace de ma veille techno.

Voici un premier lien à propos d'un site de designers.
Mes talents de graphistes sont ... inexistants. Aussi j'admire le travail de certain artistes.
Coté web ont voit beaucoup de freelances, et même quelquefois de sociétés assez importantes, dont le métier est le design alors que leur site ne met vraiment pas leur métier en valeur.
Personnellement j'aime les sites sobres, mais avec des rondeurs et des "objets" qui sortent des lignes classiques.
Aussi j'ai été impressionné par le site http://www.rakdesign.com/

Par contre, Google ne m'a rien dit d'intéressant sur "comment terminer un premier billet" !
Peut-être avec un lien ?! : http://www.mangetamain.fr/dutilite-publique/9-astuces-pour-bien-demarrer-et-tenir-son-blog.html

Share Button