|
Besoin d'un développeur PHP/Zend Framework ? Contactez moi
Réactivité, coûts modérés, interlocuteur unique.
Maxence DELANNOY - Tél. : 09.70.46.32.55
|
|
|
04
mar
2010
|
Il faut passer la propriété DrawMode de la ListBox à OwnerDrawFixed et ajouter le code suivant dans l'événement OnDraw : private void listBox1_DrawItem(object sender, DrawItemEventArgs e) { e.DrawBackground(); e.DrawFocusRectangle(); ListBox lb = sender as ListBox; // Calcule les dimensions du texte SizeF stringSize = new SizeF(); stringSize = e.Graphics.MeasureString(lb.Items[e.Index].ToString(), e.Font); e.Graphics.DrawString( lb.Items[e.Index].ToString(), e.Font, new SolidBrush(e.ForeColor), new PointF(e.Bounds.Right - stringSize.Width, e.Bounds.Y) ); } Si ça peut faire gagner 5 minutes à quelqu'un...
Libellés : C#
|
|
27
feb
2010
|
L'approche recommandée pour stocker une chaine de connexion à une base de données est d'utiliser le fichier de configuration du programme (app.config). Mais cela entraine un problème au niveau de la sécurité des données. En effet, le mot de passe utilisé pour la connexion à la base se retrouve en clair dans le fichier XML. Pour pallier à ce problème, il est possible de crypter la section connectionStrings en suivant les instructions détaillées sur cet article de MSDN.
Libellés : C#, Visual Studio
|
|
08
feb
2010
|
Lorsque je parcoure le code du Zend Framework, je vois souvent des conditions écrites sous cette forme : if (0 == $argc) { // ... }
Libellés : PHP
|
|
13
jan
2010
|
Jusqu'ici on ne pouvait stocker sur Google Documents que certains types de fichiers (.doc, .xls, .pdf...). Google vient d'annoncer qu'on pourra bientôt uploader n'importe quel type de document et qu'on disposera gratuitement d'un espace de 1 Go. Le Go supplémentaire sera facturé 0.25 $ et on pourra lancer une recherche sur les documents stockés dans cet espace.
Libellés : Google, Google Apps
|
|
09
jan
2010
|
Une petite astuce pour tester un contrôleur qui génère du PDF. Pour s'assurer que c'est bien du PDF qui est envoyé, on peut utiliser Zend_Pdf qui est capable de charger un document existant : $this->dispatch('/moncontrolleur/1/pdf'); $this->assertResponseCode(200); $this->assertHeaderContains('Content-type', 'application/pdf'); $pdf = Zend_Pdf::parse($this->getResponse()->getBody()); $this->assertEquals('MonProgramme', $pdf->properties['Creator']); Si le PDF n'est pas correct, Zend_Pdf lancera une exception : Zend_Pdf_Exception: File is not a PDF. On peut également vérifier les propriétés du PDF et le nombre de pages. Par contre, on ne peut pas accéder au contenu du PDF pour vérifier le texte qu'il contient. |
|
08
jan
2010
|
Ah les arrondis ! On pourrait penser que c'est très simple mais comme souvent le diable se cache dans les détails. Prenons par exemple la méthode round de PHP. Elle nous propose 4 types d'arrondi : // Arrondi vers l'infini (méthode par défaut: PHP_ROUND_HALF_UP) echo round(1.244, 2) . "\n"; // Affiche 1.24 echo round(1.246, 2) . "\n"; // Affiche 1.25 echo round(1.245, 2) . "\n"; // Affiche 1.25 echo round(-1.245, 2) . "\n"; // Affiche -1.25 // Arrondi vers zéro echo round(1.245, 2, PHP_ROUND_HALF_DOWN) . "\n"; // Affiche 1.24 echo round(-1.245, 2, PHP_ROUND_HALF_DOWN) . "\n"; // Affiche -1.24 // Arrondi bancaire (arrondi au nombre pair le plus proche) echo round(1.245, 2, PHP_ROUND_HALF_EVEN) . "\n"; // Affiche 1.24 echo round(1.235, 2, PHP_ROUND_HALF_EVEN) . "\n"; // Affiche 1.24 // Arrondi au nombre impair le plus proche echo round(1.245, 2, PHP_ROUND_HALF_ODD) . "\n"; // Affiche 1.25 echo round(1.235, 2, PHP_ROUND_HALF_ODD) . "\n"; // Affiche 1.23 |
|
04
jan
2010
|
![]() |
|
30
dec
2009
|
Google Closure dispose d'une classe bien pratique nommée goog.i18n.NumberFormat qui permet de formater des nombres. Formatage de monnaiegoog.require("goog.i18n.NumberFormat"); goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fr_FR; var fmt = new goog.i18n.NumberFormat( goog.i18n.NumberFormatSymbols.CURRENCY_PATTERN ); alert(fmt.format(1243.567)); // Affiche 1 243,56 €
Libellés : Google Closure, Javascript
|
|
04
dec
2009
|
Je viens de tomber sur un méchant bogue dans mon application. Il est du à une subtilité dans les formats ISO proposés par Zend_Date. Le problème se situe au niveau des années. Zend_Date propose deux formats différents : yyyy et YYYY. Le premier, celui avec les y en minuscules fournit le résultat auquel on peut s'attendre, alors que le deuxième renvoie l'année dans lequel se situe la semaine ! |
|
13
nov
2009
|
goog.requireCette fonction est à la base du système de paquets de Google Closure. D'une façon similaire à la fonction require_once de PHP, elle permet d'inclure les dépendances. Techniquement parlant, elle charge les scripts nécessaires en ajoutant des balises SCRIPT. Le problème c'est que le chargement de ces scripts se fait de façon asynchrone.
Libellés : Google Closure, Javascript
|



