Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Gestion des fichiers graphiques dans les Etats VFP avec ou sans XFRF

43 views
Skip to first unread message

Gilles LAJOT-SARTHOU

unread,
May 18, 2010, 6:10:25 AM5/18/10
to
Bonjour a tous..

J'ai besoin d'imprimer avec VFP ou d'exporter a travers XFRF des �tats
contenant un nombre non connu a l'avance de fichiers graphiques.
Ces fichiers graphiques sont:
- soit des fichiers au format BMP ou JPG et statiques (disponibles en
permanence dans un r�pertoire d'images)
- soit des fichiers au format BMP ou JPG cr��s dynamiquement en utilisation
Foxcharts ou GDIPlusX avant chaque REPORT FORM.
Pour en imprimer plusieurs sur l'�tat, dans le curseur li� a cet �tat, j'ai
deux champs type GENERAL, l'un pour les images statiques, l'autre pour les
images dynamiques. Le rapport hauteur/largeur �tant diff�rent entre ces deux
types d'images et les deux sont li�es a un m�me enregistrement du curseur.
Pour nourrir ces champs g�n�raux, j'utilise la commande APPEND GENERAL
(m.cMonChampImage) FROM (m.cNomImage).

Mes probl�mes:
Avec VFP (de VFP6 a VFP-SP2) set reporbehavior 80 ou 90 (REPORT FORM)
1) Sur la majorit� des PC �quip�s de XP, Vista, W2003 Serveur, W7
l'impression directe par VFP avec des fichiers aux formats BMP ne pose pas
de probl�mes
2) Sur la majorit� des PC �quip�s de XP, Vista, W2003 Serveur, W7
l'impression directe par VFP avec des fichiers aux formats JPG il n'y a pas
d'impression des fichiers de ce format ou alors sous forme de vignettes
iconis�es avec le nom en clair du fichier graphique
3) Sur certains PC ces m�mes �ditions en BMP ou autres impriment de simples
vignettes iconis�es avec le nom du fichier graphique en clair

Avec VFP (de VFP6 a VFP-SP2) et XFRF 12.8 set reporbehavior 80 ou 90
1) Sur la majorit� des PC �quip�s de XP, Vista, W2003 Serveur, W7
l'exportation en fichier ODT ou DOC avec des fichiers aux formats BMP ne
pose pas de probl�mes, alors qu'en exportation PDF, les images sont
transform�es en p�t�s uniformes non comestibles
2) Sur ces m�mes PC les fichiers graphiques sont correctement export�s en
DOC,ODT et PDF (alors que sous VFP il ne l'�tait pas)
3) Sur certains PC ces m�mes �ditions export�es en PDF n'incorpore pas les
fichiers JPG, BMP ou autres..

Ma question:

Comment faites vous pour imprimer sur papier ( REPORT FORM (m.cMonForm) TO
PRINTER/PREVIEW ) des documents comprenant un nombre al�atoire (moins d'une
dizaine quand m�me) de fichiers graphiques (un ou deux par enregistrement du
curseur li� au report, et 1 � N enregistrement(s) dans ce curseur) ?

Cordialement
GLS
Membre AtoutFox

Francis FAURE

unread,
May 18, 2010, 12:56:19 PM5/18/10
to
Gilles,

Concernant ton probl�me de JPG, en report dans un champ general,
fonctionnant sur certaine machine et pas d'autres :

- Je pense que simplement l'association des JPG sur les machines en question
n'est pas sur le paint, mais sur un outil qui n'est pas ole...

Voici ce que tu pourrais tester et me donner ton retour :

- r�-attacher ton .jpg avec paint :
a) soit en interface de l'explorateur
b) soit en ligne de commande si tu veux l'automatiser :

lance une boite de commande :
d�marrer executer : CMD (ou un run /... en vfp)
dans le CMD au c:\>
taper "assoc .jpg" il doit t'afficher l'association en cours
si tu veux la changer et mettre la m�me que ton BMP :
v�rifier ton association BMP avec "assoc .bmp"
et r� associer avec :
"assoc .jpg=Paint.Picture"

attention :
1) dans mon exemple c'est les .JPG si tu veux aussi associer les .JPEG ou
autre : il te faut traiter les associations individuellement
2) si tu est sous une machine Visat avec UAC ou Windows 7 avec UAC : il te
faut lancer ton CMD en "tant qu'administrateur"

Cordialement
Francis Faure From Nouakchott in Mauritanie

OlivierH

unread,
May 18, 2010, 1:07:42 PM5/18/10
to
Salut Gilles,


Pour ma part j'ai utilisé un champs de type blog et j'ai du implementé mon report avec le report listener.

Voila l'article sur lequel je me suis appuyé http://support.microsoft.com/kb/895602/fr
comme cela passe par gdi+ ca marche sur toutes les machines.
ps : comme j'ai le sp1 vfp9 et qu'il y a un bug avec pictureval, ce que tu ne dois pas avoir avec le pack2
j'ai remplacé par picture.

Tiens moi au courant je peux t'aider à mettre ca en place,

Olivier


Le 18/05/2010 12:10, Gilles LAJOT-SARTHOU a écrit :
Bonjour a tous..

J'ai besoin d'imprimer avec VFP ou d'exporter a travers XFRF des états contenant un nombre non connu a l'avance de fichiers graphiques.
Ces fichiers graphiques sont:
- soit des fichiers au format BMP ou JPG et statiques (disponibles en permanence dans un répertoire d'images)
- soit des fichiers au format BMP ou JPG créés dynamiquement en utilisation Foxcharts ou GDIPlusX avant chaque REPORT FORM.
Pour en imprimer plusieurs sur l'état, dans le curseur lié a cet état, j'ai deux champs type GENERAL, l'un pour les images statiques, l'autre pour les images dynamiques. Le rapport hauteur/largeur étant différent entre ces deux types d'images et les deux sont liées a un même enregistrement du curseur.
Pour nourrir ces champs généraux, j'utilise la commande APPEND GENERAL (m.cMonChampImage) FROM (m.cNomImage).

Mes problèmes:
Avec VFP (de VFP6 a VFP-SP2) set reporbehavior 80 ou 90 (REPORT FORM)
1) Sur la majorité des PC équipés de XP, Vista, W2003 Serveur, W7 l'impression directe par VFP avec des fichiers aux formats BMP ne pose pas de problèmes
2) Sur la majorité des PC équipés de XP, Vista, W2003 Serveur, W7 l'impression directe par VFP avec des fichiers aux formats JPG il n'y a pas d'impression des fichiers de ce format ou alors sous forme de vignettes iconisées avec le nom en clair du fichier graphique
3) Sur certains PC ces mêmes éditions en BMP ou autres impriment de simples vignettes iconisées avec le nom du fichier graphique en clair

Avec VFP (de VFP6 a VFP-SP2) et XFRF 12.8 set reporbehavior 80 ou 90
1) Sur la majorité des PC équipés de XP, Vista, W2003 Serveur, W7 l'exportation en fichier ODT ou DOC avec des fichiers aux formats BMP ne pose pas de problèmes, alors qu'en exportation PDF, les images sont transformées en pâtés uniformes non comestibles
2) Sur ces mêmes PC les fichiers graphiques sont correctement exportés en DOC,ODT et PDF (alors que sous VFP il ne l'était pas)
3) Sur certains PC ces mêmes éditions exportées en PDF n'incorpore pas les fichiers JPG, BMP ou autres..

Ma question:

Comment faites vous pour imprimer sur papier ( REPORT FORM  (m.cMonForm) TO PRINTER/PREVIEW ) des documents comprenant un nombre aléatoire (moins d'une dizaine quand même) de fichiers graphiques (un ou deux par enregistrement du curseur lié au report, et 1 à N enregistrement(s) dans ce curseur) ?

Cordialement
GLS
Membre AtoutFox

Gilles LAJOT-SARTHOU

unread,
May 19, 2010, 3:13:38 AM5/19/10
to
Bonjour Francis,

J'ai d�j� essay� de remettre les associations entre les fichiers graphiques
(bmp, jpg,tif,etc..) avec MsPaint a partir des fonctions de l'OS. Dans
certains cas cela r�gle le probl�me dans d'autre rien..
Mes deux soucis principaux sont:
- bonne impression de fichiers au format BMP mais mauvaise impression avec
les formats JPG sur les m�mes machines. (les deux �tant naturellement ouvert
par Mspaint (donc associ� a lui) si l'on demande a les modifier par un clic
droit sous Explorateur Windows)
- bonne impression de fichiers au format BMP sous VFP seul alors qu'avec
XFRX gros p�t� sous des exportations PDF, et en prenant les JPG sur les
m�mes machines en VFP pas d'impression des images alors qu'en exportation
PDF sous XFRX cela fonctionne..
- quelques machines (1 sur 5 en moyenne), rien ne fonctionne, c'est
syst�matiquement un p�t� noir sous VFP et XFRF quelque soit le format de
fichier graphique..

J'ai du bricolage de contournement pour r�gler ces situations mais cela
m'oblige d'effectuer machine par machine un param�trage sp�cifique pour
g�rer les p�pins..

Je vais essayer par les commandes DOS d'associations que tu m'as fournie..

Amicalement
Gilles
Membre AtoutFox

"Francis FAURE" <francis.faure_@_dord.com> a �crit dans le message de
news:uUmsJsq9...@TK2MSFTNGP02.phx.gbl...

Gilles LAJOT-SARTHOU

unread,
May 19, 2010, 3:19:34 AM5/19/10
to
Bonjour OlivierH..
 
Merci je n'ai pas testé les champs BLOB, par contre dans un REPORT en mode 90, j'ai déjà testé l'édition d'image avec une variable pointant sur un objet Canvas (pictureVAL).
Cela fonctionne sauf que les mêmes REPORT doivent aussi passer sous XFRX et ce type de mécanisme ne fonctionne pas pour lui..
 
Ce que je cherche, c'est une méthodologie unique pour les éditions de LABEL ou REPORT avec ou sans fichiers bitmaps directement sous VFP9 et sous XFRX avec les formats DOC,ODT,PDF,RTF,HTML et PDF...
 
A tester donc..
 
Amicalement
GLS
Membre AtoutFox

Alain L

unread,
May 19, 2010, 12:09:37 PM5/19/10
to
Bonsoir,
Dans les PDF les images sont-elles noires aussi dans la
pr�vu � l'�cran ou bien que sur les sorties papier ?

Alain

"Gilles LAJOT-SARTHOU" <gilles.la...@wanadoo.fr> a
�crit dans le message de news:
uHSKnOy...@TK2MSFTNGP02.phx.gbl...
Bonjour OlivierH..

Merci je n'ai pas test� les champs BLOB, par contre dans un
REPORT en mode 90, j'ai d�j� test� l'�dition d'image avec

une variable pointant sur un objet Canvas (pictureVAL).

Cela fonctionne sauf que les m�mes REPORT doivent aussi
passer sous XFRX et ce type de m�canisme ne fonctionne pas
pour lui..

Ce que je cherche, c'est une m�thodologie unique pour les
�ditions de LABEL ou REPORT avec ou sans fichiers bitmaps

directement sous VFP9 et sous XFRX avec les formats
DOC,ODT,PDF,RTF,HTML et PDF...

A tester donc..

Amicalement
GLS
Membre AtoutFox
OlivierH" <"nospam[contact]"@planitron.com> a �crit dans le

message de news:uN5uHzq9...@TK2MSFTNGP02.phx.gbl...
Salut Gilles,


Pour ma part j'ai utilis� un champs de type blog et j'ai
du implement� mon report avec le report listener.

Voila l'article sur lequel je me suis appuy�

http://support.microsoft.com/kb/895602/fr
comme cela passe par gdi+ ca marche sur toutes les
machines.
ps : comme j'ai le sp1 vfp9 et qu'il y a un bug avec
pictureval, ce que tu ne dois pas avoir avec le pack2

j'ai remplac� par picture.

Tiens moi au courant je peux t'aider � mettre ca en place,

Olivier


Le 18/05/2010 12:10, Gilles LAJOT-SARTHOU a �crit :
Bonjour a tous..

J'ai besoin d'imprimer avec VFP ou d'exporter a travers

XFRF des �tats contenant un nombre non connu a l'avance de

fichiers graphiques.
Ces fichiers graphiques sont:
- soit des fichiers au format BMP ou JPG et statiques

(disponibles en permanence dans un r�pertoire d'images)
- soit des fichiers au format BMP ou JPG cr��s

dynamiquement en utilisation Foxcharts ou GDIPlusX avant
chaque REPORT FORM.

Pour en imprimer plusieurs sur l'�tat, dans le curseur

li� a cet �tat, j'ai deux champs type GENERAL, l'un pour les

images statiques, l'autre pour les images dynamiques. Le

rapport hauteur/largeur �tant diff�rent entre ces deux types

d'images et les deux sont li�es a un m�me enregistrement du
curseur.
Pour nourrir ces champs g�n�raux, j'utilise la commande

APPEND GENERAL (m.cMonChampImage) FROM (m.cNomImage).

Mes probl�mes:


Avec VFP (de VFP6 a VFP-SP2) set reporbehavior 80 ou 90
(REPORT FORM)

1) Sur la majorit� des PC �quip�s de XP, Vista, W2003

Serveur, W7 l'impression directe par VFP avec des fichiers

aux formats BMP ne pose pas de probl�mes

2) Sur la majorit� des PC �quip�s de XP, Vista, W2003

Serveur, W7 l'impression directe par VFP avec des fichiers
aux formats JPG il n'y a pas d'impression des fichiers de ce

format ou alors sous forme de vignettes iconis�es avec le

nom en clair du fichier graphique

3) Sur certains PC ces m�mes �ditions en BMP ou autres
impriment de simples vignettes iconis�es avec le nom du
fichier graphique en clair

Avec VFP (de VFP6 a VFP-SP2) et XFRF 12.8 set
reporbehavior 80 ou 90

1) Sur la majorit� des PC �quip�s de XP, Vista, W2003

Serveur, W7 l'exportation en fichier ODT ou DOC avec des

fichiers aux formats BMP ne pose pas de probl�mes, alors
qu'en exportation PDF, les images sont transform�es en p�t�s

uniformes non comestibles


2) Sur ces m�mes PC les fichiers graphiques sont
correctement export�s en DOC,ODT et PDF (alors que sous VFP
il ne l'�tait pas)

3) Sur certains PC ces m�mes �ditions export�es en PDF

n'incorpore pas les fichiers JPG, BMP ou autres..

Ma question:

Comment faites vous pour imprimer sur papier ( REPORT
FORM (m.cMonForm) TO PRINTER/PREVIEW ) des documents

comprenant un nombre al�atoire (moins d'une dizaine quand
m�me) de fichiers graphiques (un ou deux par enregistrement

du curseur li� au report, et 1 � N enregistrement(s) dans ce

OlivierH

unread,
May 19, 2010, 12:41:31 PM5/19/10
to
Je vais faire le test avec Xfrx et te dire si ma class fonctionne avec.

Olivier,

Gilles LAJOT-SARTHOU

unread,
May 19, 2010, 1:00:00 PM5/19/10
to
Bonjour,

Les deux..
Dans l'exportation en PDF d'un REPORT VFP avec des fichiers bitmaps en
provenance d'un champ DATA GENERAL, XFRF ne fonctionne pas correctement pour
la partie image..ma version est la derni�re 12.8..

Cordialement
GLS
Membre AtoutFox

"Alain L" <Mon...@Personne.net> a �crit dans le message de
news:u5eYv229...@TK2MSFTNGP04.phx.gbl...

OlivierH

unread,
May 19, 2010, 2:40:58 PM5/19/10
to
Je te confirme que mon mécanisme de ReportListener avec la gestion des blob (image à la volée)
fonctionne très biens avec xfrx => PDF et DOC , j'ai testé ces deux formats car j'ai un manque de temps.
(j'ai un fichier image blob de 9 lignes pour ce report et cela genere 9 images 1 par page en plein écran mais tu peux réduire si tu veux.)

J'ai été étonné de la rapidité de la génération.Xfrx est produit etonnant.

je t'aurais bien fabriqué un code mais cela me demande du temps,
si tu veux avancer sur un petit prg et je peux t'aider si tu es bloqué.

Olivier,

Gilles LAJOT-SARTHOU

unread,
May 20, 2010, 1:34:50 AM5/20/10
to
Merci OlivierH..
 
Je vais tester l'utilisation des blobs dans la matinée..
 
Amicalement
GLS
Membre AtoutFox

Francis FAURE

unread,
May 20, 2010, 6:21:35 AM5/20/10
to
Olivier
le blob et le general sont gérés de la même manière en VFP : un lien ole sur mspaint
donc le problème reviendra sur l'association du jpg
Pour le listener incorporant GDI+ directement cela ne fonctionnera pas avec XFRX : la méthode de gilles de faire un jpg avant est mieux
"OlivierH" <"nospam[contact]"@planitron.com> a écrit dans le message de groupe de discussion : u3eW6L49...@TK2MSFTNGP05.phx.gbl...

Francis FAURE

unread,
May 20, 2010, 6:24:07 AM5/20/10
to
Gilles,
si apres avoir associ� ton .jpg tu as une image "noire" : je pense a un
probl�me avec le format jpg utilis� pour l'image elle m�me style entrelac�
ou autre
ton image s'ouvre bien dans mspaint avec un double clic ? as tu essay� en re
enregistrant cette image avec mspaint ?
exp�die moi en email un .jpg d'exemple qui ne fonctionne pas correctement
Cordialement
Francis

"Gilles LAJOT-SARTHOU" <gilles.la...@wanadoo.fr> a �crit dans le
message de groupe de discussion : eMckSLy9...@TK2MSFTNGP05.phx.gbl...

OlivierH

unread,
May 20, 2010, 6:41:09 AM5/20/10
to
Francis,

J'utilise la méthode avec listener qui alimente le pictureval par programmation.(voir article microsoft)
Et je te confirme que cela fonctionne avec XFRX (pdf et doc), j'utilise la propriété Successor.

Voila mon code :


Local oRL as ReportListener
SET DEFAULT TO (M.REP_LIBRARY)
m.loXfrx         = XFRX("XFRX#LISTENER")

m.cFormEtat= m.REP_ETAT+"\GuideVendeur.frx"
lnRetVal       = m.loXfrx.SetParams("GuideVendeur", M.REP_XFRX,.F., "", .F., .F., "PDF")

IF m.lnRetVal = 0
  
        Select im_fichier as PIC From Images Where "GUIDE_VENDEUR" $ upper(im_nom) ;
        Order By IM_NOM ASC Into Cursor ReportTemp ReadWrite
        Go top

        m.oRL = NEWOBJECT("ListenerGuideVendeur","Class_frx.vcx")
        m.oRL.InitBLOBImage('ReportTemp.PIC')
       
        m.loXfrx.successor = m.oRL

        Select ReportTemp
        Go TOP

        REPORT FORM(m.cFORMETAT) OBJECT m.loXfrx ALL  NOPAGEEJECT
        m.loXfrx.finalize() && renvoi l'objet Xfrx
ENDIF

ps : en plus je n'ai pas les dernières versions de xfrx peut etre la 10 .

Olivier,


Francis FAURE

unread,
May 20, 2010, 1:14:27 PM5/20/10
to
Oui Olivier,
mais je te répondais au fait que tu parlais d'utiliser des fonctions GDI+ dans ton listener lui même, c'est cela qui ne fonctionne pas.
Cordialement
 
"OlivierH" <"nospam[contact]"@planitron.com> a écrit dans le message de groupe de discussion : OSWlckA%23KHA...@TK2MSFTNGP05.phx.gbl...
Francis,

J'utilise la méthode avec listener qui alimente le pictureval par programmation.(voir article microsoft)
Et je te confirme que cela fonctionne avec XFRX (pdf et doc), j'utilise la propriété Successor.

Voila mon code :


Local oRL as ReportListener
SET DEFAULT TO (M.REP_LIBRARY)
m.loXfrx         = XFRX("XFRX#LISTENER")

m.cFormEtat= m.REP_ETAT+"\GuideVendeur.frx"
lnRetVal       = m.loXfrx.SetParams("GuideVendeur", M.REP_XFRX,.F., "", .F., .F., "PDF")

IF m.lnRetVal = 0
  
        Select im_fichier as PIC From Images Where "GUIDE_VENDEUR" $ upper(im_nom) ;
        Order By IM_NOM ASC Into Cursor ReportTemp ReadWrite
        Go top

        m.oRL = NEWOBJECT("ListenerGuideVendeur","Class_frx.vcx")
        m.oRL.InitBLOBImage('ReportTemp.PIC')
       
        m.loXfrx.successor = m.oRL

        Select ReportTemp
        Go TOP

        REPORT FORM(m.cFORMETAT) OBJECT m.loXfrx ALL  NOPAGEEJECT
        m.loXfrx.finalize() && renvoi l'objet Xfrx
ENDIF

ps : en plus je n'ai pas les dernières versions de xfrx peut etre la 10 .

Olivier,



OlivierH

unread,
May 20, 2010, 1:20:33 PM5/20/10
to
Quans j'ai repondu cette phrase à Gille , je ne pensais qu' au generateur d'etat fox,
qui utilise le moteur Gdi+ pour tous les objects de l'état.

Alors qu'avant le report 90, son image utilisait l"ole associé à son type d'image.

Bref que vfp utilise gdi+ c'était la mon point de comparaison et non le fait qu'il faille l'implémenter.

Olivier

Gilles LAJOT-SARTHOU

unread,
May 21, 2010, 3:27:42 AM5/21/10
to
Bonjour,
 
j'ai testé avec set ReportBehavior=90, l'utilisation avec GDI+ de l'impression d'images a travers une référence objet..C'est good en VFP mais cela ne fonctionne pas comme prévu avec XFRX...
Francis as-tu reçu mon email ?..j'ai un doute car j'ai eu un retour négatif d'orange..
 
Amicalement
GLS
Membre AtoutFox

OlivierH

unread,
May 21, 2010, 8:00:47 AM5/21/10
to
Peux tu m'envoyer un petit programme, qui le fait debut (un etat , 3 images)
et je vais te le lancer.

Olivier

Gilles LAJOT-SARTHOU

unread,
May 25, 2010, 11:00:16 AM5/25/10
to
Pour information..
XFRX dans sa m�thode ProcessReport g�re mal les fichiers images utilis�s a
partir de champs type GENERAL dans son transfert en PDF..
VFP ne g�re pas correctement les fichiers images au format JPG utilis�s a
partir de champs type GENERAL dans sa commande REPORT FORM.

La solution est d'utiliser comme le pr�conise OlivierH le ReportListener +
Report /LabelForm et des champs blob charg�s avec le contenu des images et
des r�f�rences a des objets de type IMAGE pour l'impression.
Pour cela il faut cr�er une sous classe de l'objet basique ReportListener
dans laquelle l'on a ajout� un ou plusieurs objet de base IMAGE.
L'astuce est d'utiliser la m�thode BEFOREBAND() de ReportListener pour
mettre a jour les objets IMAGE a l'aide de leur propri�t� PictureVal dans
cette classe.
Pour VFP une simple �dition a l'aide de REPORT FORM (monetat) OBJECT
objectReportListenerPr�alablementInstanci�
Pour XFRX il faut utiliser non pas la m�thode INIT, mais la m�thode
LISTENER. Cet objet XFRX.LISTENER instanci� doit �tre li� a l'objet
ReportListener contenant la m�thode BEFORBAND() pour qu'XFRX exporte aussi
les fichiers images. Le lien s'effectue avec la propri�t�
XFFX.LISTENER.successor. le REPORT FORM (monetat) OBJECT XFRX.LISTENER, puis
la commande XFRX.Finalise() exportera correctement en PDF/DOC,etc.. avec les
images..

Merci a OlivierH pour m'avoir mis sur la piste, a Jean pour les blobs dans
une vue..

Cordialement
GLS
Membre AtoutFox
"Gilles LAJOT-SARTHOU" <gilles.la...@wanadoo.fr> a �crit dans le
message de news:uFZ6YJn9...@TK2MSFTNGP06.phx.gbl...

Francis FAURE

unread,
May 25, 2010, 2:17:31 PM5/25/10
to
Gilles,

Je pense que ton analyse n'est pas juste,
en effet le fichier BMP que tu m'a exp�di� en exemple est au format 32bppRGB
je te mail un exemple de solution te permettant de g�rer tes images BMP en
champ general comme demand�
et ceci sans probl�me avec VFP - n'importe quelle version, - sans probl�me
avec XFRX PDF m�me en mode normal (sans listner : utilise si c'est un DLL)
merci de ton retour

Cordialement
Francis

0 new messages