4D v16.3

Convertir les documents 4D Write en 4D Write Pro

Accueil

 
4D v16.3
Convertir les documents 4D Write en 4D Write Pro

Convertir les documents 4D Write en 4D Write Pro    


 

4D Write Pro peut ouvrir et convertir des documents 4D Write en conservant la quasi-totalité de leurs propriétés spécifiques :

Sur l'image ci-dessus, nous avons une zone 4D Write à gauche et une zone 4D Write Pro à droite (créée avec le nouvel objet de la bibliothèque d'objet - voir ci-dessous). Le contenu de la zone 4D Write a été récupéré simplement avec la commande WP New :

  // on récupère dans la zone 4D Write Pro le contenu de la zone 4D Write
 [ZONESWRITE]ZoneNTWP:=WP New([ZONESWRITE]ZoneNT_)

Mais 4D Write n'étant utilisable qu'avec 4D v16 32 bits, il faut donc que vous convertissiez vos documents 4D Write avant votre passage en 64 bits.

A la différence de 4D Write, 4D Write Pro n'est pas un plug-in mais est intégré à 4D lui-même. Notez que 4D Write Pro utilise la même licence que 4D Write, et donc que celle-ci doit être installée dans votre application pour que la fonctionnalité soit activée.

Les objets 4D Write Pro permettent de récupérer des documents 4D Write de deux manières :

  • Pour les fichiers 4D Write stockés sur disque, vous pouvez utiliser la commande WP Import document. Les fichiers 4D Write : .4w6, .4w7 et .4wt (modèle 4D Write), doivent être convertis en fichiers 4D Write Pro (.4wp).

      // Convertir d'abord les fichiers .4w6 en .4w7 (avec des commandes 4D Write)
     $offscreen:=WR New offscreen area
     WR OPEN DOCUMENT($offscreen;"monFichier.4w6";"4WR6")
     WR SAVE DOCUMENT($offscreen;"monFichier.4w7";"4WR7")
     WR DELETE OFFSCREEN AREA($offscreen)


      // puis convertir les .4w7 en .4wp (avec des commandes 4D Write Pro)
     C_OBJECT($docWritePro)
     $docWritePro:=WP Import document("monFichier.4w7")
     WP EXPORT DOCUMENT($docWritePro;"MonFichier.4wp")

  • Pour les documents 4D Write stockés dans le fichier de données, vous pouvez utiliser la commande WP New. Les fichiers 4D Write (dans un champ Image ou un champ BLOb) doivent être transférés dans un champ Objet.

      // d'un champ Image vers un champ Objet, en passant par un BLOb
      // [DocWRITE]ZoneWriteImage_ étant un champ Image
      // $Blob étant un BLOb
      // [DocWRITE]ZoneWritePro étant un champ Objet
     $offscreen:=WR New offscreen area
     WR PICTURE TO AREA($offscreen;[DocWRITE]ZoneWriteImage_)
     $Blob:=WR Area to blob($offscreen;1)
     [DocWRITE]ZoneWritePro:=WP New($Blob)
     WR DELETE OFFSCREEN AREA($offscreen)


      // d'un champ BLOb vers un champ Objet
      // [DocWRITE]ZoneWriteBlob_ étant un champ BLOb
      // [DocWRITE]ZoneWritePro étant un champ Objet
     [DocWRITE]ZoneWritePro:=WP New([DocWRITE]ZoneWriteBlob_)

Notes de compatibilité :

  • Seuls les documents 4D Write de dernière génération ("4D Write v7") sont pris en charge.
  • Contrôler les fonctionnalités et objets importables en consultant :  Quelles propriétés 4D Write sont importées ?
  • Le copier-coller d'un document 4D Write vers une zone 4D Write Pro n'est pour le moment pas pris en charge. L'importation d'un document 4D Write peut être uniquement effectuée via les commandes du langage de 4D Write Pro.
  • Sous Windows, les fonctionnalités de 4D Write Pro s'appuient sur Direct2D. Avec des machines sous Windows 7 ou Windows Server 2008, assurez-vous que le composant Platform Update for Windows a bien été installé, afin de bénéficier de la version requise de Direct2D.

Dans 4D v16, la bibliothèque d'objets préconfigurés de l'éditeur de formulaires inclut le nouvel objet de formulaire 4D Write Pro. Glisser-déposer cet objet dans un formulaire insère automatiquement une zone 4D Write Pro préconfigurée associée à un sous-formulaire widget 4D Write Pro contenant plusieurs pages de panneaux de contrôle permettant de gérer le contenu de la zone :

         

Pour plus d'informations, voir Zone 4D Write Pro.

Dans la structure de votre base de données, tout champ objet 4D peut être utilisé pour stocker des documents 4D Write Pro. Une fois que le champ objet destiné à stocker vos documents 4D Write Pro est défini, il vous suffit de le référencer dans le formulaire contenant la zone. Dans l'éditeur de formulaires, saisissez le nom du champ, en utilisant la notation standard "[Table]Champ", dans la zone Nom de la variable de la Liste des propriétés pour la zone 4D Write Pro :

   

Votre zone 4D Write Pro est alors associée au champ de type Objet,

Ce filtrage n'était pas activé pour les documents 4D Write Pro dans les versions précédentes. Si vos documents 4D Write Pro référençaient des méthodes 4D, elles ne seront plus évaluées correctement une fois les documents convertis en 4D v16 ou plus. Des messages "## Error # 48" seront affichés à la place.
Dans ce cas, vous devrez ajouter les méthodes dans la liste des méthodes autorisées en utilisant la commande SET ALLOWED METHODS.

De nouvelles commandes ont été ajoutées et des commandes existantes ont évolué pour fonctionner avec 4D Write Pro :

  • OBJECT SET HORIZONTAL ALIGNMENT : Cette commande prend en charge les objets 4D Write Pro. Une nouvelle constante wk justify est désormais disponible, uniquement pour les zones 4D Write Pro, dans le paramètre alignement pour les objets 4D Write Pro, vous permettant de fixer un alignement de type justifié
  • OB SET : Cette commande prend en charge les définitions d'attributs dans les objets 4D Write Pro, de la même manière que WP SET ATTRIBUTES. La syntaxe suivante est prise en charge :
    OB FIXER ( objSel | wpDoc; nomAttrib ; valeurAttrib {; nomAttrib2 ; valeurAttrib2 ; ... ; nomAttribN ; valeurAttribN} )

    Limitation : elle ne permet pas de passer un champ image ou une variable image directement comme valeur d'attribut.
  • OB Get : Cette commande prend en charge les définitions d'attributs dans les objets 4D Write Pro, de la même manière que WP GET ATTRIBUTES. La syntaxe suivante est prise en charge :
    OB Lire ( objSel | wpDoc; nomAttrib ) -> Résultat

    Cette commande admet la même limitation que OB FIXER : elle ne permet pas d'utiliser champ image ou une variable image directement comme valeur d'attribut.
  • "Stringifier" les attributs 4D Write Pro : Si vous convertissez un objet 4D Write Pro en JSON à l'aide de JSON Stringify, seul l'attribut "title" sera disponible dans la chaîne de sortie.
    Les attributs personnalisés, s'il y en a, seront quant à eux "stringifiés" (cf. "Utiliser des attributs personnalisés" dans la section Stocker les documents 4D Write Pro dans des champs objet 4D).
  • QUERY BY ATTRIBUTE : Comme défini dans la section Stocker les documents 4D Write Pro dans des champs objet 4D, la commande QUERY BY ATTRIBUTE prend en charge les attributs 4D Write Pro (internes et personnalisés) lorsque les documents sont stockés dans des champs objet.

A compter de 4D v16, vous pouvez sauvegarder des documents 4D Write Pro sur disque et les rouvrir sans aucune perte de données grâce au nouveau format natif .4wp.

Le format .4wp est constitué d'un dossier zip dont le nom est le titre du document, et contenant du texte HTML et des images :

  • le texte HTML combine du HTML standard et des expressions 4D (non interprétées) ainsi que des balises 4D spécifiques,
  • les images sont stockées dans un dossier du même nom que le document, situé à côté du fichier HTML.

Comme les documents .4wp sont basés sur du HTML, ils peuvent être importés et ouverts dans toute application tierce qui prend en charge le format HTML.

Note : Le format interne des documents 4D Write Pro est du HTML étendu propriétaire, conforme au HTML5/XHTML5, mais utilisant un sous-ensemble d'attributs et de balises HTML/CSS. Par conséquent, seuls les documents HTML exportés par 4D Write Pro peuvent être ouverts par 4D Write Pro avec la garantie qu'il n'y aura pas d'erreur.

 
 



Voir aussi  

Import de documents 4D Write

 
PROPRIÉTÉS 

Produit : 4D ODBC Pro
Thème : Convertir les documents 4D Write en 4D Write Pro

 
HISTORIQUE 

 
UTILISATION DE L'ARTICLE

Conversion en 4D v16 ( 4D v16)
Conversion en 4D v16 ( 4D v16.2)
Conversion en 4D v16 ( 4D v16.3)