jeudi 25 avril 2013

Requête MSSQL pour créer une sauvegarde d'une base de données dans un fichier dont le nom comporte la date du jour

Ce qui m'a intéressé, c'est de pouvoir mettre en place un nom de fichier configurable... voilà comment faire :

Attention !
  • Le @MyFileName 'varchar(255)' détermine le nombre de caractères dans le chemin complet...
  • "WITH NOFORMAT, NOINIT, NAME = N'NomDeLaBase-Complète Base de données Sauvegarde', SKIP, NOREWIND, NOUNLOAD, STATS = 10" : n'est pas obligatoire... ce sont des options à déterminer vous même pour faire d'autres genres de sauvegarde

jeudi 4 avril 2013

Parce qu'on ne peut pas toujours se passer d'Internet Explorer de Microsoft

Internet Explorer a des limites et au cours de mon voyage sur la toile, je les découvre... il est bon de les connaître ! Alors voilà :
  • IE8 n'accepte pas les URLs qui contiennent plus de 2083 caractères
  • Internet Explorer ne lit plus au delà de 32 feuilles de styles (fichiers CSS)... si on référence plus de 32 feuilles de styles dans une page, la 33ème et les suivantes ne seront pas prises en compte.
  • 4096 sélecteurs par fichier CSS : ceci dit si vous arrivez à faire 131072 sélecteurs pour une seule page (32 feuilles qui compte chacune 4096 sélecteurs), voir même pour un site entier... c'est qu'il y a un problème de conception... en tout cas, grâce à Internet Explorer vous êtes obligé d'y penser. C'est un mal pour un bien, de mon point de vue !

mercredi 27 mars 2013

Documents MS Office compressés au format ZIP

J'ai été un peu étonné que mon collègue m'apprenne cela... mais cela explique certaines choses : les documents MS Office 2007 et plus récent sont plus légers.

Faites une petite expérience : prenait un document PowerPoint, un fichier en .PPTX, renommer le fichier en .ZIP et voilà ! Vous pourrez voir de quoi est composé le document.
Cela fonctionne avec les .DOCX, XSLX, PPTX, ...

Cette manière de faire explique donc que les nouveaux fichiers MS Office sont plus légers...

Ceci permet de récupérer éventuellement les différents composants du document que vous aurez préalablement transformer en .ZIP.

mardi 22 janvier 2013

SmartGWT et les thèmes

Le thème par défaut dans Smart GWT est le thème "Enterprise".
Or si on veut utiliser un autre thème, il faut mettre en place une configuration différente dans le descripteur du module qui est le fichier MODULE.gwt.xml

Alors que l'on a par défaut :

Il faudra plutôt mettre :

La partie à retenir ici : la référence à SmartGwtNoTheme car par défaut Smart GWT embarque le thème Enterprise, comme expliqué ici. En faut si on utilise SmartGwt, qui embarque le thème Enterprise, cela provoque un conflit avec les autres thèmes.
Les autres thèmes disponibles au moment où j'écris cette article, le 20130122 :

MS SQL SERVER ne comprend pas les guillements


Cette requête SQL provoque une erreur dans MS Sql Server : Invalid column name.
Cette requête fonctionne sous MySQL.

La bonne façon de l'écrire pour qu'elle fonctionne correctement avec les deux SGBD :


Notez les simples quotes autour de %azer% à la place des guillemets (double quotes).

jeudi 27 décembre 2012

Taille de la colonne contenant le bouton de suppression des enregistrements

Après plusieurs semaines, j'ai enfin eu une réponse de la part de l'éditeur... et donc pu résoudre le problème.

Pour pouvoir mettre une largeur à coup sûr sur la colonne qui contient les boutons de suppression dans un ListGrid il faut utiliser une méthode qui apparaît dans une version plus récente de SmartClient que celle que j'avais. J'ai donc du faire la mise à jour de la librairie.

Je suis donc passé de
  • SmartClient Version: v8.2p_2012-05-23/LGPL Development Only (built 2012-05-23)
  • SmartGWT 3.1
à
  • SmartClient Version: v8.3_2012-11-20/LGPL Development Only (built 2012-11-20)
  • SmartGWT 3.1

J'ai alors pu utiliser la méthode setRemoveFieldProperties
Comme ceci :

lundi 10 décembre 2012

Comment désactiver le menu déroulant d'un ListGrid ?

J'ai été confronté à un petit problème assez vite résolu quand j'ai su poser la question correctement à Internet... :o)

Le problème :
Lorsque l'on utilise un ListGrid et que l'on permet d'ordonner les colonnes, par listGrid.setCanSort(true);, un menu déroulant apparaît sur chaque colonne. Il est un peu disgracieux et n'est pas toujours le bienvenu... c'est le cas dans mon projet actuel.

Solution :
Pour désactiver ce petit menu, deux lignes de codes suffisent :

mardi 6 novembre 2012

CSS : supprimer les caractères inutiles pour le code couleur

Quand on crée une feuille de style ou qu'on met un peu de style en ligne, on peut alléger le poids de ces feuilles en mettant le moins de caractères possible dans ces fichiers.
On peut bien sûr passer par un compresseur de CSS, qui supprimera les espaces et les sauts de ligne, notamment.
On peut aussi faire un petit truc "à la main" : passer par la forme courte des codes couleur... quand cela est possible.
Soit comme moi, vous récupérez des CSS d'un projet déjà bien avancé... il faudrait passer tous les codes couleurs à la forme courte quand c'est possible.

Un exemple : passer de #ffffff à #fff

Dans votre éditeur de texte favori, Notepad++ pour moi, ouvrir la petite fenêtre qui permet de remplacer des caractères, passer en mode Expression régulière, rechercher #(.)\1\1\1\1\1 et remplacer par #\1\1\1

Comme dans l'exemple ci-dessous :


mardi 23 octobre 2012

Outils pour partager du code en ligne

Il y a pleins d'outils apparemment pour faire cela mais je me suis arrêté sur celui-là :
http://jsfiddle.net/ : permet de partager du code HTML, CSS, JavaScript

Réglage pour que les colonnes suivent toujours le bord du tableau

Il arrive parfois que l'on veuille que les champs ( = field) d'un objet ListGrid prennent toujours toutes la largeur de son contenant et par là éviter un vide inutile à droite.

Ma solution c'est de donner une largeur de 100%, relative donc, à chaque colonne et de donner une largeur fixe à au moins une de ces colonnes. Si le tableau ne comporte qu'une colonne alors field.setWith("100%") suffira.



Inconvénient avec cette solution : il arrive parfois que certaines colonnes générées "automatiquement" par SmartGWT ne soient pas taillable. Je rencontre ce problème notamment sur la colonne de bouton de suppression d'enregistrement. Il est dans la plupart des cas impossible de lui donner une taille malgré le fait que l'on puisse récupérer son nom.

J'ai demandé de l'aide un peu partout sur la toile sans résultat acceptable jusqu'aujourd'hui.
Je vais mettre ici les références de mes demandes d'aide... si vous vous sentez d'y répondre de manière constructive n'hésitez plus !
Concernant le bouton de suppression des enregistrements, la solution se trouve finalement ici.