Introduction

4D - Documentation   Français   English   German   Español   Japanese   4D v11 SQL, Commandes par thèmes   4D v11 SQL, Liste alphabétique des commandes   4D v11 SQL, Constantes par thèmes   Retour   Précédent   Suivant

version 2003 (Modifiée)


Cette section présente le langage de 4D. Elle apporte des réponses aux questions suivantes :

Qu'est-ce que le langage de 4D, et que peut-il vous apporter ?

Comment utiliser les méthodes ?

Comment développer une application avec 4D ?

Ces sujets sont évoqués d'un point de vue général ; chacun d'entre eux est traité plus en détail dans les autres sections de ce manuel.

Qu'est-ce qu'un langage ?


Le langage de 4D n'est pas très différent de celui que nous utilisons tous les jours. C'est une forme de communication servant à exprimer des idées, informer ou donner des instructions. Tout comme un langage parlé, celui de 4D se compose d'un vocabulaire, d'une grammaire et d'une syntaxe, que vous employez pour indiquer au programme comment gérer votre base et vos données.

Il n'est pas nécessaire de connaître entièrement le langage. Pour pouvoir vous exprimer en anglais, vous n'êtes pas obligé de connaître la totalité de la langue anglaise ; en réalité, un peu de vocabulaire suffit. Il en va de même pour 4D — il vous suffit de connaître un minimum du langage pour être productif, vous en apprendrez de plus en plus au fur et à mesure de vos besoins.

Pourquoi utiliser un langage ?


A première vue, un langage de programmation dans 4D peut sembler inutile. En effet, 4D propose en mode Développement des outils puissants et entièrement paramétrables, permettant d'effectuer une grande variété de tâches de gestion des données. Les opérations fondamentales telles que la saisie de données, les recherches, les tris et la création d'états sont effectuées facilement. De nombreuses autres possibilités sont aussi disponibles, telles que les filtres de validation des données, les aides à la saisie, la représentation graphique et la génération d'étiquettes.

Alors, pourquoi avons-nous besoin d'un langage ? Voici quelques-uns de ses principaux rôles :

Automatiser les tâches répétitives : par exemple la modification de données, la génération d'états complexes et la réalisation de longues séries d'opérations ne nécessitant pas l'intervention d'un utilisateur.

Contrôler l'interface utilisateur : vous pouvez gérer les fenêtres, les menus, contrôler les formulaires et les objets d'interface.

Gérer les données de manière très fine : cette gestion inclut le traitement de transactions, les systèmes de validation complexes, la gestion multi-utilisateurs, l'utilisation des ensembles et des sélections temporaires.

Contrôler l'ordinateur : vous pouvez contrôler les communications par le port série, la gestion des documents et des erreurs.

Créer des applications : vous pouvez créer des bases de données personnalisées, faciles à utiliser, en mode Application.

Ajouter des fonctionnalités au serveur Web 4D intégré : par exemple, vous pouvez créer des pages HTML dynamiques et les insérer parmi celles qui sont automatiquement créées par 4D lorsque les formulaires sont convertis.

Le langage vous permet de contrôler totalement la structure et le fonctionnement de votre base de données. 4D propose de puissants éditeurs "génériques", mais le langage vous offre la possibilité de personnaliser autant que vous voulez votre base de données.

Prendre le contrôle de vos données


Le langage de 4D vous permet de prendre le contrôle total de vos données, d'une manière à la fois puissante et élégante. Il reste d'un abord facile pour un débutant, et est suffisamment riche pour un développeur d'applications. Il permet de passer par étapes d'une simple exploitation des fonctions intégrées de 4D à une base entièrement personnalisée.

Les commandes du langage de 4D vous laissent la possibilité d'accéder aux éditeurs standard de gestion des enregistrements. Par exemple, lorsque vous utilisez la commande CHERCHER, vous accédez à l'éditeur de recherches (accessible en mode Développement via la commande Chercher... dans le menu Enregistrements. Vous pouvez, si vous le voulez, indiquer explicitement à la commande CHERCHER ce qu'elle doit rechercher. Par exemple, CHERCHER([Personnes]Nom="Dupont") trouvera toutes les personnes nommées Dupont dans votre base.

Le langage de 4D est très puissant — une commande remplace souvent des centaines, voire des milliers de lignes de code écrites dans les langages informatiques traditionnels. Et cette puissance s'accompagne d'une réelle simplicité: les commandes sont écrites en français. Par exemple, vous utilisez la commande CHERCHER pour effectuer une recherche ; pour ajouter un nouvel enregistrement, vous appelez la commande AJOUTER ENREGISTREMENT.

Le langage est organisé de telle manière que vous puissiez facilement accomplir n'importe quelle tâche. L'ajout d'un enregistrement, le tri d'enregistrements, la recherche de valeurs et les autres opérations de même type sont définies par des commandes simples et directes. Mais les routines peuvent également contrôler les ports série, lire des documents sur le disque, traiter des systèmes de transactions complexes, et plus encore.

Même les opérations les plus compliquées se définissent de manière relativement simple. Il serait inimaginable de les réaliser sans le langage de 4D. Cependant, même à l'aide de la puissance des commandes du langage, certaines tâches peuvent se révéler complexes et difficiles. Ce n'est pas l'outil lui-même qui fait le travail ; une tâche peut représenter en soi une difficulté, l'outil ne fait que faciliter son traitement. Par exemple, un logiciel de traitement de texte permet d'écrire un livre plus rapidement et plus facilement, mais il ne l'écrira pas à votre place. Le langage de 4D vous permet de gérer plus facilement vos données et d'appréhender les tâches ardues en toute confiance.

Est-ce un langage informatique "traditionnel" ?


Si vous êtes familier avec les langages informatiques traditionnels, ce paragraphe peut vous intéresser. Si ce n'est pas le cas, vous pouvez passer directement au paragraphe suivant.

Le langage de 4D n'est pas un langage informatique traditionnel. C'est un des langages les plus souples et les plus innovants que l'on puisse trouver aujourd'hui sur micro-ordinateur. Le langage a été conçu pour s'adapter à vous, et non l'inverse.

Pour utiliser les langages traditionnels, vous devez avant tout réaliser des maquettes détaillées. C'est même l'une des principales phases d'un développement. 4D vous permet de commencer à utiliser le langage à tout moment et dans n'importe quelle partie de votre base. Vous pouvez commencer par ajouter une méthode objet dans un formulaire, puis plus tard une ou deux méthodes formulaires. Comme votre base devient plus sophistiquée, vous pouvez ajouter une méthode projet contrôlée par un menu. Vous êtes totalement libre d'utiliser une petite partie du langage ou une partie plus étendue. Ce n'est pas "tout ou rien", comme c'est le cas dans beaucoup d'autres bases de données.

Les langages traditionnels vous obligent à définir et pré-déclarer vos objets sous une forme syntaxique rigide. Dans 4D, vous créez simplement un objet, comme un bouton, et vous l'utilisez. 4D gère automatiquement l'objet pour vous. Par exemple, pour utiliser un bouton, il suffit de le dessiner dans un formulaire et de lui donner un nom. Lorsque l'utilisateur clique sur le bouton, le langage déclenche automatiquement vos méthodes.

Les langages traditionnels sont souvent rigides et inflexibles, et exigent que les commandes soient saisies dans un style très formel et contraignant. Le langage de 4D rompt avec la tradition, au grand bénéfice de l'utilisateur.

Les méthodes, passerelles vers le langage


Une méthode est une série d'instructions qui provoquent l'accomplissement d'une tâche par 4D. Toute méthode contient une ou plusieurs lignes d'instructions. Chaque ligne d'instruction est composée d'éléments du langage.

Puisque vous avez lu le manuel "Autoformation" de 4D (vous l'avez lu, n'est-ce pas ?), vous avez déjà écrit et utilisé des méthodes objet et des méthodes projet.

Dans 4D, vous pouvez créer cinq types de méthodes : des méthodes objet, des méthodes formulaire, des méthodes table ou "triggers", des méthodes projet et des méthodes base.

Méthode objet : méthode généralement courte utilisée pour contrôler un objet de formulaire.

Méthode formulaire : méthode qui gère l'affichage ou l'impression d'un formulaire.

Méthode table/trigger : méthode utilisée pour appliquer les règles de fonctionnement de votre base.

Méthode projet : méthode s'appliquant à la totalité de la base. Les méthodes projet peuvent être associées à des commandes de menus, par exemple.

Méthode base : méthode utilisée pour initialiser des valeurs ou effectuer des actions particulières à l'ouverture ou à la fermeture d'une base, ou lorsqu'un navigateur Web se connecte à une base publiée comme serveur Web sur un réseau Intranet ou sur Internet.

Les paragraphes suivants présentent chaque type de méthode et expliquent brièvement la manière dont vous pouvez les utiliser pour automatiser votre base.

Démarrer avec les méthodes objet

Tout objet d'un formulaire pouvant déclencher une action — c'est-à-dire tout objet actif — peut être associé à une méthode objet. Une méthode objet surveille et gère l'objet actif lors de la saisie et de l'impression des données. Une méthode objet reste liée à un objet actif même lorsque l'objet est copié et collé. Ce principe vous permet de créer des librairies d'objets actifs réutilisables. La méthode objet s'exécute lorsque c'est nécessaire.

Les méthodes objet sont les outils de base pour la gestion de l'interface utilisateur. L'interface utilisateur est l'ensemble des moyens et des conventions par lesquels l'ordinateur communique avec l'utilisateur. L'interface utilisateur est la porte par laquelle vous entrez dans votre base de données. L'objectif est de la rendre aussi simple d'emploi que possible. L'interface utilisateur doit faire en sorte que l'interaction avec l'ordinateur soit agréable, que l'utilisateur l'apprécie ou, mieux, ne la remarque même pas.

Il y a deux types principaux d'objets actifs dans un formulaire : les objets actifs de saisie, d'affichage et de stockage des données, tels que les champs et les sous-champs, et les objets actifs de contrôle comme les zones de saisie, les boutons, les listes déroulantes et les thermomètres.

4D vous permet de construire des formulaires sobres et classiques, tel que celui présenté ci-dessous :

4D vous permet également de construire des formulaires comportant de multiples éléments de contrôle, comme celui-ci :

Vous pouvez aussi créer des formulaires originaux en laissant libre cours à votre imagination et en utilisant des éléments graphiques exubérants. Vous n'êtes limité que par votre imagination ou par les souhaits des commanditaires de l'application :

Lorsque vous construisez des formulaires, rappelez-vous que tous les objets actifs disposent de systèmes de contrôle intégrés, comme les intervalles de valeurs et les filtres pour les zones de saisie, ou les actions automatiques pour les objets, menus et boutons. Essayez toujours d'utiliser ces systèmes intégrés avant de recourir aux méthodes objet. Ils sont comparables aux méthodes objet dans la mesure où ils restent associés aux objets actifs et ne sont exécutés que lorsque l'objet est sollicité. En général, vous utiliserez une combinaison d'aides intégrées et de méthodes objet pour contrôler l'interface utilisateur.

Typiquement, une méthode associée à un objet actif de saisie aura un rôle de gestion des données spécifiquement lié au champ ou à la variable. La méthode peut effectuer un contrôle ou un formatage des valeurs, ou des calculs. Elle peut également récupérer des informations en provenance d'autres tables. Bien entendu, certaines de ces tâches peuvent aussi être exécutées par l'intermédiaire des systèmes intégrés de contrôle de saisie des objets. N'utilisez les méthodes objet que lorsque l'opération à effectuer est plus complexe que ce que permettent ces systèmes. Pour plus d'informations sur les systèmes intégrés de contrôle de saisie, reportez-vous au manuel "Mode Développement" de 4D.

Des méthodes objet peuvent aussi être associées aux objets actifs de contrôle tels que les boutons. Ces objets sont essentiels pour la navigation au sein de votre base. Les boutons vous permettent de vous déplacer d'un enregistrement à l'autre, de changer de formulaire, d'ajouter et d'effacer des données. Ces objets actifs simplifient l'utilisation d'une base et réduisent le temps d'apprentissage. Les boutons disposent également de systèmes d'aides intégrés et, comme pour la saisie de données, il est préférable de les utiliser avant d'écrire des méthodes objet. Les méthodes vous permettent d'associer à vos objets des actions qui n'existent pas en standard. Dans l'exemple ci-dessous, la méthode objet du bouton affichera l'éditeur de recherches lorsque l'utilisateur cliquera dessus.

A mesure que vous vous familiariserez avec les méthodes objet, vous pourrez créer des librairies d'objets avec leurs méthodes associées. Vous pourrez copier et coller ces objets entre différents formulaires, tables et bases. Vous pourrez même les conserver dans l'Album, prêts à être utilisés suivant vos besoins.

Contrôler des formulaires à l'aide des méthodes formulaire

Tout comme une méthode objet est associée à un objet actif d'un formulaire, une méthode formulaire est associée à un formulaire. Chaque formulaire peut comporter au plus une méthode formulaire.

Un formulaire est un modèle dans lequel vous pouvez visualiser vos données. Les formulaires vous permettent de présenter les données à l'utilisateur de différentes manières. Grâce aux formulaires, vous pouvez créer des écrans de saisie et des états récapitulatifs attractifs et faciles à utiliser. Une méthode formulaire contrôle et gère l'utilisation d'un formulaire spécifique, à la fois pour la saisie et l'impression des données.

Une méthode formulaire gère un formulaire à un plus haut niveau que les méthodes objet. Une méthode objet n'est exécutée que lorsque l'objet est utilisé, alors qu'une méthode formulaire est exécutée lorsque n'importe quel objet du formulaire est activé. Les méthodes formulaire sont généralement utilisées pour contrôler l'interaction entre les différents objets et le formulaire dans son ensemble.

Comme les formulaires peuvent être utilisés de nombreuses manières, il est utile de contrôler ce qui se passe lorsque votre formulaire est en cours d'utilisation. Pour cela, 4D met à votre disposition un grand nombre d'événements formulaires. Ces événements vous indiquent précisément ce qui se produit dans le formulaire. Chaque type d'événement (par exemple un clic, un double-clic, une touche du clavier enfoncée...) active ou désactive l'exécution de la méthode formulaire ainsi que les méthodes des objets du formulaire.

Pour plus d'informations sur les formulaires, les objets, les événements et les méthodes, reportez-vous à la description de la commande Evenement formulaire.

Réguler le fonctionnement de votre base à l'aide des méthodes table/triggers

Un trigger est une méthode associée à une table, c'est la raison pour laquelle on peut également parler de méthode table. Les triggers sont automatiquement appelés par le moteur de base de données de 4D à chaque fois qu'une action (ajout, suppression, modification et chargement) est effectuée sur les enregistrements d'une table. Les triggers peuvent empêcher que des opérations interdites soient exécutées avec les enregistrements de votre base. Par exemple, dans un système de facturation, vous ne voulez pas qu'un utilisateur puisse créer des factures sans avoir spécifié le client à qui elle est destinée. Les triggers sont des outils puissants de contrôle des opérations possibles avec les tables, ainsi que de prévention des risques de pertes accidentelles de données. Vous pouvez écrire des triggers très simples, puis les rendre de plus en plus sophistiqués.

Pour plus d'informations sur les triggers, reportez-vous à la section Présentation des triggers.

Utiliser des méthodes projet dans toute la base

A la différence des triggers, des méthodes formulaire et des méthodes objet, qui sont associées à des tables, des formulaires ou des objets actifs particuliers, les méthodes projet sont accessibles depuis n'importe quelle partie de votre base. Les méthodes projet sont réutilisables et peuvent être appelées par d'autres méthodes. Vous pouvez ainsi effectuer plusieurs fois une opération similaire sans devoir écrire plusieurs méthodes.

Vous pouvez appeler des méthodes projet depuis n'importe quelle partie de la base — autres méthodes projet, méthodes objet, méthodes formulaire... Lorsque vous appelez une méthode projet, elle s'exécute comme si elle avait été écrite à l'endroit d'où elle a été appelée. Les méthodes projet appelées depuis d'autres procédures sont appelées sous-routines.

Il y a un autre moyen d'utiliser les méthodes projet : les associer à des commandes de menu. Lorsque vous associez une méthode projet à une commande de menu, la méthode est exécutée lorsque la commande est sélectionnée par l'utilisateur. Vous pouvez considérer la commande de menu comme un appel à une méthode projet.

Gérer les sessions de travail avec les méthodes base

De la même manière que les méthodes objet et formulaire sont exécutées lorsque des événements se produisent dans un formulaire, il existe des méthodes associées à la base qui sont exécutées lorsqu'un événement de type "session de travail" se produit : ce sont les méthodes base. Par exemple, à chaque fois que vous ouvrez une base de données, vous voulez initialiser certaines variables qui seront utilisées pendant toute la session de travail ; pour cela, vous pouvez initialiser vos variables dans la méthode base Sur ouverture, qui est automatiquement exécutée par 4D lorsque vous ouvrez la base.

Pour plus d'informations sur les méthode base, reportez-vous à la section Présentation des méthodes base.

Développer votre base de données


La phase de développement est celle pendant laquelle vous personnalisez votre base à l'aide du langage et des autres fonctions intégrées.

En créant simplement une base, vous avez déjà franchi les premières étapes de l'utilisation du langage. Chaque élément d'une base — les tables et les champs, les formulaires et leurs objets — est automatiquement relié au langage. Le langage de 4D les "reconnaît" tous.

Votre première utilisation du langage pourrait être de créer une méthode objet ou formulaire pour contrôler la saisie de données. Par la suite, vous pourrez définir une méthode formulaire pour gérer l'affichage. Lorsque la base deviendra plus complexe, vous ajouterez une barre de menus avec des méthodes projet pour la personnaliser entièrement.

Comme tous les autres aspects de 4D, le développement est une phase très souple. Il n'y a aucun cheminement précis à suivre — vous pouvez développer de la manière qui vous semble la plus pratique. Bien entendu, cette phase comprend des étapes générales.

L'implémentation : définition de la structure et des fonctionnalités de la base en mode Développement.

Le test : réalisation d'essais de la base et de test de chaque élément personnalisé en mode Test application.

L'utilisation : lorsque la base est entièrement personnalisée, exécution en mode Application.

Les corrections : si des erreurs sont détectées, retour au mode Développement pour les corriger.

Des outils particuliers d'aide au développement, n'apparaissant que lorsque c'est nécessaire, sont intégrés à 4D. A mesure que vous utiliserez le langage de manière de plus en plus intensive, vous vous apercevrez que ces outils facilitent grandement le développement. Par exemple, l'éditeur de méthodes traite automatiquement les éventuelles erreurs de saisie et formate votre travail à la volée ; l'interpréteur (le moteur qui exécute le langage) intercepte les erreurs de syntaxe et vous les désigne ; enfin, le débogueur vous permet de contrôler très précisément l'exécution de vos méthodes afin de détecter toute erreur de développement.

Construire des applications


Vous connaissez maintenant les opérations que l'on peut réaliser avec une base de données — saisie, recherches, tris et créations d'états... Vous avez pu effectuer ces actions depuis le mode Développement, à l'aide des menus et des éditeurs standard.

Lorsque vous utilisez une base de données, vous répétez certaines séquences de tâches. Par exemple, dans une base de contacts personnels, vous pouvez rechercher des contacts, les trier par nom, puis imprimer un état à chaque fois que des informations ont été modifiées. Ces opérations ne sont pas difficiles à réaliser, mais elles peuvent prendre beaucoup de temps lorsqu'il faut les faire 20 fois. De plus, si vous n'avez pas utilisé la base pendant deux semaines, il se peut que vous ayez oublié certaines étapes nécessaires à la création d'un état.

Dans les méthodes, les étapes s'enchaînent les unes après les autres. Ainsi, une seule commande effectue automatiquement toutes les tâches qui lui sont liées. Par conséquent, vous n'avez pas à vous préoccuper des opérations particulières à réaliser.

Dans vos applications, les menus créés permettent d'effectuer des tâches répondant précisément aux besoins de la personne qui utilise la base. Une application se compose de tous les éléments de votre base : la structure, les formulaires, les différentes méthodes, les menus et les mots de passe.

Vous pouvez compiler vos bases et créer des applications Windows et Mac OS autonomes. La compilation des bases de données accélère l'exécution du langage, protège les bases, et vous permet de créer des applications totalement indépendantes. Le compilateur intégré vérifie également la syntaxe ainsi que les types des variables dans les méthodes, et contrôle donc la cohérence de base.

Les applications que vous créez peuvent aller du plus simple (un menu unique permettant de saisir des noms et d'imprimer un état) au plus complexe (un système de facturation ou de gestion des stocks). Les types d'utilisation des applications sont illimités. Généralement, une application grandit progressivement depuis une base de données en mode Développement jusqu'à un logiciel entièrement contrôlé par des menus et des formulaires personnalisés.

Pour en savoir plus...

Le développement d'applications peut être aussi simple ou aussi complexe que vous le voulez. Pour plus d'informations sur le processus de construction d'une application, reportez-vous à la section Construire une application 4D.

Si vous débutez avec 4D, reportez-vous aux sections Présentation du langage pour découvrir les principes de fonctionnement du langage 4D. Commencez par la section Introduction au langage 4D.


4D - Documentation   Français   English   German   Español   Japanese   4D v11 SQL, Commandes par thèmes   4D v11 SQL, Liste alphabétique des commandes   4D v11 SQL, Constantes par thèmes   Retour   Précédent   Suivant