vendredi, août 25, 2006

Comment afficher une image provenant d'un champ Blob MySQL ?

NB : Tests effectués avec la version 60t de WebDev, PHP 4 et MySQL 5.0.24 (et MySQL 5.0.18)

Utilisation exclusives des ordres "H*"


Soit la table MySQL suivante :

CREATE TABLE `blobmysql` (
`IDBlobMysql` int(11) NOT NULL auto_increment,
`Titre` varchar(50) default NULL,
`pImage` longblob,
PRIMARY KEY (`IDBlobMysql`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;


Dans un page WebDev PHP, ajouter un champ image. Dans le descriptif de celui-ci, définir le type "Dynamique".
Ajouter un bouton et insérer le code suivant :
HLitPremier(BlobMysql)
SI PAS HExtraitMémo(BlobMysql,pImage,"test.gif") ALORS Trace("pas extrait")
IMG_Image2 = "test.gif"

Voilà l'image s'affiche dans le champ image.

PS: Pour ajouter par programmation une image dans un BLOB

CHEMIN_IMAGE est une chaîne = "X:\Mes Sites\warning.gif"

BlobMysql.Titre = "icone warning"
SI PAS HAttacheMémo(BlobMysql,"pImage",CHEMIN_IMAGE,hMémoImg) ALORS
Trace("Erreur ajout")
SINON
HAjoute(BlobMysql)
FIN


Dans une Zone répétée mémoire :

Pour l'afficher dans une Zone répétée mémoire, même principe. Il faut surtout ne pas oublier de mettre le type dynamique dans la description de l'image. Dans le code d'initialisation de la ZR on peut mettre le code suivant :
NomFic est une chaîne
i est un entier = 0

HLitPremier(BlobMysql)
TANTQUE PAS HEnDehors()
i++
Nomfic = "$$Test"+i
HExtraitMémo(BlobMysql,pImage,Nomfic)
ZoneRépétéeAjouteLigne(ZR_BlobMysql,BlobMysql.Titre,nomfic)
HLitSuivant(BlobMysql)
FIN


















Dans une Zone répétée Fichier :

Pour l'afficher dans une Zone répétée Fichier. Encore plus simple suivre l'assistant lors de la création de la Zone répétée. Une fois créée modifier le descriptif de l'image de la ZR. Mettre sur le Type : "Depuis une base de données".



lundi, août 21, 2006

Faire une sauvegarde ou une restauration de la Base du GDS.

Il est possible à partir de l'administrateur de source d'effectuer une sauvegarde complète de la base.
Il faut dans un premier temps, se connecter en tant qu'administrateur sur la base GDS.
- Ouvrir l'administrateur du gestionnaire de sources à partir du menu GDS
- Se connecter en tant qu'administrateur : Menu "Fichier...Connexion à une base de sources"
- Indiquer les paramètres de connexion à la base (login Admin)
- Une fois la connexion établie, aller dans le menu "Outils...Administration...Sauvegarde complète de la base".

Un fichier .zip est créer dans le répertoire (par défaut) x:\Sauvegarde GDS.
La Restauration de la base est effectuée à partir du menu " Outils...Administration...Restauration d'une sauvegarde d'historique".
Indiquer le fichier .zip à restaurer.

mercredi, août 09, 2006

WinDevMobile : Synchronisation personnalisée

Voici les différentes étapes de création d'une synchronisation personnalisée.

1. Créer un nouveau projet sous WinDev standard.
2. Dans ce projet, créez une collection de procédures nommée "WDSynchro". Cette collection de procédures doit contenir tous les traitements nécessaires à la synchronisation.
Conseil : Importez dans votre projet la collection de procédures WDSYNCHR.WDG livrée avec WinDev Mobile (répertoire "\Exemple\WDSynchro" du répertoire d'installation de WinDev Mobile). Les commentaires de cette collection de procédures détaillent comment personnaliser le traitement de synchronisation.
3 - Créer tous les éléments pour la synchronisation. Modification des procédures de WdSynchro. Création des fenêtres. (ex : jauge de traitement)

4 - Créer une bibliothèque pour la synchronisation en incluant tous les éléments nécessaires à celle-ci. (Menu "atelier..Bibliothèque..Génrer la bibliothèque")
Cette bibliothèque contient la collestion de procédure WDSYNCHR.WDG, les fenêtres que vous avez créées necessaires à la synchronisation.

5 - Créer la procédure d'installation et installer l'application WinDev. Ne pas oublier d'inclure le fichier .wdd (analyse) et le fichier .wdl (créer à l'étape 4) dans l'installation.

6 - Dans le projet WinDev Mobile créer la procédure d'installation en précisant à l'étape de la synchronisation : "Synchronisation personnalisée".
- menu Outils..WPInst
- cliquer sur "Paramètres d'installation...Synchronisation HF mobile par activeSync"
- indiquer le chemin de l'exe WinDev.
- Indiquer les chemin des analyses (.wdd)
- Cocher "Utiliser une WDL de synchronisation personnalisée"
- indiquer le chemin d'accès de votre wdl (créer à l'étape 4 et installé à l'étape 5)
- cliquer sur Ok et générer la procédure.