Ce document est une compilation de toutes les fonctionnalités disponibles dans 4D v18, qui ont été introduites au cours du programme v17 R-release ou lors de la dernière étape de 4D v17 R6 à 4D v18. Notez que chaque fonctionnalité comporte un article de blog associé pour vous présenter des exemples concrets. Ces articles de blog sont accessibles en cliquant sur le titre de la fonctionnalité.
Les sections avec le tag
sont liées à toutes les nouvelles fonctionnalités publiées entre 4D v17 R6 et 4D v18.
Ce document est divisé en sept sections :
Une solution fournie avec 4D v18 permet le travail collaboratif aux équipes distribuées, en stockant le source dans un système de contrôle de source dans des fichiers en texte brut. Elle vous permet de tirer parti de la puissance combinée de la plateforme de développement 4D et de la polyvalence d'un travail allégé et distribué :
Architecture
Une base projet contient tout le code source d'une application 4D : de la structure à l'interface utilisateur, en passant par les formulaires, les menus, les paramètres utilisateur ou les ressources requises. Et comme une base projet est composée de fichiers texte, vous obtiendrez plusieurs dossiers et fichiers, stockées dans un seul dossier parent de la base. Lorsque vous créez une base projet, vous trouverez les mêmes dossiers que pour une base en binaire :
- Data
- Logs
- Resources
- Settings
- WebFolder
Seulement deux dossiers sont nouveaux :
- Project – Code source de l'application (équivalent à .4DB)
- userPreferences.<name> – Ce dossier contient les fichiers qui mémorisent les configurations utilisateur (par exemple les points d'arrêt, les positions des fenêtres, etc). Lire la documentation
Convertir une base de données existante
Vous pouvez créer une base projet en créant une nouvelle base de données projet vierge ou en exportant une structure existante (.4DB) dans un dossier projet. Pour convertir une base existante, cliquez simplement sur la ligne de menu Fichier > Exporter > Structure vers projet. Après cela, un message s'affiche pour vous informer que la conversion s'est déroulée avec succès. 4D vous indique également si des erreurs nécessitant votre intervention ont été détectées. Par exemple, certains objets de formulaire trop anciens ne sont plus pris en charge. Lire la documentation
Après la conversion
En ce qui concerne la structure d'une base de données binaire, la description de votre application est stockée dans deux fichiers (.4DB et .4DIndx). Pour une base projet, vous trouverez cette description dans les fichiers stockés dans le dossier "Project". Ainsi, après la conversion, vous pouvez supprimer les fichiers suivants : <database>.4DB and <database>.4dIndy. En ce qui concerne les données pour les nouvelles bases projet, 4D crée un dossier “Data” au même niveau que le dossier "Project". Ainsi, même pendant la phase de développement, un fichier situé à côté des donnés est différent d'un fichier situé à côté de la structure. Ainsi, après la conversion, nous vous recommandons de créer un dossier de données au même niveau de le dossier de projet, et de déplacer les fichiers de données .4DD et .4DIndx dans ce dossier. Enfin, pour garder les données séparées et faciliter le déploiement, 4D nomme désormais avec le mot "Preferences" les fichiers pour les paramètres liés au mode développement tel que la configuration de l'éditeur de code, et utilise le mot "Parametres" pour les paramètres de déploiement, tels que la mémoire ou la sauvegarde.
Gestion des utilisateurs et groupes
Etant donné que dans une base projet, votre base de données est entièrement basée sur du texte, il n'y a aucune raison d'utiliser la gestion des utilisateurs et des groupes pour protéger le code. Ce rôle est délégué au système de contrôle de version ou au système de droits d'accès aux fichiers / dossiers du système d'exploitation. En conséquence, les utilisateurs et groupes ne gèrent désormais plus que l'accès aux données et sont stockés dans un fichier texte nommé “directory.json” à côté du fichier de données.
Déploiement amélioré
Il n'est plus nécessaire de différencier les développeurs des utilisateurs. Par conséquent, les deux ont maintenant le type "Utilisateur". Et afin de simplifier le déploiement, les commandes Fichier 4D et Fichier acceptent maintenant la nouvelle constante Fichier directory, vous permettant ainsi de gérer facilement et automatiquement le bon fichier. Lire la documentation
Pendant la conversion et la migration
Le fichier Directory.json sera automatiquement généré lors de la conversion en projet, et placé dans le dossier Settings. Si vous utilisiez précédemment la commande BLOB VERS UTILISATEURS pour restaurer vos utilisateurs et mots de passe, la commande va maintenant générer ce fichier "Directory.json", de sorte que vous n'ayez pas à modifier votre code existant. Lire la documentation
Mode mono-utilisateur
En mode mono-utilisateur, la gestion des utilisateurs et des groupes est totalement désactivée. L'utilisateur courant est toujours le Super-Utilisateur et vous ne pouvez pas le changer. Les droits d'accès à l'application des utilisateurs et groupes peuvent être délégués au système. Donc si vous voulez masquer le nom du Super-Utilisateur avec le compte système ou votre propre nom d'utilisateur, il vous suffit d'appeler la commande FIXER ALIAS UTILISATEUR. Lire la documentation
Mode Client/Serveur
En mode client-serveur, les Utilisateurs et Groupes sont pleinement opérationnels. Vous pouvez changer l'utilisateur actuel, définir son alias, changer son mot de passe, etc.
Boîte à outils
La boîte à outils Utilisateurs et Groupes est accessible dans tous les modes : mono-utilisateur et client/serveur. Mais en mode mono-utilisateur, la boîte à outils ne peut servir pour modifier les utilisateurs et les groupes qui seront utilisés en mode client-serveur.
Déployez votre application
Le déploiement comprend deux étapes : la compilation du code et la création d'application. Vous pouvez compiler votre base projet de la même manière que votre base binaire (.4DB). Il n'y a pas de différence entre les deux. L'interface est le même et le code machine produit est le même. La seule différence est que le résultat de la compilation est enregistré dans le fichier binaire (.4DB) pour les bases de données binaires et dans le dossier "Project/DerivedDate/CompiledCode" pour les base projet. Comme pour le code compilé, vous ne pouvez apporter aucune modification aux applications générées (base compilée, composant, application autonome, application client / Serveur), vous pouvez utiliser le même fichier de configuration de votre base de données binaire avec votre base projet convertie. La différence réside dans les fichiers générés : un fichier portant l'extension ".4DZ" pour la base projet compilé, au lieu d'un fichier ".4DC". Lire la documentation
Téléchargement dans un système de source control
Lorsque vous compilez votre base de données, 4D enregistre le code compilé dans le dossier “Project/DerivedData”. Il est recommandé de télécharger, dans un système de source control, le dossier “Resources”, le dossier “WebFolder” et le dossier “Project” sans le sous-dossier “DerivedData”. Lire la documentation
Les feuilles de style deviennent des CSS
Les possibilités des feuilles de style sont considérablement améliorées. 4D s'inspire de la syntaxe des CSS pour les feuilles de style dans les bases projet, en l'adaptant aux besoins spécifiques des formulaires 4D. Cela vous permet de configurer toutes les propriétés avec des feuilles de style. Cela signifie que les propriétés prises en charge par les objets d'un formulaire peuvent être utilisées dans les feuilles de style. Lire la documentation
Chiffrement
Un nouveau chiffrement des données, intégré dans 4D, est maintenant à votre disposition pour vos bases de données. Les données peuvent être chiffrées via le code ou l'interface utilisateur, pour toutes les tables ou uniquement les tables sélectionnées. Les outils de chiffrement de 4D sont basés sur une phrase secrète. Il est composé d'une phrase ou d'une combinaison de mots utilisée pour générer une clé de chiffrement binaire afin de chiffrer les données avec l'algorithme AES. Pour travailler avec un fichier de données crypté, la clé de cryptage ou la clé de cryptage binaire est obligatoire. 4D chiffre les données au niveau du fichier, ce qui signifie que votre fichier de données (.4DD), votre sauvegarde et votre journal sont cryptés. Outre la sécurité sur votre propre ordinateur, cela facilite la copie des sauvegardes dans des emplacements dans le cloud ou sur des disques externes, les données restant cryptées.
Un nouvel attribut Chiffrable est disponible pour les tables en mode Développement. Il définit le statut de chiffrement d'une table en spécifiant qu'elle peut être chiffrée. Une fois que vous êtes prêt à chiffrer vos données, le moyen le plus simple de le faire consiste à utiliser la nouvelle page Chiffrement dans le CSM. Cette page fournit toutes les fonctionnalités nécessaires pour contrôler le cryptage de vos données. Vous pouvez utiliser cette page pour chiffrer ou déchiffrer le fichier de données, le rechiffrer et/ou modifier votre phrase secrète. Lire la documentation
Outre le CSM, 4D v18 inclut un ensemble de commandes conçues pour prendre en charge la plupart des exigences du cryptage. Par exemple, vous pouvez gérer le chiffrement à l'aide de la commande Chiffrer fichier donnees, ou utiliser la commande Creer cle donnees pour fournir la clé de chiffrement des données à un fichier de données ouvert. Vous pouvez même utiliser Statut chiffrement donnees pour vérifier si le fichier de données ouvert est crypté et si une clé de cryptage de données valide a été fournie. La liste complète des commandes est disponible dans le Centre de Documentation. Lire la documentation
Pour plus d'informations sur les outils et techniques intégrés nécessaires à la création d'un environnement sécurisé pour vos applications d'entreprise, veuillez consulter Security Guide.
4D for iOS
4D for iOS est une solution vous permettant d'étendre vos applications métiers aux terminaux mobiles. 4D for iOS est entièrement intégré à 4D, aucune installation supplémentaire (à l'exception de Xcode), ni aucune expertise préalable n'est donc nécessaire. Voici les fonctionnalités livrées avec cette version :
La modification de données directement depuis votre application est désormais possible grâce aux actions. Cela signifie que vos utilisateurs peuvent éditer des données directement dans votre application iOS et pour protéger votre logique métier, chaque "action" est envoyée à 4D et exécute vos méthodes 4D pour vérifier, calculer des données supplémentaires et enfin approuver ou rejeter la saisie de l'utilisateur. Idem pour les opérations d'ajout ou de suppression. En outre, des actions prédéfinies sont fournies pour gérer le contenu de votre application : Ajouter, Modifier et Supprimer. Lire la documentation
Data formatter, un nouveau concept vous permettant de définir des formats de données spécifiques pour vos champs afin que le contenu soit affiché au bon format. Vous pouvez rapidement remplacer le format par défaut de vos champs pour afficher le format de votre choix, tel que monnaie, booléen, pourcentage, dates, etc. A titre d'exemple, imaginons que vous souhaitiez afficher une image afin de visualiser les factures "payées" et "non payées", qui correspondront bien mieux à l'iPhone qu'une simple case à cocher. Lire la documentation
4D for iOS prend en charge la recherche multicritères. Après avoir sélectionné votre modèle de formulaire en liste, déposez plusieurs champs dans la zone de recherche pour activer la recherche multicritères. Lorsque vous spécifiez plusieurs valeurs pour le même champ, un opérateur OR est utilisé en arrière-plan. Par exemple, faites glisser RaisonSociale, Nom et Ville dans la zone de recherche pour permettre à votre utilisateur de saisir ces informations pour rechercher un client. Lire la documentation
Un autre nouveau concept est apparu : les requêtes restreintes. Elles vous permettent de filtrer les données à synchroniser avec votre application mobile. Il n'y a besoin ni de temps, ni d'espace, pour télécharger des giga-octets de données sur un téléphone. Vous pouvez limiter les données aux factures de l'année dernière, aux clients actifs ou à la région dont un Directeur des ventes est responsable. Lire la documentation
Synchronisation incrémentielle des données
Un concept intéressant est inclus dans 4D for iOS : la synchronisation incrémentielle des données. Elle répond à deux besoins différents : même avec des requêtes restreintes, le jeu de données peut être énorme, donc 4D garde automatiquement la trace des enregistrements mis à jour ou supprimés et ne met met à jour que ces données sur l'appareil. De plus, vos données sont non seulement mises à jour à chaque lancement de votre application, mais également à chaque fois que celle-ci passe au premier plan ou en réponse à une action de l'utilisateur. Lire la documentation
Gérer les relations ![]()
4D for iOS prend en charge les types de relations N vers 1 et 1 vers N. Pour N vers 1, c'est simple, vous pouvez utiliser les champs associés dans un formulaire comme des champs de la table principale. Pour les relations de 1 vers N, le formulaire contient un bouton qui permet de passer à une autre page affichant la liste des enregistrements associés. Lire la documentation
Personnalisez votre application
Créez vos propres modèles formulaires liste et détaillé
4D for iOS fournit déjà divers modèles de formulaires Liste et de formulaires Détail pour répondre à la plupart de vos besoins. Mais vous pouvez également créer facilement votre propre liste et des modèles de formulaires détaillés. En utilisant Xcode Storybuilder, vous ou votre collègue possédant des compétences en Xcode, pouvez créer de nouveaux modèles ou personnaliser ceux existants, en utilisant toutes les fonctionnalités fournies par iOS. Pour utiliser les modèles créés, aucune compétence particulière n'est requise, vous pouvez les utiliser comme n'importe quel modèle intégré. Lire la documentation
4D for iOS dispose d'une grande bibliothèque d'icônes couvrant de nombreux domaines tels que le commerce, la finance, l'éducation, les administrations publiques, la santé, l'industrie, l'immobilier, les services, etc. Lire la documentation
Créez des formats personnalisés de données
4D for iOS inclut déjà des formatages basiques de données pour les dates, les pourcentages, les heures, etc. Mais aussi, vous pouvez créer vos propres formats et les utiliser directement à partir de l'éditeur de projet. Par exemple, vous pouvez créer un format integertoString, qui remplace des nombres internes avec des noms, comme des codes d'expédition. Ou integerToImage, pour remplacer des codes comme 1,2,3,4 par des badges de couleur indiquant le statut du partenaire. Lire la documentation
ORDA
4D v18 continue d'apporter des améliorations à ORDA avec les fonctionnalités suivantes :
Datastore distant ![]()
Vous n'êtes plus limité à la base de données courante, vous pouvez accéder à une ou plusieurs bases de données 4D distantes publiées sur 4D Server(s). Une base de données distante peut être publiée en tant que ressource REST et être accessible à partir du logiciel 4D Client. Cette base de données distante est utilisable (en lecture / écriture) directement avec les concepts ORDA (ce qui déclenchera des requêtes REST entre le client et le serveur). Les connexions TLS sont bien entendu prises en charge. Vous pouvez restreindre l'accès à des utilisateurs 4D ciblés ou développer votre propre contrôle d'accès sur les informations d'identification de l'utilisateur. Même si vous utilisez le serveur Web pour accéder au serveur REST, une licence de serveur Web n'est pas requise. Les licences 4D client standards sont utilisées pour les connexions. Lire la documentation
De nouvelles méthodes ORDA sont disponibles sur l'objet ds pour vous aider à déboguer et à optimiser votre code ORDA afin de mieux comprendre les requêtes envoyées. La méthode startRequestLog() est très flexible car lorsqu'elle est appelée avec un objet Fichier, elle peut enregistrer les requêtes ORDA dans un fichier ou en mémoire. Pour arrêter l'historique des requêtes ORDA, vous pouvez appeler la méthode stopRequestLog(). Lire la documentation
Grâce aux formules, vous pouvez maintenant trier une sélection d'entités à l'aide de critères complexes dans une méthode projet ou une expression 4D. La formule évalue les critères de tri qui peuvent être indiqués sous la forme d'une chaîne ou d'un objet Formule à la méthode orderByFormula(). Lire la documentation
Requêtes avancées à l'aide de formules
La méthode query() a été mise à jour pour prendre un charge un objet Formule en tant que paramètre, et renvoyer un nouvel objet de type EntitySelection contenant toutes les entités trouvées. Cela permet la création de critères de recherche plus sophistiqués. Lire la documentation
Optimisation des performances en mode client/server
L’accès à des tables de grande taille (en particulier celles avec des relations) en mode Client/Server en utilisant ORDA a été considérablement amélioré. Lorsque vous utilisez des sélections d’entités dans des list box ou dans du code en boucle (c'est-à-dire avec Tant que ou Pour chaque) les champs utilisés sont automatiquement analysés pour optimiser le transfert réseau. Vous constaterez des performances LAN améliorées de 2 à 3 fois et jusqu’à 30 fois plus rapides en WAN (en fonction du réseau et de la taille des enregistrements). Et le meilleur de tout cela : il n’est pas nécessaire de changer quoi que ce soit dans votre code, tout est automatique.
Méthodes pour obtenir les informations sur la structure
De nombreuses méthodes sont disponibles pour vous permettre d'obtenir des informations relatives à la structure, comme un numéro de table ou de champ. Cela peut être utile lors de l'intégration étape par étape d'ORDA dans votre code classique. Cependant, l'objectif principal de ces méthodes membres est de vous permettre d'écrire un code générique applicable quelle que soit la structure de la base de données. Lire la documentation
Placeholders nommés pour les chemins d’attributs
Vous pouvez utiliser des placeholders pour les chemins d’attributs (noms des champs dans les tables). Deux types sont disponibles : Indexé – inséré sous la forme :paramIndex (c'est-à-dire :1, :2,… avec un incrément de 1) dans la chaîne de requête et les valeurs correspondantes sont fournis par la séquence de paramètre(s) valeur, et Nommé – inséré sous la forme :paramName et leurs valeurs sont fournies dans les attributs et/ou les paramètres des objets dans la chaîne de caractères. Lire la documentation
Placeholders nommés pour les valeurs
Il est désormais facile d'écrire des recherches en code ORDA générique grâce aux placeholders nommés pour les valeurs. Ces placeholders sont fournis en tant que paramètres d’objet dans les paramètres de requête et remplacés par une autre valeur lors de l’évaluation de la chaîne de requête. Lire la documentation
Langage 4D & autres fonctionnalités de programmation
Envoi de mail
Une nouvelle façon de créer et d'envoyer des e-mails est disponible. La nouvelle fonctionnalité est facile à manipuler - et également plus puissante que la précédente qui utilisait les 4D Internet Commands. La nouvelle commande SMTP Creer tranporteur permet de configurer une nouvelle connexion SMTP. La création et l'envoi d'e-mails se fait en trois étapes : créer votre transporteur SMPT, créer un objet mail, puis envoyer l'e-mail. Un objet mail a plusieurs propriétés : subject, from, cc, bc, to, sender, textBody, htmlBody, pour n'en citer que quelques-unes. De plus, une pièce jointe peut être ajoutée avec la commande MAIL Creer piece jointe. Une fois créé, l'objet mail peut être envoyé avec la méthode transporter.send().
La commande SMTP Creer transporteur crée une connexion entre un serveur SMTP (tel que Exchange ou Gmail) et un client, et enregistre – en texte brut et non-crypté – toutes les communications. Une nouvelle propriété, logFile, est disponible, contenant le chemin d’accès complet du fichier journal défini pour la connexion SMTP. Le fichier peut être produit en deux versions : une version standard et une version étendue. Les deux versions peuvent être déclenchées par la commande FIXER PARAMETRE BASE, constante SMTP Enreg historique. Lire la documentation
Analyser un document MIME, le modifier et le renvoyer ![]()
Le nouveau et puissant parser MAIL Convertir depuis MIME convertit un mail reçu ou un document MIME créé avec 4D Write Pro, en un objet. Cela vous permet d'éditer ou de modifier l'objet selon vos besoins, par exemple changer le sujet, supprimer ou ajouter des destinataires, modifier le corps, ajouter des pièces jointes, etc - puis envoyer le document. Par exemple, si vous utilisez 4D Write Pro pour créer des e-mails HTML avec des images statiques dans le texte et que vous devez les envoyer, procédez comme suit :
- Exportez votre document 4D Write Pro au format MIME,
- utilisez la commande MAIL Convertir depuis MIME pour transformer le MIME en objet mail,
- puis envoyez-le via la commande SMTP Creer transporteur. Lire la documentation
Activer le débogueur en mode compilé et en mode enginé ![]()
Vous pouvez maintenant utiliser le débogueur 4D pour déboguer le code en production, lors de l'exécution de la commande TRAITER BALISES 4D via la commande TRACE dans du code inséré entre les balises <!--#4DCODE-->. Lire la documentation
Construisez votre propre boîte de dialogue pour sélectionner le serveur ![]()
Vous pouvez maintenant utiliser une application mono-utilisateur fusionnée pour créer votre propre boîte de dialogue de connexion à un serveur enginé. Lire la documentation
Commande Evenement formulaire modifiée ![]()
La commande Evenement formulaire a été renommée en Evenement formulaire code par souci de clarté. La commande FORM Evenement, retournant un objet, a été ajoutée - inutile de modifier votre code. La nouvelle commande retourne un objet avec plusieurs informations. En plus de l'événement lui-même, des informations sur l'objet déclenchant l'événement , telles que le nom de l'objet et des données supplémentaires en fonction du type d'objet. Lire la documentation
Notation objet pour gérer les fichiers et les dossiers
Créer, modifier ou supprimer des fichiers ou des dossiers sur votre disque est devenu plus simple et intuitif. Une nouvelle commande Dossier a été ajoutée pour vous permettre de créer un objet dossier à l’aide d’une constante : un chemin POSIX, ou un chemin de plateforme. L’objet dossier a des propriétés (par exemple : name, modificationDate, modificationTime) et des méthodes (par exemple : create(), moveTo(), rename(), delete()) qui permettent la création et la manipulation de dossiers. Comme pour les dossiers, la commande Fichier est disponible pour gérer les fichiers. Le nouvel objet fichier permet d’accéder aux attributs de fichier et de les manipuler. Vous pouvez utiliser des méthodes de fichier pour écrire et lire le contenu d’un fichier, le déplacer, le supprimer, etc. Lire la documentation
Commandes Zip ![]()
Vous pouvez compresser ou décompresser vos fichiers par programmation, sans utiliser des bibliothèques ou des outils externes. La nouvelle commande Zip Creer archive vous permet de créer une archive zip en transmettant un fichier, un dossier ou un objet avec des paramètres. Et pour décompresser, utilisez la nouvelle commande ZIP Lire archive qui renvoie un objet archive qui peut être aisément manipulé pour obtenir la liste des fichiers, extraire un fichier en particulier ou l'archive entière. L'utilisation ou la création d'un fichier compressé fonctionne de manière assez similaire aux nouvelles commandes Fichier et Dossier, rendant votre code simple et facile à lire. Lire la documentation
Récupérer la chaîne d'appel en cours d'exécution
Une nouvelle commande Lire chaine appel est disponible pour vous donner un aperçu du code exécuté. Cela vous aide à savoir où vous en êtes dans votre code, en particulier lorsqu'une méthode appelle d'autres méthodes. La commande renvoie une collection d'objets, chaque objet représentant une étape d'exécution et indique la base de données, le type de méthode, le nom de la méthode et sa ligne d'appel. La commande peut être utilisée dans tous les contextes d'exécution du code, aussi bien en mode interprété qu'en mode compilé. Lire la documentation
Nouvel outil pour analyser les journaux de débogage
Un nouvel outil est disponible pour vous aider à analyser les logs de débogage. Par exemple, vous pourrez voir quels process demandent le plus de temps, la chaîne d’appels avec son temps d’exécution correspondant, et bien plus encore. Cet outil est conçu pour vous aider à détecter les conflits dans votre code et à améliorer les performances de vos bases de données. Lire la documentation
Applications 4D en mode headless ![]()
Vous pouvez maintenant lancer une application 4D sans interface, également appelé mode headless, via l'interface de ligne de commande (CLI) avec le nouveau paramètre headless. Disponible pour tous les sypes d'application : 4D, 4D Server, applications autonomes, distantes et fusionnées. Les messages d'erreur ou autres boîtes de dialogue sont automatiquement récupérés et redirigés vers un fichier journal, évitant ainsi d'arrêter le serveur. Lire la documentation
Préemptif
Désactiver localement la vérification du thread safety ![]()
Vous pouvez maintenant indiquer au compilateur qu'une partie du code ne doit pas être vérifiée pour une compatibilité non-préemptive, sachant que cette partie du code ne sera pas exécutée car elle fait partie d'une instruction If ou Case of, et est exécutée uniquement en mode coopératif. Pour ce faire, vous devez entourer le code à exclure de la vérification du thread safety avec les directives spécifiques %T- et %T+ sous forme de commentaires. Le commentaire //%T- désactive la vérification du thread safety et //%T+ la réactive. Lire la documentation
Process préemptifs sur 4D distant
Vos process peuvent être exécutés en mode préemptif sur 4D distant, ce qui permet de tirer pleinement parti de la puissance des ordinateurs multicoeurs. Découper une opération en plusieurs parties et l'exécuter sur tous les coeurs disponibles, en parallèle, permet d'obtenir vos résultats beaucoup plus rapidement. Lire la documentation
Encore plus de commandes thread-safe
Avec toutes les commandes thread-safe, vos applications peuvent tirer pleinement parti des ordinateurs multi-coeurs. Par conséquent, les réponses aux demandes simultanées sont plus rapides.
Les commandes 4D suivantes sont désormais thread-safe : COMPRESSER BLOB, DECOMPRESSER BLOB, LIRE PROPRIETES BLOB, CRYPTER BLOB, DECRYPTER BLOB, GENERER CLES CRYPTAGE, GENERER DEMANDE CERTIFICAT, RECEVOIR BUFFER, SIECLE PAR DEFAUT, LIRE ICONE DOCUMENT, TRANSFORMER IMAGE, SVG EXPORTER VERS IMAGE, Lire chemin document localise, Lire langue base, VERROUILLE PAR, ENREGISTRER EVENEMENT, Authentification client courant, LIRE STATISTIQUES MEMOIRE. Lire la documentation
Debut/Fin SQL en mode préemptif
Debut SQL, Fin SQL, et les instructions SQL associées utilisées avec une base de données interne sont maintenant compatibles avec le mode préemptif. Vous pouvez désormais lancer toutes vos requêtes en parallèle et ainsi augmenter la vitesse de vos applications, si ces commandes sont utilisées pour exécuter de nombreuses tâches en asynchrones. Lire la documentation
Vous pouvez utiliser Creer signal pour – par exemple – déléguer le travail à un process coopératif afin d'utiliser une commande non-préemptive. La commande crée un objet partagé et vous permet de gérer la progresssion du process en cours avec deux nouvelles méthodes : trigger() et wait(). Lire la documentation
Appeler l'événement Sur redimensionnement sur les sous-formulaires ![]()
Lorsqu'un formulaire contient un ou plusieurs sous-formulaires, vous pouvez gérer directement l'événement Sur redimensionnement dans la méthode du sous-formulaire. Cet événement sera déclenché chaque fois que la taille de l'objet sous-formulaire sera modifiée dans le formulaire principal. Ceci peut arriver :
- Lorsque le formulaire principal est redimensionné.
- Lorsqu'un séparateur modifie la hauteur ou la largeur de l'objet sous-formulaire.
- Lorsque la taille d'un objet sous-formulaire est modifiée par programmation en utilisant OBJET FIXER COORDONNEES. Lire la documentation
Nouvelle variable de type variant ![]()
Une nouvelle commande est disponible pour convertir chaque variable spécifiée en variable de type Variant : C_VARIANT. Le type de données variant peut être utilisé pour représenter tout autre type de données (BLOB, Booléen, Collection, Date, Numérique, Objet, Image, Pointeur, Réel, Texte, Heure, Null, Indéfini), à l'exception des tableaux. Vous pouvez utiliser la commande Type pour récupérer le type de la variable et la commande Type valeur pour le type de la valeur. Le type de données de type variant permet d'écrire du code générique, par exemple en permettant à une méthode de recevoir un paramètre sous forme de texte ou de BLOB, sans avoir à le traiter à l'aide d'un pointeur. Lire la documentation
Lire les champs Objet 4D avec le moteur SQL
Le moteur SQL a été mis à jour pour permettre la lecture des champs Objet 4D. Pour parcourir le contenu d’un champ Objet, la fonction SQL CAST a été étendue pour renvoyer une représentation JSON du champ. Lire la documentation
Amélioration des tests sur la base de données
Les produits 4D peuvent déjà être lancés à l’aide de paramètres de lignes de commande pour permettre le test ou le déploiement automatique. Cependant, de nouveaux paramètres ont été ajoutés pour vous donner encore plus de flexibilité lors de l’ouverture de vos bases de données :
–opening-mode : définira l’ouverture de votre base de données en mode interprété ou compilé.
–create-data : autorisera la création d’un nouveau fichier de données si le fichier de données courant n’est pas trouvé ou avec un nom spécifique si –data est passé.
–user-param : enverra une chaîne qui pourra être lue après lancement de la base en utilisant la commande FIXER PARAMETRE BASE, constante Valeur User param. Lire la documentation
Définir un autre nom pour le compte utilisateur 4D
Une nouvelle commande permet de définir un nom personnalisé à utiliser à la place du nom du compte utilisateur courant : FIXER ALIAS UTILISATEUR. Elle accepte une chaîne en tant que paramètre. Cette chaîne (alias) remplacera le nom d’utilisateur 4D dans l’environnement 4D. Un alias permet d’utiliser votre propre système de mot de passe, ou un annuaire d’utilisateurs externe tel que Active Directory ou LDAP, tout en bénéficiant de tous les concepts d’identification d’utilisateur intégrés de 4D. Lire la documentation
Exporter un formulaire 4D classique vers un formulaire dynamique
Une nouvelle commande FORM Convertir vers dynamique est disponible et vous permet d’exporter un formulaire 4D classique (stocké dans un fichier .4DB) vers un formulaire dynamique. Vous passez le nom du formulaire et recevez un objet décrivant le formulaire. Ensuite, selon vos besoins, vous pouvez modifier les options de votre formulaire telles que la taille de la police ou la position des objets à l’écran. Lire la documentation
Améliorations apportées au log de débogage
La commande FIXER PARAMETRE BASE est améliorée pour permettre la journalisation de process spécifiques, ainsi que les appels à des méthodes membres (méthodes d’objet ou de collection). Un nouveau sélecteur est disponible (Enreg historique débogage du process courant) qui lance la journalisation du débogage du process en cours. Lire la documentation
Les formulaires dynamiques et l'ordre de saisie
Désormais, vous pouvez définir un ordre de saisie qui n'est pas nécessairement associé à l'ordre Z. Pour chaque définition de page de votre formulaire, l'attribut "objects" contient une liste d'éléments du formulaire organisés selon l'ordre Z. Un nouvel attribut a été ajouté à cette liste : "entryOrder". Il vous permet de spécifier votre propre ordre de saisie personnalisé. Si cet attribut n'est pas défini, 4D utilise l'ordre Z (c'est-à-dire l'ordre d'entrée par défaut basé sur l'ordre des objets sur la page). Lire la documentation
Exécuter plusieurs clients sur le même ordinateur et les connecter simultanément au même 4D Server est désormais possible. Chaque connexion Client inclut désormais un dossier de cache distinct contenant l’adresse IP de la connexion, son port et un code de hachage. Grâce à cela, vous pouvez également connecter plusieurs clients du même ordinateur à plusieurs serveurs sur des ordinateurs différents. Aucune configuration n’est nécessaire. Lire la documentation
Ecrivez vos propres méthodes pour les objets
La commande Formule a été étendue pour vous permettre de créer des formules en tant qu'objets. Vous pouvez passer des paramètres ou accéder au contenu de l'objet formule. Les formules en tant qu'objets peuvent effectuer des calculs pour que les attributs soient transmis à une méthode. Les objets peuvent maintenant avoir leur propre gestionnaire d'appels ou d'erreur. Que vous utilisiez déjà ORDA ou que vous utilisiez du code classique basé sur la sélection, les objets deviennent beaucoup plus puissants. Lire la documentation
Blocs de commentaire 4D ![]()
Les commentaires peuvent être sur une seule ligne ou sur plusieurs. Désormais, au lieu d'avoir à préfixer de nombreuses lignes avec //, vous pouvez simplement utiliser /* au début du commentaire et */ à la fin pour commenter un bloc entier. Vous pouvez également les réduire et les développer. De plus, les commentaires peuvent être ajoutés à n'importe qu'elle partie d'une ligne, même dans une condition Si ou une boucle. Lire la documentation
Prise en charge des attributs SVG “non-scaling-stroke”![]()
Commandes d'administration de 4D Server
La liste des commandes qui vous permettent de créer vos propres interfaces d'administration du serveur via un client ou même sous forme de pages web, est complétée :
- ENVOYER MESSAGE A UTILIUSATEUR DISTANT pour envoyer un message du serveur à un utilisateur distant.
- Lire activite process pour récupérer une liste des sessions des utilisateurs.
- DECONNECTER UTILISATEUR DISTANT pour déconnecter un utilisateur distant.
- TUER PROCESS PAR ID pour stopper un process spécifique en utilisant son ID unique.
- Lire activite process ou INFORMATIONS PROCESS pour récupérer le numéro unique du process.
- REJETER NOUVELLES CONNEXIONS DISTANTES pour bloquer les nouvelles connexions depuis 4D distants.
- Lire information applicaiton pour obtenir des information sur l'activité de l'application et sa configuration réseau.
- SOAP REJETER NOUVELLES REQUETES pour bloquer les requêtes SOAP.
- WEB Lire infos serveur pour obtenir des informations sur la session courante du serveur Web.
- Actualiser licence pour mettre à jour une licence. Lire la documentation
De nouvelles informations sur les URL utilisés par les process Web sont disponibles. Ces informations peuvent être retrouvées de deux façons : via la fenêtre d'administration de 4D Server ou via le langage 4D avec la commande Lire activite process ; un nouvel attribut “url” est ajouté à l'objet lorsque le process est de type web. Lire la documentation
La nouvelle commande Lire informations application récupère des informations détaillées sur l'activité et la configuration réseau de votre base de données active. Cette commande peut être appelée à la fois sur un client distant et sur 4D Server. Lire la documentation
Etat rapide
Gérer les méthodes de "callback"
- qr cmd ouvrir
- qr cmd enregistrer
- qr cmd enregistrer sous
- qr cmd executer
- qr cmd mise en page
- qr cmd apercu
Dans la méthode de "callback", vous pouvez intercepter tous les événements gérés, faire ce que vous avez à faire, et exécuter l'événement avec la commande QR EXECUTER COMMANDE. Lire la documentation
Gérer l'espacement des sous-totaux
Désormais, pour chaque rupture (sous-total), vous pouvez définir un saut de page ou une hauteur de ligne différente. Dans le cas d'une hauteur de ligne différente, la différence peut être exprimée en points (pt) ou en pourcentage (%). Lire la documentation
Gestion des bordures ![]()
Vous pouvez modifier l'apparence des bordures d'une cellule, d'une colonne ou d'une ligne dans votre état en modifiant sa couleur ou son épaisseur. Pour cela, placez la souris sur l'élément que vous souhaitez configurer afin d'afficher le bouton permettant d'afficher un menu contextuel, puis cliquez dessus. Vous pourrez ensuite choisir le paramètre approprié (configuration de la bordure, l'épaisseur de ligne et la couleur). Lire la documentation
Améliorations de l'Interface utilisateur
La première amélioration est le nouveau bouton “Sauvegarder/ Sauvegarder sous”. En choisissant “Sauvegarder“, vous enregistrez votre travail en mettant à jour la dernière version enregistrée du fichier afin qu’elle corresponde à la version affichée à l’écran. En choisissant “Sauvegarder sous”, vous êtes invité à enregistrer votre travail sous un fichier portant un nom différent. La seconde amélioration est l'ajout d'info-bulles (petits messages affichés lorsque vous survolez une zone). Elles sont ajoutées sur les lignes de sous-total pour vous aider à visualiser facilement le sens du tri : ascendant ou descendant. Lire la documentation
Une nouvelle barre d’outils est disponible avec 4D Write Pro pour vous aider dans le processus de création de document. En faisant simplement glisser et déposer un nouvel élément de la bibliothèque d’objets, vous avez accès à une barre d’outils complète avec sept onglets différents pour passer rapidement d’une action à l’autre. Lire la documentation
Feuilles de style 4D Write Pro ![]()
Vous pouvez désormais gérer vos propres feuilles de style pour les paragraphes ou les caractères grâce à de nouvelles commandes vous permettant de créer, supprimer et importer des feuilles de style. Une feuille de style de caractère vous permet de définir le mode d'affichage et d'impression d'un caractère (ou d'un mot), tandis qu'une feuille de style de paragraphe vous permet de définir les marges, padding, tabulations, bordures, etc. Une feuille de style est un objet appartenant à un document. Il est créé à l'aide de la commande WP Creer feuille de style. Un fois créé, vous pouvez utiliser cet objet comme paramètre pour WP Set attributes. Ci-dessous, la liste des nouvelles commandes pour vous aider à gérer les feuilles de style :
- WP Creer feuille de style : permet de créer une feuille de style,
- WP SUPPRIMER FEUILLE DE STYLE : permet de supprimer une feuille de style,
- WP Lire feuille de style : permet de récupérer une feuille de style grâce à son nom,
- WP Lire feuilles de style : remplit une collection de feuilles de style d'un type donné, et enfin
- WP IMPORTER FEUILLE DE STYLE : permet d'importer des feuilles de styles existantes créées dans un autre document 4D Write Pro (sous forme de modèle par exemple).
Convertir vos documents au format .docx
Désormais, les documents 4D Write Pro peuvent être exportés au format .docx. Pour ce faire, utilisez la nouvelle contante wk docx avec les commandes WP EXPORTER DOCUMENT ou WP EXPORTER VARIABLE. Lire la documentation
Redimensionner la largeur des colonnes ![]()
Une fonctionnalité prête à l'emploi est fournie pour permettre aux utilisateurs finaux de redimensionner la largeur des colonnes. Pour cela, vous pouvez survoler les séparateurs de colonnes et le pointeur de la souris se transformera en une double flèche indiquant que la colonne peut être redimensionnée. Lorsque vous cliquez et faites glisser ces séparateurs, les colonnes de gauche et de droite sont redimensionnées. Si vous appuyez sur la touche Maj tout en faisant glisser, seules les colonnes de gauche seront redimensionnées et toutes les colonnes de droite seront décalées. Lire la documentation
Ajout et suppression de lignes et de colonnes ![]()
La gestion des insertions et des suppressions de lignes et de colonnes est désormais possible grâce à quatre nouvelles commandes. Afin d'insérer des lignes et des colonnes, deux nouvelles commandes ont été créées : WP Tableau inserer lignes et WP Tableau inserer colonnes. Les deux commandes renvoient des plages correspondant aux parties créées dans le tableau. Et pour supprimer les lignes et les colonnes, deux commandes supplémentaires sont disponibles : WP TABLEAU SUPPRIMER LIGNES et WP TABLEAU SUPPRIMER COLONNES. Lire la documentation
Fixer la hauteur pour les en-têtes et les pieds de page ![]()
Un nouvel attribut de document : wk header and footer autofit est disponible pour déterminer si les en-têtes et les pieds de page doivent être redimensionnés automatiquement pour éviter de tronquer leur contenu. Cet attribut peut être à True ou False. Dans le cas de documents nouvellement créés, ce paramètre sera à True (les en-têtes et les pieds de page à redimensionnement automatique seront activés) et à False pour un document 4D Write converti. Lire la documentation
Créez des en-têtes et des pieds de page par programmation
Deux nouvelles commandes ont été ajoutées : WP Creer entete et WP Creer pied pour permettre de créer en-têtes et pieds de page par programmation. Vous pouvez également utiliser du code pour supprimer un en-tête ou un pied de page à l’aide des commandes WP SUPPRIMER ENTETE et WP SUPPRIMER PIED. Lire la documentation
Règle verticale 4D Write Pro
Une nouvelle règle verticale est ajoutée. Elle permet aux utilisateurs de gérer graphiquement les marges verticales. Et si votre document contient des en-têtes et pieds de page, les espaces entre ces zones et le corps de votre document peuvent aussi être modifiés avec la règle verticale. La nouvelle propriété Montrer la règle verticale est disponible dans la Liste des Propriétés, vous permettant d'activer l'affichage de la règle. Lire la documentation
Vous pouvez définir taille, orientation et marges de la page par programmation. De nouveaux attributs pouvant être utilisés avec les commandes WP FIXER ATTRIBUTS et WP LIRE ATTRIBUTS sont à votre disposition. Vous pouvez définir les propriétés d’un document 4D Write Pro. Les valeurs suivantes sont utilisées par défaut pour toutes les sections du document que vous pouvez ensuite modifier pour une section donnée :
- wk page width, wk page height – pour la taille de la page
- wk page orientation – pour l'orientation de la page
- wk page margin, wk page margin left, wk page margin right, wk page margin top, wk page margin bottom – pour les marges de la page. Lire la documentation
Nouveaux attributs pour éviter les veuves, les orphelines et les sauts de page
De nouvelles options ont été ajoutées à 4D Write Pro pour vous aider à éviter les veuves et orphelines, ainsi que les sauts de page, dans les paragraphes ou les tableaux.
Les veuves et les orphelines sont les lignes situées au début ou à la fin d’un paragraphe qui sont laissées seules en haut ou en bas d’une page. Pour les éviter, vous pouvez utiliser un nouvel attribut avec la commande WP FIXER ATTRIBUTS : wk avoid widows and orphans. Les valeurs disponibles pour cet attribut sont wk true ou wk false. Lorsque cet attribut est défini pour un paragraphe ou un tableau, 4D Write Pro empêche qu’une ligne de ce paragraphe ou de ce tableau soit isolée sur une autre page.
En ce qui concerne les sauts de page dans les paragraphes ou les tableaux, un nouvel attribut est disponible : wk page break inside. Les valeurs disponibles sont wk avoid ou wk auto. Tette option est utile lorsque vous ne souhaitez pas qu’un paragraphe, ou plusieurs paragraphes ou un tableau soient répartis sur deux pages. Lire la documentation
Gérer les sections par programmation
Une section vous permet d’obtenir différentes mises en page au sein d’un même document. Par exemple, pour chaque section, vous pouvez définir un format et une orientation de page différents, des marges différentes, des en-têtes différents, etc. Il en résulte des documents complexes et magnifiquement conçus. Les sections peuvent être manipulées par programmation avec la commande WP Lire sections, vous permettant de récupérer une collection de sections dans votre document. La commande WP Lire section peut être utilisée pour récupérer la section en cours. Pour modifier les attributs d’une section spécifique, vous pouvez transmettre la référence de section aux commandes WP FIXER ATTRIBUTS et WP LIRE ATTRIBUTS. Vous pouvez également créer des sous-sections avec du code à l’aide de la nouvelle commande WP Creer sous section. Lire la documentation
Les grands tableaux sont maintenant automatiquement affichées sur plusieurs pages. Il n’est pas nécessaire de compter les lignes pour vérifier la taille d’une page ou son orientation puisque les tableaux sont divisés dynamiquement lorsqu’un saut de page ou un saut de colonne se produit. La commande WP INSERER RUPTURE a été mise à jour pour prendre en charge une nouvelle constante : wk paragraph break. Lire la documentation
Expressions 4D supportées dans les images ancrées
Une expression 4D valide peut être associée à une image ancrée avec le nouvel attribut wk image expression, offrant encore plus de flexibilité. Réglez simplement cette constante pour toute image ancrée afin de définir une méthode qui renvoie une image.. Lire la documentation
Obtenir des coordonnées dans un document 4D Write Pro
Désormais vous pouvez obtenir les coordonnées dans un document 4D Write Pro. La commande WP Lire position retourne plus d'informations à propos de la position courante d'une plage ou d'une référence d'élément, en utilisant deux nouveaux attributs : bounds et rangeHeight. Le premier attribut décrit le rectangle entourant une plage en fonction de son type (soit “default type” (caractères), “paragraph type”, “table type” ou “picture type”). Il possède également des attributs qui lui sont propres : top, bottom, left, et right. Le second attribut décrit la hauteur du rectangle de délimitation de l'objet. Lire la documentation
Les expressions Table et Champ insérées dans les document 4D Write Pro prennent désormais en charge la définition de la structure virtuelle de la base de données, avec les commandes FIXER TITRES TABLES (…;*) et FIXER TITRES CHAMPS(…;*). Lire la documentation
Liens dans un document 4D Write Pro
WP FIXER LIEN vous permet de définir des URL et aussi d'invoquer une méthode à partir de votre application 4D (avec paramètres) ou de cibler un signet dans votre document. La nouvelle commande WP Lire liens retourne, en un seul appel, une collection de tous les liens du document. Chaque lien de la collection est un objet avec une description du lien et de ses attributs. Lire la documentation
Gérer les propriétés d'une vue
Les propriétés d'une vue peuvent être gérer par programmation. La commande WP FIXER PROPRIETES VUE permet de définir dynamiquement une ou plusieurs propriétés de l'affichage de la zone 4D Write Pro. Les paramètres peuvent être récupérés dans un objet avec toutes les propriétés de la vue, via la commande WP Lire proprietes vue. Lire la documentation
les tabulations peuvent être définies avec une collection de chaînes, numériques, voire une collection d’objets ! Si vous ne devez modifier que les valeurs de tabulation par défaut, vous pouvez utiliser un objet avec la nouvelle constante de tabulation wk tab default (ajoutée spécialement à cet effet). Lire la documentation
Plus de cibles et commandes renommées
Les commandes listées ci-dessous ont été étendues pour accepter tout type de cible comme premier paramètre. Elles peuvent toujours utiliser une plage, mais elles peuvent aussi utiliser une référence (en-tête, corps, pied de page), un élément (image, paragraphe) ou le document entier comme cible :
- WP FIXER TEXTE
- WP INSERER RUPTURE
- WP INSERER DOCUMENT
- WP INSERER IMAGE
- WP Inserer tableau
- WP FIXER ATTRIBUTS
- WP LIRE ATTRIBUTS
De plus, plusieurs commandes ont été renommées :
| Ancien nom |
Nouveau nom |
| WP Creer plage paragraphes |
WP Plage paragraphes |
| WP Creer plage images |
WP Plage images |
| WP Creer plage |
WP Plage texte |
| WP Creer plage tableaux |
WP Plage tableaux |
| WP Lire plage signet |
WP Plage signet |
| WP Lire selection |
WP Plage selection |
Travailler avec des documents .xlsx documents en utilisant 4D View Pro
Les commandes 4D View Pro existantes VP IMPORT DOCUMENT et VP EXPORT DOCUMENT ont été améliorées. Elles supportent désormais les fichiers utilisant l'extension .xlsx (Microsoft Excel). Vous devez simplement passer le chemin d'accès du fichier en paramètre des commandes pour que cela fonctionne. Lire la documentation
Une barre d'outils de style ruban riche en fonctionnalités
Une puissante barre d'outils, de style ruban, permettant d'améliorer l'interface utilisateur de 4D View Pro, est fournie. Elle vous permet d'organiser les fonctionnalités de 4D View Pro dans un ensemble d'onglets, d'accroître la découverte et l'accessibilité des différentes commandes. Il est à noter que cette barre d'outils introduit également de nouvelles fonctionnalités telles que les options d'exportation en PDF et CSV. Lire la documentation
Utiliser des méthodes et des champs de la base de données
La sécurité de votre base de données est améliorée car vous avez désormais un contrôle accru sur les données que vous choisissez de rendre disponibles (ou non) à vos utilisateurs finaux, ainsi que sur l’accès aux champs ou aux méthodes.
Les commandes et les variables ne peuvent pas être appelées directement à partir d’une cellule, mais elles peuvent être accessibles via des méthodes autorisées qui renvoient la valeur de la commande ou de la variable. Les méthodes peuvent être autorisées avec la commande SET ALLOWED METHODS, les tables ou les champs peuvent être déclarés en tant que structures virtuelles avec les commandes SET TABLE TITLES et SET FIELD TITLES. Les variables ainsi que les commandes 4D doivent être contenues dans une méthode autorisée. Lire la documentation
Prenez le contrôle de vos méthodes 4D
VP SET ALLOWED METHODS, une nouvelle commande vous permettant de spécifier les noms des méthodes-projet, type et paramètres, et d'inclure un descriptif. Maintenant vos méthodes peuvent être plus informatives et descriptives pour les utilisateurs finaux. Lire la documentation
Impression et export PDF![]()
Maintenant, vous pouvez définir des options d'impressions spécifiques pour chaque feuille de calcul avec la commande VP SET PRINT INFO. Ces options permettent de préparer le document avant une exportation en PDF ou une impression. Pour exporter un document au format PDF, utilisez la commande VP EXPORT DOCUMENT. Les informations de VP PRINT INFO seront utilisées pour incorporer automatiquement, dans le fichier pdf généré, toutes les polices utilisées dans votre document. Pour l'impression, la commande VP PRINT peut être utilisée. Lire la documentation
Convertir en SVG ![]()
La commande VP Convert to Picture vous permet de convertir une feuille de calcul, ou une partie de feuille, en SVG. Le fichier SVG peut ensuite être utilisé dans un formulaire 4D pour être imprimé. Lire la documentation
Ajout de nouveaux événements à la liste des propriétés ![]()
De nouveaux événements 4D View Pro sont disponibles et répertoriés dans la liste des propriétés. Ils retournent des informations spéciales à l'aide de la commande FORM Evenement : “Sur redimensionnement colonne”, “Sur redimensionnement ligne”, “Sur clic”, “Sur double clic”, “Sur clic entête”, “Sur nouvelle sélection”, et “Sur après modification”. Lorsque l'événement se produit, toutes les informations associées peuvent être extraites de l'objet renvoyé par la commande FORM Evenement. Lire la documentation
Coder une plage dans 4D View Pro
Créer une plage par programmation est maintenant possible. De nouvelles commandes sont disponibles pour vous permettre de définir un objet plage pour manipuler vos cellules : VP Cell, VP Cells, VP Column, VP Row, VP All, VP Combine ranges, et VP Name. Lire la documentation
Obtenir et définir le contenu d'une cellule
Un ensemble de commandes pour remplir vos documents par programmation est disponible : VP SET VALUE, VP SET BOOLEAN VALUE, VP SET DATE TIME VALUE, VP SET DATE VALUE, VP SET TIME VALUE, VP SET NUM VALUE, VP SET TEXT VALUE, VP SET FORMULA, VP SET FIELD, VP Get value, VP Get formula. Lire la documentation
Un nouveau concept fait son apparition : plages et formules nommées. Vous pouvez créer deux type de noms par programmation :
Le premier fait référence à une plage de cellules à laquelle vous pouvez appliquer un nom lisible avec la commande VP ADD RANGE NAME.
Le second permet de référencer une formule avec VP ADD FORMULA NAME pour remplacer les calculs par des noms dans vos feuille de calcul. Une constante est créée et rend les calculs plus simples dans votre feuille de calcul. Lire la documentation
Gérer les sélections et la cellule active
Un ensemble de commandes est inclut pour vous aider à définir et à obtenir la cellule active ou la/les sélection(s) active(s) dans vos documents :
- VP Get active cell
- VP Get selection
- VP SET ACTIVE CELL
- VP SET SELECTION
- VP ADD SELECTION
- VP RESET SELECTION
Et si vous souhaitez afficher une cellule à une position spécifique dans votre 4D View Pro (par exemple en haut à gauche ou en bas à droite), vous pouvez utiliser la commande VP SHOW CELL. Lire la documentation
Utiliser des collections pour lire et écrire dans 4D View Pro
Quatre nouvelles commandes sont disponibles pour vous permettre de lire un grand nombre de valeurs de formules différentes plus facilement, plus rapidement et simultanément via des collections : VP SET VALUES, VP Get values, VP SET FORMULAS, et VP Get formulas. Pour définir des valeurs ou des formules dans les cellules, créez simplement une collection dans laquelle chaque élément représente une ligne. Chaque ligne est un ensemble de valeurs de cellules à définir dans les colonnes. Pour la lecture, vous pouvez transmettre une plage de cellules à VP Get values. La commande renvoie les valeurs dans les collections correspondantes. Lire la documentation
Personnaliser les styles ![]()
Vous pouvez personnaliser par programmation le style de vos documents 4D View Pro. Trois options différentes sont disponibles. Vous pouvez utiliser :
- les commandes de style par défaut pour définir le style général d’une feuille avec les commandes VP SET DEFAULT STYLE et VP Get default style , ou
- les commandes de feuilles de style pour définir les styles personnalisés fréquemment utilisés avec les commandes VP ADD STYLESHEET, VP REMOVE STYLESHEET, VP Get stylesheet, et VP Get stylesheets, ou
- des commandes de style de cellule pour définir le style de cellules spécifiques avec les commandes VP SET CELL STYLE et VP Get cell style.
De plus, la nouvelle commande VP SET BORDER a été ajoutée pour vous permettre de gérer les bordures d'une plage. Lire la documentation
R-releases en profondeur
Contact us
Got a question, suggestion or just want to get in touch with the 4D bloggers? Drop us a line!
* Your privacy is very important to us. Please click here to view our Policy