2. Les Types Avancees Windev

Click here to load reader

Transcript of 2. Les Types Avancees Windev

1. Les types de variables avances du WLangage

LES TYPES AVANCEESUtilisation des types avancs

1. Prsentation Les types avancs (variables de type XLS, ggl, ...) permettent de manipuler des donnes l'aide de proprits. Pour manipuler ces types, il faut dclarer une variable correspondant au type manipuler et instancier cette variable. Cette page d'aide prsente :

comment manipuler les proprits d'un type avanc. l'affectation des types avancs.

2. Manipuler les proprits d'un type avanc Prsentation Une proprit d'un type avanc est une donne associe la variable. Utiliser une proprit d'une variable d'un type avanc Pour appeler une proprit d'une variable, la syntaxe utiliser est :.

ou ..

Remarque Il est possible d'enchaner les accs aux proprits. Par exemple :// Enchanements de proprits MaCampagne..GoCiblage..PaysCible..Pays = "FR" + RC + "DE"

3. Affectation des variables des types avancs Rgles d'affectation Les rgles d'affectation entre des variables de type avanc et entre des variables dynamiques de type avanc sont les suivantes :

5 1. La programmation procdurale

1. Les types de variables avances du WLangage

6 1. La programmation procdurale

1. Les types de variables avances du WLangage

LES TYPES AVANCES

Cadre (Type de variable)En anglais : Border (Type of variable)

Le type Cadre permet de manipuler un cadre par programmation. Les caractristiques de ce cadre peuvent tre modifies l'aide de diffrentes proprits du WLangage. Un type Cadre peut tre utilis :

dans les champs d'un tat (proprit ..Cadre des champs d'un tat). dans les cellules Excel (proprit ..Cadre des cellules d'un document Excel).

Remarque : Pour plus de dtails sur la dclaration de ce type de variable et l'utilisation des proprits WLangage, consultez Dclaration d'une variable.// Dfinition des caractristiques du cadre MonCadre est un Cadre MonCadre..Couleur = RougeClair MonCadre..Epaisseur = 5 // Utilisation du cadre pour le champ NumNbPage de l'tat NumNbPage..Cadre = MonCadre // Modification d'une caractristique du cadre du champ NumNbPage NumNbPage..Cadre..Epaisseur = 1 // Rcupration des caractristiques du cadre du champ NumNbPage MonCadre2 est un Cadre = NumNbPage..Cadre

Caractristiques par dfaut d'un cadre Par dfaut, dans un tat, un cadre a les caractristiques suivantes :

paisseur 0. Le cadre est visible si l'paisseur est suprieure 0. Le cadre est invisible si l'paisseur vaut 0. couleur noir. trait continu. coins non arrondis. tous les bords du cadre sont affichs.

Par dfaut, dans une feuille XLS, le cadre d'une cellule a les mmes caractristiques. Cependant, dans le cas d'une cellule XLS, l'paisseur ainsi que l'arrondi des coins ne sont pas grs. Pour dfinir les caractristiques d'un cadre par programmation, utilisez les proprits de gestion des cadres. Proprits WLangage utilisables avec le type Cadre Les proprits suivantes peuvent tre utilises pour manipuler une variable de type Cadre.7 1. La programmation procdurale

1. Les types de variables avances du WLangage

Nom de la proprit Arrondi

Type manipul Rel

Effet Renvoie et modifie la valeur de l'arrondi des coins du cadre. Renvoie et modifie la prsence des bords du cadre. Cette proprit peut correspondre une combinaison des options suivantes :

Bords

Constante de type entier

BordAucun : le cadre n'a aucun bord. BordBas : le cadre a un bord bas. BordDroite : le cadre a un bord droit. BordGauche : le cadre a un bord gauche. BordHaut : le cadre a un bord haut. BordTous : tous les bords du cadre sont affichs.

Renvoie et modifie la couleur du cadre. Cette couleur peut correspondre : Couleur Entier

soit une couleur RVB (obtenue avec la fonction RVB), soit une couleur pr-dfinie.

Epaisseur Trait

Rel Constante de type entier

Renvoie et modifie l'paisseur du cadre. Renvoie et modifie le type du trait du cadre (voir paragraphe suivant).

Ces proprits peuvent tre utilises :

soit directement sur la variable Cadre. Exemple :

MonCadre est un Cadre MonCadre..Couleur = RougeClair MonCadre..Epaisseur = 5

soit sur la proprit ..Cadre de l'lment manipul.

// Modification d'une caractristique du cadre de l'lment NumNbPage NumNbPage..Cadre..Epaisseur = 1

Remarque : Il est galement possible d'affecter directement les caractristiques d'un cadre dfini par programmation un lment :// Dfinition des caractristiques du cadre MonCadre est un Cadre MonCadre..Couleur = RougeClair MonCadre..Epaisseur = 5 // Utilisation du cadre pour le champ NumNbPage de l'tat NumNbPage..Cadre = MonCadre

8 1. La programmation procdurale

1. Les types de variables avances du WLangage

Type du trait du cadre La proprit ..Type permet de dfinir et de connatre le type du trait du cadre. Les constantes disponibles sont les suivantes (attention ces constantes ont des effets diffrents si le cadre est utilis dans un tat ou pour une cellule d'un document Excel). Constante TraitAucun TraitContinu Effet dans Excel Aucun trait. Effet dans un tat Aucun trait. avec l'paisseur dfinie en millimtres. avec l'paisseur dfinie en millimtres. avec l'paisseur dfinie en millimtres. avec l'paisseur dfinie en millimtres. avec l'paisseur dfinie en millimtres. avec l'paisseur dfinie en millimtres. avec l'paisseur dfinie en millimtres. avec l'paisseur dfinie en millimtres. avec l'paisseur dfinie en millimtres

TraitContinuEpais

TraitContinuMoyen

TraitDouble

TraitMixte

TraitMixteMoyen

TraitMixteTiretDouble

TraitMixteTiretDoubleMoyen

TraitPointill

9 1. La programmation procdurale

1. Les types de variables avances du WLangage

TraitPointillMoyen

avec l'paisseur dfinie en millimtres avec l'paisseur dfinie en millimtres. avec l'paisseur dfinie en millimtres.

TraitTiret

TraitTiretMoyen

10 1. La programmation procdurale

1. Les types de variables avances du WLangage

Connexion (Type de variable)En anglais : Connection (Type of variable)

Le type Connexion permet de dcrire par programmation une ou plusieurs connexions des bases de donnes externes (HyperFileSQL Client/Serveur, Accs Natif, ...). Cette connexion pourra tre ouverte grce la fonction HOuvreConnexion. Les caractristiques de cette connexion peuvent tre modifies l'aide de diffrentes proprits WLangage. Nouveaut 17 Cette fonctionnalit est dsormais disponible pour les applications iPhone/iPad. La variable de type Connexion permet aussi bien de :

dcrire une nouvelle connexion (quivalent la fonction HDcritConnexion). crer une connexion (qui sera ouverte grce la fonction HOuvreConnexion). modifier une connexion existante.

Remarque : Pour plus de dtails sur la dclaration de ce type de variable et l'utilisation des proprits WLangage, consultez Dclaration d'une variable.MaConnexion est une Connexion // Description de la connexion MaConnexion..Utilisateur = "USER" MaConnexion..MotDePasse = "PASSWORD" MaConnexion..Serveur = "MONSERVEUR" MaConnexion..BaseDeDonnes = "Base de donnes" MaConnexion..Provider = hAccsHFClientServeur MaConnexion..Accs = hOLectureEcriture MaConnexion..InfosEtendues = "Infos tendues" MaConnexion..OptionsCurseur = hCurseurClient // Ouverture de la connexion HOuvreConnexion(MaConnexion)

Proprits WLangage utilisables sur une connexion dcrite par programmation Les proprits spcifiques aux connexions sont dtailles dans le tableau suivant : Remarque : Les proprits ..Provider et ..Serveur, ou ..Provider et ..Source doivent obligatoirement tre initialises lors de la description d'une connexion. Nom de la proprit Accs Effet Permet de grer le type d'accs d'une connexion (HyperFileSQL Client/serveur, OLE DB, ...) : Lecture, Lecture / Ecriture11 1. La programmation procdurale

1. Les types de variables avances du WLangage

BaseDeDonnes Compression Cryptage InfosEtendues Libell MotDePasse Nom OptionsCurseur Provider

Permet de grer le nom de la base de donnes associe une connexion (HyperFileSQL Client/serveur, OLE DB, ...). Permet de grer la compression des donnes transmises par la connexion. Permet de grer le type de cryptage de la communication entre les postes Client et le poste Serveur HyperFileSQL. Permet de grer les informations supplmentaires d'une connexion. Permet de connatre et de modifier le libell d'une connexion. Permet de modifier le mot de passe associ un utilisateur d'une connexion Permet de connatre le nom de la connexion Permet de grer les diffrents types de curseurs utiliss par la connexion. Permet de grer le type de donnes manipules par la connexion. Permet de grer le nom du serveur utilis dans la connexion. Il est possible d'indiquer une adresse IPv6 en crivant l'adresse IPv6 entre des crochets. Dans ce cas, le numro de port doit tre indiqu aprs le crochet fermant. Par exemple : [0154:2145:2155::5554]:4900. Permet de grer le nom de la source de donnes utilise dans la connexion Permet de grer la taille du cache Permet de grer l'utilisateur de la connexion

Serveur

Source TailleCache Utilisateur

quivalences de code : Description d'une connexion Code utilisant la fonction HDcritConnexion :HDcritConnexion("MaConnexion", "USER", "PASSWORD", "SERVEURTEST", ... "Base de donnes", hAccsHFClientServeur, hOLectureEcriture, ... "Infos tendues", hCurseurClient)

Code utilisant la connexion :MaConnexion est une Connexion // Description de la connexion MaConnexion..Utilisateur = "USER" MaConnexion..MotDePasse = "PASSWORD" MaConnexion..Serveur = "SERVEURTEST" MaConnexion..BaseDeDonnes = "Base de donnes" MaConnexion..Provider = hAccsHFClientServeur MaConnexion..Accs = hOLectureEcriture MaConnexion..InfosEtendues = "Infos tendues" MaConnexion..OptionsCurseur = hCurseurClient

12 1. La programmation procdurale

1. Les types de variables avances du WLangage

quivalences de code : Ouverture d'une connexion Code utilisant la fonction HOuvreConnexion :HOuvreConnexion("MaConnexion", "USER", "PASSWORD", "SERVEURTEST", ... "Base de donnes", hAccsHFClientServeur, hOLectureEcriture, ... "Infos tendues", hCurseurClient)

Code utilisant la connexion :MaConnexion est une Connexion // Description de la connexion MaConnexion..Utilisateur = "USER" MaConnexion..MotDePasse = "PASSWORD" MaConnexion..Serveur = "SERVEURTEST" MaConnexion..BaseDeDonnes = "Base de donnes" MaConnexion..Provider = hAccsHFClientServeur MaConnexion..Accs = hOLectureEcriture MaConnexion..InfosEtendues = "Infos tendues" MaConnexion..OptionsCurseur = hCurseurClient HOuvreConnexion(MaConnexion)

quivalence de code : Affecter une connexion Code utilisant la fonction HChangeConnexion :HChangeConnexion(CLIENT, MaConnexion)

Code utilisant la connexion :CLIENT..Connexion = MaConnexion

quivalence de code : Modifier une connexion existante 1. Modifier une connexion Code utilisant la fonction HDcritConnexion :HDcritConnexion(MaConnexion, "USER2", "PASSWORD2", MaConnexion..CxBaseDeDonnes, ... MaConnexion..CxInitialCatalog, ... MaConnexion..CxProviderOLEDB, MaConnexion..CxAccs, ... MaConnexion..CxInfosEtendues,MaConnexion..CxOptionsCurseur)

Code utilisant la connexion :// Modifie le Login et le mot de passe pour la connexion MaConnexion..Utilisateur = "USER2" MaConnexion..MotDePasse = "PASSWORD2"

2. Modifier une connexion associe un fichier de donnes : Code utilisant la fonction HDcritConnexion :// Modification du type de provider HDcritConnexion(CLIENT..Connexion, CLIENT..CxUtilisateur, ... CLIENT..CxMotDePasseDcrit, CLIENT..CxBaseDeDonnes, ... CLIENT..CxInitialCatalog, hAccsXXX, CLIENT..CxAccs, ... CLIENT..CxInfosEtendues, CLIENT..CxOptionsCurseur)

13 1. La programmation procdurale

1. Les types de variables avances du WLangage

Code utilisant la connexion :MaConnexion est une Connexion = CLIENT..Connexion // Change le type de la connexion MaConnexion..Provider = hAccsXXX

Description de fichier (Type de variable)En anglais : File description (Type of variable)

Exemples Notes Voir Aussi

Une variable de type Description de fichier permet de dcrire par programmation un ou plusieurs fichiers de donnes. La description de chaque fichier de donnes est valide par la fonction HDcritFichier. Aprs cette validation :

Ce fichier de donnes pourra tre manipul comme n'importe quel fichier de donnes dcrit dans l'analyse. La variable de type "Description de fichier" est rinitialise et pourra tre utilise pour dcrire par programmation un autre fichier de donnes.

Nouveaut 17 Cette fonctionnalit est dsormais disponible pour les applications iPhone et iPad.UnFichier est une Description de Fichier MonFichier1, MonFichier2 sont des descriptions DE Fichier // Description du fichier "CLIENT" UnFichier..Nom = "CLIENT" UnFichier..Type = hFichierNormal UnFichier..CryptageFic = hCryptageStandard // Description des rubriques du fichier ... // Validation de la description du fichier "CLIENT" HDcritFichier(UnFichier)

Masquer les dtails Dclarer une ou plusieurs descriptions de fichier de donnes est une description de fichier , sont des descriptions de fichier : Nom de la variable de type "Description de fichier" dclarer. Remarque : Les mots-cls une et des ne sont pas obligatoires : ce sont des mots d'agrment.14 1. La programmation procdurale

1. Les types de variables avances du WLangage

Masquer les dtails Dcrire une variable de type "Description de fichier"

Pour dcrire une variable de type "Description de fichier" : Utilisez les proprits du WLangage spcifiques aux descriptions de fichiers de donnes. Pour plus de dtails, consultez les notes. Pour valider la description d'une variable de type "Description de fichier" : Utilisez la fonction HDcritFichier.

Proprits spcifiques la description de fichiers de donnes Les proprits spcifiques la description de fichiers de donnes sont dtailles dans le tableau suivant : Remarque : Les proprits en gras suivies d'un astrisque ( * ) doivent obligatoirement tre initialises lors de la description d'un fichier de donnes par programmation. Nom de la proprit CompressionMMO CryptageFic CryptageMMO CryptageNdx Effet Mode de compression du fichier MMO (contenant les mmo binaires et texte) associ au fichier de donnes Mode de cryptage du fichier de donnes Mode de cryptage du fichier mmo (d'extension .MMO) associ au fichier de donnes Mode de cryptage du fichier d'index associ au fichier de donnes Type d'accs au fichier lors de la connexion OLE DB une table spcifique (en tenant compte des modifications effectues par la fonction HConnecte) Type d'accs au fichier lors de la connexion OLE DB une table spcifique (sans tenir compte des modifications effectues par la fonction HConnecte) Source de donnes OLE DB lors de la connexion OLE DB une table spcifique (en tenant compte des modifications effectues par la fonction HConnecte)15 1. La programmation procdurale

CxAccs

CxAccsDcrit

CxBaseDeDonnes

1. Les types de variables avances du WLangage

Source de donnes OLE DB lors de la connexion OLE DB une table spcifique (sans tenir CxBaseDeDonnesDcrite compte des modifications effectues par la fonction HConnecte) Libell de la connexion la source de donnes CxLibellDcrit OLE DB Mot de passe utilis pour ouvrir le fichier lors CxMotDePasseDcrit d'une connexion OLE DB Nom du serveur OLE DB utilis (en tenant CxProviderOLEDB compte des modifications effectues par la fonction HConnecte). Nom du serveur OLE DB (sans tenir compte des CxProviderOLEDBDcrit modifications effectues par la fonction HConnecte). Nom de l'utilisateur lors d'une connexion OLE CxUtilisateur DB (en tenant compte des modifications effectues par la fonction HConnecte). Nom de l'utilisateur lors d'une connexion OLE CxUtilisateurDcrit DB (sans tenir compte des modifications effectues par la fonction HConnecte). Format des donnes du fichier de donnes (ANSI Format ou Unicode). GrosFichier Taille maximale d'un fichier de donnes. Journalisation Mode de journalisation d'un fichier de donnes. Mot de passe utiliser pour manipuler un fichier MotDePasseWDD55 dfinit par programmation au format Hyper File 5.5 dans une analyse au format WinDev. Nom ( * ) Nom du fichier HyperFileSQL. Nom logique du fichier au format Hyper File 5.5 Nom55 prsent dans une analyse au format WinDev. NomDcrit Nom logique d'un fichier de donnes. NomPhysique Nom physique des fichiers de donnes. Nom physique des fichiers HyperFileSQL (sans NomPhysiqueDcrit tenir compte des changements de nom raliss grce la fonction HChangeNom). NullSupport Mode de gestion de la valeur NULL. Rpertoire physique des fichiers HyperFileSQL (cette proprit tient compte des changements de Rpertoire rpertoires raliss grce aux fonctions HChangeRep ou HSubstRep). Rpertoire physique des fichiers HyperFileSQL (cette proprit ne tient pas compte des RpertoireDcrit changements de rpertoires raliss grce aux fonctions HChangeRep ou HSubstRep). RpertoireJournal Rpertoire du fichier journal dcrit dans16 1. La programmation procdurale

1. Les types de variables avances du WLangage

l'analyse. Complte ou non les rubriques texte par des RubriqueTexteComplte espaces. Niveau de scurit du cryptage des fichiers de Scuris donnes. Type Type d'un fichier de donnes. Chemin du fichier WDD au format 5.5 utilis WDD55 pour manipuler des fichiers de donnes au format 5.5 dans une application WinDev. Comment dcrire des fichiers de donnes par programmation ? Pour dcrire des fichiers de donnes par programmation, il faut : 1. Dclarer des variables de type "Description de fichier", "Description de rubrique", "Description d'IndexFullText" et "Description de liaison" (si ncessaire). 2. Pour chaque fichier de donnes :

Dcrire les caractristiques du fichier de donnes grce aux proprits HyperFileSQL. Dcrire les caractristiques des rubriques grce aux proprits HyperFileSQL. Valider la description de chaque rubrique (fonction HDcritRubrique). Dcrire si ncessaire les caractristiques des index full-text grce aux proprits HyperFileSQL. Valider la description de chaque index full-text (fonction HDcritIndexFullText). Valider la description du fichier de donnes (fonction HDcritFichier).

3. Dcrire si ncessaire les caractristiques des liaisons grce aux proprits HyperFileSQL. 4. Valider si ncessaire la description de chaque liaison (fonction HDcritLiaison). Manipulation des rubriques d'un fichier de donnes dcrit par programmation Lors de la cration d'un fichier de donnes sous l'diteur d'analyses, les noms du fichier de donnes et de ses rubriques sont automatiquement reconnus par le compilateur. Lors de la cration d'un fichier de donnes l'aide d'une variable de type "Description de fichier", les noms du fichier de donnes et de ses rubriques sont dfinis grce la proprit ..Nom. Ces noms ne sont pas automatiquement reconnus par le compilateur. L'utilisation de ces noms pour dsigner le fichier de17 1. La programmation procdurale

1. Les types de variables avances du WLangage

donnes ou ses rubriques provoque une erreur de compilation. Pour que le nom du fichier de donnes dcrit par programmation soit reconnu par le compilateur, il est ncessaire de dclarer ce nom de fichier comme une source de donnes grce au mot-cl source de donnes. Ce fichier de donnes pourra alors tre manipul par son nom sous l'diteur de code. Par exemple :UnFichier est une Description de Fichier ... UnFichier..Nom = "CLIENT" ... HDcritFichier("CLIENT") ... CLIENT est une Source de Donnes ... HLitPremier(CLIENT,"NOMCLI")

Remarque : Il est galement possible de dclarer le nom du fichier de donnes avec le mot-cl Externe. Cependant, la vitesse d'excution du traitement sera ralentie. Journalisation Lors de la description du fichier de donnes par programmation :

si le fichier de donnes est journal et si aucune rubrique n'est journale, toutes les rubriques (sauf les cls composes) sont automatiquement passes en journales. si le fichier de donnes est journal et si au moins une rubrique est journale, les autres rubriques ne sont pas modifies.

18 1. La programmation procdurale

1. Les types de variables avances du WLangage

Description d'IndexFullText (Type de variable)En anglais : Description of FullTextIndex (Type of variable)

Une variable de type Description d'IndexFullText permet de dcrire par programmation un ou plusieurs index full-text. Les caractristiques de ces index peuvent tre dfinies l'aide de diffrentes proprits WLangage Pour ajouter la description de cet index dans la description d'un fichier de donnes, utilisez la fonction HDcritIndexFullText. La variable de type "Description d'IndexFullText" est alors rinitialise et pourra tre utilise pour dcrire un autre index full-text par programmation. Nouveaut 17 Cette fonctionnalit est dsormais disponible pour les applications iPhone et iPad.UnFichier est une Description de Fichier UneRubrique est une Description de Rubrique MonIndexFullText est une Description d'IndexFullText CLIENT est une Source de Donnes // Description du fichier "CLIENT" UnFichier..Nom = "CLIENT" UnFichier..Type = hFichierNormal UnFichier..CryptageFic = hCryptageStandard // Description de la rubrique "NOM" UneRubrique..Nom = "NOM" UneRubrique..Type = hRubTexte UneRubrique..Taille = 40 UneRubrique..TypeCl = hClDoublon HDcritRubrique(UnFichier, UneRubrique) // Description de la rubrique "PRENOM" UneRubrique..Nom = "PRENOM" UneRubrique..Type = hRubTexte UneRubrique..Taille = 40 HDcritRubrique(UnFichier, UneRubrique) // Description de l'index full-text MonIndexFullText.LongueurMinimale=4 MonIndexFullText.Nom="MonIndexFullText" MonIndexFullText.Rubriques="NOM+PRENOM" MonIndexFullText.SensibleAccentuation=Vrai MonIndexFullText.SensibleCasse=Faux HDcritIndexFullText(UnFichier,MonIndexFullText) // Valide la description du fichier HDcritFichier(UnFichier)

19 1. La programmation procdurale

1. Les types de variables avances du WLangage// Cration du fichier Client (reconnu car dclar comme source de donnes) HCreation(CLIENT) // Cration d'un enregistrement CLIENT.NOM = "Dupont" CLIENT.PRENOM = "Andr" HAjoute(CLIENT) // Cration d'un enregistrement CLIENT.NOM = "Dupont" CLIENT.PRENOM = "Robert" HAjoute(CLIENT)

Masquer les dtails Dclarer un ou plusieurs descriptions d'IndexFullText est une description d'IndexFullText , sont des descriptions d'IndexFullText : Nom de la variable de type "Description d'IndexFullText" dclarer. Remarque : Les mots-cls une et des ne sont pas obligatoires : ce sont des mots d'agrment. Masquer les dtails Dcrire une variable de type "Description d'IndexFullText"

Pour dcrire une variable de type "Description d'IndexFullText" : Utilisez les proprits du WLangage spcifiques aux descriptions d'index fulltext. Pour plus de dtails, consultez les notes. Pour valider la description d'une variable de type "Description d'IndexFullText" : Utilisez la fonction HDcritIndexFullText. Proprits spcifiques la description d'index full-text Les proprits spcifiques la description d'index full-text sont dtailles dans le tableau suivant : Nom GreHTML GreRTF LongueurMinimale Type manipul Boolen Boolen Entier Effet Paramtre le mode de gestion du HTML dans un index full-text. Paramtre le mode de gestion du RTF dans un index full-text. Permet de dfinir et de connatre la longueur minimale des mots indexer.20 1. La programmation procdurale

1. Les types de variables avances du WLangage

Nom

Chane de caractres Chane de caractres

Rubriques

SensibleAccentuation Boolen

Proprit obligatoire permettant de dfinir et de connatre le nom de la rubrique de type index full-text. Permet de dfinir et de connatre les diffrentes rubriques composant l'index full-text. Permet de dfinir et de savoir si la ponctuation (virgule, point, ...) est prise en compte dans les diffrentes recherches effectues sur la rubrique Permet de dfinir et de savoir si la casse (majuscules/minuscules) est prise en compte dans les diffrentes recherches effectues sur la rubrique.

SensibleCasse

Boolen

Comment dcrire des fichiers de donnes par programmation? Pour dcrire des fichiers de donnes par programmation, il faut : 1. Dclarer des variables de type "Description de fichier", "Description de rubrique", "Description d'IndexFullText" et "Description de liaison" (si ncessaire). 2. Pour chaque fichier de donnes :

Dcrire les caractristiques du fichier de donnes grce aux proprits HyperFileSQL. Dcrire les caractristiques des rubriques grce aux proprits HyperFileSQL. Valider la description de chaque rubrique (fonction HDcritRubrique). Dcrire si ncessaire les caractristiques des index full-text grce aux proprits HyperFileSQL. Valider la description de chaque index full-text (fonction HDcritIndexFullText). Valider la description du fichier de donnes (fonction HDcritFichier).

3. Dcrire si ncessaire les caractristiques des liaisons grce aux proprits HyperFileSQL. 4. Valider si ncessaire la description de chaque liaison (fonction HDcritLiaison).

21 1. La programmation procdurale

1. Les types de variables avances du WLangage

Description de liaison (Type de variable)En anglais : Link description (Type of variable)

Une variable de type Description de liaison permet de dcrire par programmation une liaison entre deux fichiers de donnes. La description de chaque liaison est valide par la fonction HDcritLiaison. Aprs cette validation :

Cette liaison pourra tre manipule comme n'importe quelle liaison dcrite dans l'analyse. La variable de type "Description de liaison" est rinitialise et pourra tre utilise pour dcrire par programmation une autre liaison.

Nouveaut 17 Cette fonctionnalit est dsormais disponible pour les applications iPhone et iPad.MaLiaison est une Description de Liaison MaLiaison1, MaLiaison2 sont des descriptions DE liaisons // Description et validation des fichiers Ville et Client ... // Description de la liaison "HABITE" MaLiaison..Nom = "HABITE" MaLiaison..FichierSource = "VILLE" MaLiaison..FichierReli = "CLIENT" MaLiaison..ClSource = "NOMVILLE" MaLiaison..ClRelie = "VILLECLI" // Liaison par dfaut (0-1, 0-1) // Validation de la description de la liaison "HABITE" HDcritLiaison(MaLiaison)

Masquer les dtails Dclarer une ou plusieurs descriptions de liaison est une description de liaison , sont des descriptions de liaisons : Nom de la variable de type "Description de liaison" dclarer.22 1. La programmation procdurale

1. Les types de variables avances du WLangage

Remarque : Les mots-cls une et des ne sont pas obligatoires : ce sont des mots d'agrment.

Masquer les dtails Dcrire une variable de type "Description de liaison"

Pour dcrire une variable de type "Description de liaison" : Utilisez les proprits du WLangage spcifiques aux descriptions de liaisons. Pour plus de dtails, consultez les notes. Pour valider une description d'une variable de type "Description de liaison" : Utilisez la fonction HDcritLiaison. Proprits spcifiques la description de liaisons Les proprits spcifiques la description de liaisons sont les suivantes : Remarque : Les proprits en gras suivies d'un astrisque doivent obligatoirement tre initialises lors de la description d'une liaison par programmation. Nom de la proprit Effet Cardinalit maximale de la rubrique relie dans une CardinalitRelieMax liaison Cardinalit minimale de la rubrique relie dans une CardinalitRelieMin liaison Cardinalit maximale de la rubrique source dans une CardinalitSourceMax liaison Cardinalit minimale de la rubrique source dans une CardinalitSourceMin liaison Rubrique du fichier reli utilise dans la liaison ClRelie ( * ) Rubrique du fichier source utilise dans la liaison ClSource ( * ) Nom du fichier reli utilis dans la liaison FichierReli ( * ) FichierSource ( * ) Nom du fichier source utilis dans la liaison Nom de la liaison Nom ( * ) Rgle de modification (gestion de l'intgrit) utilise RgleModification dans une liaison Rgle de suppression (gestion de l'intgrit) utilise RgleSuppression dans une liaison23 1. La programmation procdurale

1. Les types de variables avances du WLangage

Par dfaut, les cardinalits de la liaison sont (0-1) / (0-1). Comment dcrire des fichiers de donnes par programmation ? Pour dcrire des fichiers de donnes par programmation, il faut : 1. Dclarer des variables de type "Description de fichier", "Description de rubrique", "Description d'IndexFullText" et "Description de liaison" (si ncessaire). 2. Pour chaque fichier de donnes :

Dcrire les caractristiques du fichier de donnes grce aux proprits HyperFileSQL. Dcrire les caractristiques des rubriques grce aux proprits HyperFileSQL. Valider la description de chaque rubrique (fonction HDcritRubrique). Dcrire si ncessaire les caractristiques des index full-text grce aux proprits HyperFileSQL. Valider la description de chaque index full-text (fonction HDcritIndexFullText). Valider la description du fichier de donnes (fonction HDcritFichier).

3. Dcrire si ncessaire les caractristiques des liaisons grce aux proprits HyperFileSQL. 4. Valider si ncessaire la description de chaque liaison (fonction HDcritLiaison). Manipulation des liaisons d'un fichier de donnes dcrit par programmation Lors de la cration d'une liaison sous l'diteur d'analyses, le nom de cette liaison est automatiquement reconnu par le compilateur. Lors de la cration d'une liaison l'aide d'une variable de type "Description de liaison", le nom de cette liaison est dfini grce la proprit ..Nom. Ce nom n'est pas automatiquement reconnu par le compilateur. L'utilisation de ce nom pour dsigner la liaison provoque une erreur de compilation. Pour que le nom de la liaison cr par programmation soit reconnu par le compilateur, il est ncessaire de dclarer ce nom grce au mot-cl Externe. Cette liaison pourra alors tre manipule par son nom sous l'diteur de code. Par exemple :MaLiaison est une Description de Liaison ... MaLiaison..Nom = "HABITE" ... HDcritLiaison("HABITE")

24 1. La programmation procdurale

1. Les types de variables avances du WLangage

... EXTERNE HABITE ... Cardinalit = HABITE..CardinalitRelieMax

Description de rubrique (Type de variable)En anglais : Item description (Type of variable)

Une variable de type Description de rubrique permet de dcrire par programmation une ou plusieurs rubriques d'un fichier de donnes. La description de chaque rubrique est valide par la fonction HDcritRubrique. Aprs cette validation :

Cette rubrique pourra tre manipule comme n'importe quelle rubrique dcrite dans l'analyse. La variable de type "Description de rubrique" est rinitialise et pourra tre utilise pour dcrire par programmation une autre rubrique de fichier de donnes.

Nouveaut 17 Cette fonctionnalit est dsormais disponible pour les applications iPhone et iPad.MaRubrique est une Description de Rubrique MaRubrique1, MaRubrique2 sont des descriptions DE rubriques // Description du fichier UnFichier ... // Description de la rubrique "NOM" MaRubrique..Nom = "NOM" MaRubrique..Type = hRubTexte MaRubrique..Taille = 40 MaRubrique..TypeCl = hClUnique // Validation de la description de la rubrique "NOM" HDcritRubrique(UnFichier, MaRubrique) // Validation de la description du fichier UnFichier ...

Masquer les dtails Dclarer une ou plusieurs descriptions de rubrique est une description de rubrique , sont des descriptions de rubriques25 1. La programmation procdurale

1. Les types de variables avances du WLangage

: Nom de la variable de type "Description de rubrique" dclarer. Remarque : Les mots-cls une et des ne sont pas obligatoires : ce sont des mots d'agrment. Masquer les dtails Dcrire une variable de type "Description de rubrique"

Pour dcrire une variable de type "Description de rubrique" : utilisez les proprits du WLangage spcifiques aux descriptions de rubriques. Pour plus de dtails, consultez les notes. Pour valider une description de variable de type "Description de rubrique" : utilisez la fonction HDcritRubrique. Proprits spcifiques la description de rubriques par programmation Les proprits spcifiques la description de rubriques sont les suivantes : Remarque : Les proprits en gras suivies d'un astrisque doivent obligatoirement tre initialises lors de la description d'une rubrique par programmation. Nom de la proprit Composante FormuleCl Langue Effet Modifier une composantes d'une cl compose Dfinir les composantes d'une cl compose Dfinir les paramtres de la langue utilise pour les comparaisons et le tri dans le cas d'une rubrique Unicode. Dfinir les paramtres de la langue utilise pour les comparaisons et le tri dans le cas d'une rubrique Unicode. Nombre d'lments d'une rubrique tableau. Nom de la rubrique. Prise en compte de l'option "NULL par dfaut" pour la rubrique. Dfinir si la valeur NULL est autorise ou non pour la rubrique. Dfinir le nombre de chiffres de la partie dcimale d'une rubrique de type Numrique. Dfinir le nombre de chiffres de la partie entire d'une rubrique de type Numrique. Prise en compte de l'accentuation dans les diffrentes recherches effectues sur la rubrique26 1. La programmation procdurale

LangueDcrit NbElmentTableau Nom ( * ) Null NullAutoris PartieDcimale PartieEntire SensibleAccentuation

1. Les types de variables avances du WLangage

SensibleCasse

SensiblePonctuation Taille (* obligatoire selon le type spcifi) TailleCl Type (* ) TypeCl TypeTri ValeurParDfaut

Prise en compte de la casse (majuscules/minuscules) dans les diffrentes recherches effectues sur la rubrique Prise en compte de la ponctuation (virgule, point, ...) dans les diffrentes recherches effectues sur la rubrique Taille d'une rubrique de type texte (chane de caractres, mmo texte, caractre)Taille d'une rubrique Heure. Taille de la partie indexer du mmo texte. Identifie et modifie le type d'une rubrique Caractristiques d'une rubrique de type cl Caractristiques de tri sur une rubrique Valeur par dfaut d'une rubrique

Cas particulier : Dcrire une cl compose Lors de la description d'une cl compose par programmation, la proprit ..Type n'est pas obligatoire. Par contre, il est ncessaire d'utiliser la proprit ..FormuleCl pour dcrire la composition de la cl compose. Comment dcrire des fichiers de donnes par programmation ? Pour dcrire des fichiers de donnes par programmation, il faut : 1. Dclarer des variables de type Description de fichier, Description de rubrique, Description d'IndexFullText et Description de liaison (si ncessaire). 2. Pour chaque fichier de donnes :

Dcrire les caractristiques du fichier de donnes grce aux proprits HyperFileSQL. Dcrire les caractristiques des rubriques grce aux proprits HyperFileSQL. Valider la description de chaque rubrique (fonction HDcritRubrique). Dcrire si ncessaire les caractristiques des index full-text grce aux proprits HyperFileSQL. Valider la description de chaque index full-text (fonction HDcritIndexFullText). Valider la description du fichier de donnes (fonction HDcritFichier).

3. Dcrire si ncessaire les caractristiques des liaisons grce aux proprits HyperFileSQL. 4. Valider si ncessaire la description de chaque liaison (fonction HDcritLiaison). Manipulation des rubriques d'un fichier de donnes dcrit par27 1. La programmation procdurale

1. Les types de variables avances du WLangage

programmation Lors de la cration d'un fichier de donnes sous l'diteur d'analyses, les noms du fichier de donnes et de ses rubriques sont automatiquement reconnus par le compilateur. Lors de la cration d'un fichier de donnes l'aide d'une variable de type "Description de fichier", les noms du fichier de donnes et de ses rubriques sont dfinis grce la proprit ..Nom. Ces noms ne sont pas automatiquement reconnus par le compilateur. L'utilisation de ces noms pour dsigner le fichier de donnes ou ses rubriques provoque une erreur de compilation. Pour que les noms du fichier de donnes dcrit par programmation et de ses rubriques soient reconnus par le compilateur, il est ncessaire de dclarer le nom du fichier de donnes en tant que source de donnes. Ce fichier de donnes et ses rubriques pourront alors tre manipuls par leur nom sous l'diteur de code. Par exemple :UnFichier est une Description de Fichier ... UnFichier..Nom = "CLIENT" ... HDcritFichier("CLIENT") ... CLIENT est une Source de Donnes ... HLitPremier(CLIENT,"NOMCLI")

Remarque : Il est galement possible de dclarer le nom du fichier de donnes avec le mot-cl Externe. Cependant, la vitesse d'excution du traitement sera ralentie. Journalisation Lors de la description du fichier de donnes par programmation :

si le fichier de donnes est journal et si aucune rubrique n'est journale, toutes les rubriques (sauf les cls composes) sont automatiquement passes en journales. si le fichier de donnes est journal et si au moins une rubrique est journale, les autres rubriques ne sont pas modifies.

28 1. La programmation procdurale

1. Les types de variables avances du WLangage

Police (Type de variable)En anglais : Font (Type of variable)

Exemples Notes Voir Aussi

Une variable de type Police permet de crer une police par programmation. Les caractristiques de cette police peuvent tre modifies l'aide de diffrentes proprits WLangage. Une variable de type Police peut tre utilise :

dans les dessins, dans les graphes, pour les impressions, dans les champs d'une fentre (proprit ..Police des champs d'une fentre), dans les champs d'une page (proprit ..Police des champs d'une page), dans les champs d'un tat (proprit ..Police des champs d'un tat).

Remarque : Pour plus de dtails sur la dclaration de ce type de variable et l'utilisation des proprits WLangage, consultez Dclaration d'une variable. Nouveaut 17 Cette proprit est dsormais disponible pour les applications iPhone/iPad. Cette proprit est dsormais disponible pour les applications WinDev pour Linux. Cette proprit est dsormais disponible pour les sites WebDev pour Linux.// Dclaration de variables de type Police MaPolice est une Police MaPolice1, MaPolice2 sont des polices // Variable initialise avec la police cre avec la fonction PoliceCre MaPolice = PoliceCre("Arial",12,iGras) // Modification des caractristiques de la police MaPolice..Nom = "Arial" MaPolice..Taille = 12 MaPolice..Gras = Vrai // Utilisation d'une police sur un champ d'une fentre SAI_Nom..Police = MaPolice // Rcupration de la police d'un champ MaPolice1 = SAI_Prenom..Police

Caractristiques d'une police Par dfaut, une variable police a les caractristiques suivantes :29 1. La programmation procdurale

1. Les types de variables avances du WLangage

"Arial", taille 12, couleur noir, sans attribut.

Pour dfinir les caractristiques d'une police par programmation, utilisez :

Soit la fonction PoliceCre. Soit les proprits de gestion des polices (voir ci-dessous) Soit la fonction PoliceSelect qui ouvre la fentre standard Windows de slection des polices.

Proprits de gestion des polices Les proprits suivantes peuvent tre utilises pour manipuler une police : Nom de la proprit Alphabet Angle Barr Condens Couleur Etendu Gras Italique Large Nom Soulign Taille Effet Renvoie et modifie l'alphabet utilis par une variable de type police Renvoie et modifie l'angle (en degrs) d'une variable de type police Teste si une variable de type police est barre et barre (ou non) une variable de type police Teste si une variable de type police est condense et condense (ou non) une variable de type police Renvoie et modifie la couleur d'une variable de type police Teste si une variable de type police est tendue et tend (ou non) une variable de type police Teste si une variable de type police est en gras et modifie l'attribut gras d'une variable de type police Teste si une variable de type police est en italique et modifie l'attribut italique d'une variable de type police Teste si une variable de type police est largie et largit (ou non) une variable de type police Renvoie et modifie le nom d'une variable de type police Teste si une variable de type police est souligne et souligne (ou non) une variable de type police Renvoie et modifie la taille (en points pica) d'une variable de type police

Ces proprits peuvent tre utilises directement sur la variable de type Police. Exemple :MaPolice est une Police

30 1. La programmation procdurale

1. Les types de variables avances du WLangage

MaPolice..Gras = Vrai MaPolice..Couleur= RougeClair

Fonctions utilisant des variables de type police Les fonctions suivantes peuvent manipuler une variable de type Police :

dPolice

Dclare la police de caractres qui sera utilise par la fonction

dTexte :

dans un champ Image, dans une variable de type Image.

grPoliceEtiquette grPoliceLgende grPoliceTitre iPolice PoliceCre PoliceSelect

Modifie la police utilise pour les tiquettes de catgorie d'un graphe. Modifie la police utilise pour la lgende d'un graphe. Modifie la police utilise pour le titre d'un graphe. Slectionne la police par dfaut. Cre une dfinition de police. Ouvre la fentre standard de slection de polices de Windows en slectionnant la police spcifie.

31 1. La programmation procdurale

1. Les types de variables avances du WLangage

Source de donnes (Type de variable)En anglais : Data Source (Type of variable)

Une variable de type Source de donnes permet de dcrire une source de donnes temporaire (requte, vue, alias, ... ). Toutes les oprations possibles sur une vue (respectivement une requte) pourront tre effectues sur une variable de type Source de donnes associe une vue (respectivement une requte). Pour dcrire une source de donnes, il est ncessaire de : 1. Dclarer une variable de type "Source de donnes". 2. Initialiser la source de donnes (fonctions hExcuteRequteSQL ou hCreVue). La source de donnes sera automatiquement libre la fin du traitement dans lequel cette source de donnes est dclare. Remarques :

A la fermeture de l'application (ou du traitement o la source de donnes a t dclare), la source de donnes sera automatiquement dtruite. Une source de donnes dclare en globale est globale tous les traitements du projet qui utilisent le contexte HyperFileSQL correspondant celui o la source de donnes a t dclare. Une source de donnes possde un nom interne qui est gal par dfaut au nom de la variable. Pour un mme contexte de fichier, il ne peut exister qu'une seule source de donnes avec le mme nom. Si vous utilisez des variables de type source de donnes dans une boucle, un code rcursif ou une classe, il est donc ncessaire de modifier le nom interne de la source de donnes pour assurer son unicit.

// Dclaration d'une source de donnes MaSourceDonne est une Source de Donnes MaSourceDonne1, MaSourceDonne2 sont des sources DE Donnes // Initialiser une variable de type Source de donnes MaRequte est une Source de Donnes // MaRequte est associe une requte // Initialisation de la variable MaRequte HExcuteRequteSQL(MaRequte, "SELECT NOM FROM CLIENT")

32 1. La programmation procdurale

1. Les types de variables avances du WLangage// Initialiser une variable de type Source de donnes MaVue est une Source de Donnes // MaVue est associe une vue // Initialisation de la variable MaVue HCreVue(MaVue, CLIENT, "*", "NOM,VILLE", "NOM]='A'",hVueDfaut) // Supprimer une source de donnes MaRequte est une Source de Donnes HExcuteRequteSQL(MaRequte, "SELECT NOM FROM CLIENT") // Destruction de la source de donnes associe la variable MaRequte HAnnuleDclaration(MaRequte) HExcuteRequteSQL(MaRequte, "SELECT NOM FROM FOURNISSEUR") // Suppression d'une source de donnes MaVue est une Source de Donnes // MaVue est associe une vue // Initialisation de la variable MaVue HCreVue(MaVue, CLIENT, "*", "NOM,VILLE", "NOM]='A'", hVueDfaut) // Destruction de la source de donnes associe la variable MaVue HDtruitVue(MaVue) HCreVue(MaVue, CLIENT, "*", "NOM,PRENOM", "NOM]='C'", hVueDfaut)

Masquer les dtails Dclarer une ou plusieurs sources de donnes est une source de donnes , sont des sources de donnes : Nom de la variable de type "Source de donnes" dclarer. Remarque : Les mots-cls une et des ne sont pas obligatoires : ce sont des mots d'agrment. Masquer les dtails Initialiser une variable de type "Source de donnes" (requte ou vue)

Pour initialiser une variable de type "Source de donnes", utilisez la fonction :

HExcuteRequteSQL si la variable est associe une requte. HCreVue si la variable est associe une vue.

33 1. La programmation procdurale

1. Les types de variables avances du WLangage

Masquer les dtails Supprimer la source de donnes (requte ou vue)

Lorsque la mme variable de type Source de donnes est utilise plusieurs fois, avec des sources de donnes diffrentes, il est ncessaire de librer la premire source de donnes. Pour librer l'espace mmoire occup par la source de donnes (requte ou vue), utilisez la fonction :

HAnnuleDclaration si la variable est associe une requte. HDtruitVue si la variable est associe une vue.

Manipuler une requte ou une vue par programmation Pour manipuler une requte ou une vue par programmation, il est conseill d'utiliser une variable de type "Source de donnes". Vous pouvez cependant donner un nom logique lors de l'initialisation de la requte ou de la vue. Il sera alors ncessaire d'utiliser le mot-cl Externe pour manipuler directement la vue ou la requte dans l'diteur de code. Cette mthode peut ralentir la vitesse d'excution de vos traitements. Remarque : Lors de l'utilisation d'un nom logique, la requte ou la vue n'est pas dtruite automatiquement : il est ncessaire d'utiliser les fonctions HAnnuleDclaration et HDtruitVue. Par exemple :

Initialiser une requte :

1 - Initialiser une requte avec un nom logique :EXTERNE MaRequte HExcuteRequteSQL(MaRequte, "SELECT NOM FROM CLIENT") // Autre syntaxe possible : // HExcuteRequteSQL("MaRequte", "SELECT NOM FROM CLIENT") // Utilisation de la requte HLitPremier(MaRequte, Nom) SI PAS HEnDehors ALORS Info("Le 1er client est : "+MaRequte.Nom) FIN ... HAnnuleDclaration(MaRequte)

2 - Initialiser une requte avec une variable "Source de donnes" :MaRequte est une Source de Donnes HExcuteRequteSQL(MaRequte, "SELECT NOM FROM CLIENT")

34 1. La programmation procdurale

1. Les types de variables avances du WLangage

// Utilisation de la requte HLitPremier(MaRequte, Nom) SI PAS HEnDehors ALORS Info("Le 1er client est : "+MaRequte.Nom) FIN

Initialiser une vue :

1 - Initialiser une vue avec un nom logique :EXTERNE MaVue HCreVue(MaVue, CLIENT, "*", "NOM,VILLE", "NOM]='A'", hVueDfaut) // Autre syntaxe possible : // HCreVue("MaVue", CLIENT, "*", "NOM,VILLE", "NOM]='A'", hVueDfaut) // Utilisation de la vue HLitPremier(MaVue, Nom) SI PAS HEnDehors ALORS Info("Le 1er client est : "+MaVue.Nom) FIN ... HDtruitVue(MaVue)

2 - Initialiser une vue avec une variable "Source de donnes" :MaVue est une Source de Donnes HCreVue(MaVue, CLIENT, "*", "NOM,VILLE", "NOM]='A'", hVueDfaut) // Utilisation de la vue HLitPremier(MaVue, Nom) SI PAS HEnDehors ALORS Info("Le 1er client est : "+MaVue.Nom) FIN

Proprits associes aux variables de type Source de donnes Les proprits associes aux variables de type Source de donnes sont les suivantes. Ces proprits sont identiques celles s'appliquant un fichier de donnes : Abrviation Alphabet BaseDeDonnes Renvoie l'abrviation de la source de donnes. Permet de connatre l'alphabet utilis par la source de donnes. Permet de connatre et de modifier la base de donnes associe une connexion (HyperFileSQL Client/Serveur, OLE DB, ...). Rcupre la borne maximale du filtre en cours (dfini par la fonction HFiltre) sur une source de donnes. Rcupre la borne minimale du filtre en cours (dfini par la fonction HFiltre) sur une source de donnes. Paramtre le mode de compression du fichier MMO (contenant les mmos binaire et texte) associ la source de donnes.35 1. La programmation procdurale

BorneMax

BorneMin

CompressionMMO

1. Les types de variables avances du WLangage

ConditionFiltre Connexion CryptageFic CryptageMMO CryptageNdx

CxAccs

CxAccsDcrit

CxBaseDeDonnes

CxBaseDeDonnesDcrite

CxInfosEtendues CxInitialCatalog CxLibellDcrit CxOptionsCurseur

CxProviderOLEDB

CxProviderOLEDBDcrit CxUtilisateur

Renvoie la condition de slection mise en place par la fonction HFiltre sur une source de donnes. Permet de connatre la connexion actuellement associe une source de donnes Paramtre le mode de cryptage de la source de donnes Paramtre le mode de cryptage du fichier mmo (d'extension .MMO) associ la source de donnes Paramtre le mode de cryptage du fichier d'index associ la source de donnes Gre le type d'accs au fichier lors de la connexion OLE DB une table spcifique (en tenant compte des modifications effectues par la fonction HConnecte) Gre le type d'accs au fichier lors de la connexion OLE DB une table spcifique (sans tenir compte des modifications effectues par la fonction HConnecte) Gre la source de donnes OLE DB lors de la connexion OLE DB une table spcifique (en tenant compte des modifications effectues par la fonction HConnecte) Gre la source de donnes OLE DB lors de la connexion OLE DB une table spcifique (sans tenir compte des modifications effectues par la fonction HConnecte) Permet de connatre les informations supplmentaires insres dans la chane de connexion la base de donnes Permet de connatre la base de donnes par dfaut dfinie pour l'accs Paramtre le libell de la connexion la source de donnes OLE DB Permet de connatre le type curseur utilis lors d'une connexion une base de donnes externe Gre le nom du provider OLE DB utilis (en tenant compte des modifications effectues par la fonction HConnecte) Gre le nom du provider OLE DB (sans tenir compte des modifications effectues par la fonction HConnecte) Gre le nom de l'utilisateur lors d'une connexion OLE DB (en tenant compte des36

1. La programmation procdurale

1. Les types de variables avances du WLangage

CxUtilisateurDcrit

ExcutionTermine

modifications effectues par la fonction HConnecte) Gre le nom de l'utilisateur lors d'une connexion OLE DB (sans tenir compte des modifications effectues par la fonction HConnecte) Permet de savoir si une requte ou une vue HyperFileSQL Classic ou Client/Serveur a fini de s'excuter Permet de connatre ou de modifier l'extension d'un fichier de donnes Permet de savoir si un fichier de donnes est un fichier journal Permet de savoir si un fichier de donnes est un fichier de transaction Permet de savoir si des bornes ont t prcises sur le filtre mis en place par la fonction HFiltre sur une source de donnes. Paramtre le format des donnes du fichier de donnes (ANSI ou Unicode) Paramtre la taille maximale de la source de donnes Renvoie le GUID de l'analyse qui a permis de crer le fichier de donnes. Renvoie le GUID du fichier dfini dans l'analyse qui a permis de crer le fichier de donnes. Permet de connatre l'identifiant automatique maximum sur un fichier rpliqu. Permet de connatre l'identifiant automatique minimum sur un fichier rpliqu. Renvoie et modifie les informations supplmentaires d'un fichier de donnes ou d'une rubrique accd par Accs Natif. Renvoie le mode de journalisation d'un fichier de donnes Renvoie le nombre total de rubriques (y compris les cls composes) prsentes dans un enregistrement d'un fichier dcrit sous l'diteur d'analyses, un fichier dcrit par programmation, une vue HyperFileSQL ou une requte Renvoie le nombre total de rubriques cl (y compris les cls composes) prsentes dans un37

Extension FichierJournal FichierTransaction FiltreAvecBornes Format GrosFichier GUIDAnalyse GUIDFichier IdAutoMax IdAutoMin InfosEtendues Journalisation

NbRubrique

NbRubriqueCl

1. La programmation procdurale

1. Les types de variables avances du WLangage

NbRubriqueMmo

enregistrement d'un fichier dcrit sous l'diteur d'analyses, un fichier dcrit par programmation, une vue HyperFileSQL ou une requte Renvoie le nombre total de rubriques mmo prsentes dans un enregistrement d'un fichier dcrit sous l'diteur d'analyses, un fichier dcrit par programmation, une vue HyperFileSQL ou une requte

Nom

Gre le nom des diffrents objets HyperFileSQL

Nom55 NomDcrit NomPhysique

Gre le nom logique d'un fichier au format Hyper File 5.5 prsent dans une analyse au format HyperFileSQL Classic Gre le nom logique d'un fichier de donnes Gre le nom physique des fichiers de donnes Gre le nom physique des fichiers HyperFileSQL (sans tenir compte des changements de noms raliss grce la fonction HChangeNom) Permet de grer la valeur NULL dans un fichier HyperFileSQL Permet de connatre le numro de gnration du fichier physique associ au fichier logique spcifi. Permet de savoir si un fichier est protg ou non par mot de passe

NomPhysiqueDcrit

NullSupport

NumroGnration

ProtgParMotDePasse

Rpertoire

Gre le rpertoire physique des fichiers HyperFileSQL. Cette proprit tient compte des changements de rpertoires raliss grce aux fonctions HChangeRep ou HSubstRep)

RpertoireDcrit

Gre le rpertoire physique des fichiers HyperFileSQL. Cette proprit ne tient pas compte des changements de rpertoires raliss grce aux fonctions HChangeRep ou38

1. La programmation procdurale

1. Les types de variables avances du WLangage

HSubstRep) RpertoireJournal Gre le rpertoire du fichier journal dcrit dans l'analyse

Permet de grer le rpertoire du fichier des RpertoireJournalOpration oprations du journal associ un fichier Journal. RpertoireRplication Permet de grer le rpertoire du rplica (fichier ".RPL" ou ".RPM").

RpertoireSauvegardeJournal Permet de connatre et de modifier le rpertoire de sauvegarde des fichiers Journal.

Rplication

Permet de connatre le mode de rplication utilis pour un fichier de donnes (fichier dfini sous l'diteur d'analyses ou dfini par programmation). Pour les fichiers dfinis par programmation, il est possible d'indiquer si ce fichier est en mode rplication journale ou non.

RubriqueFiltre

Permet de connatre la rubrique sur laquelle un filtre a t mis en place par la fonction HFiltre sur un fichier de donnes, une vue HyperFileSQL ou une requte.

RubriqueTexteComplte

Paramtre la gestion des rubriques texte dans un fichier HyperFileSQL. Les rubriques texte peuvent tre compltes automatiquement par des espaces (fonctionnement identique celui de WinDev 5.5) ou non

Scuris

Paramtre le niveau de scurit du cryptage des fichiers Renvoie la taille d'un enregistrement (en octets), sans tenir compte des cls composes Identifie et modifie le type d'une rubrique39

TailleEnregistrement Type

1. La programmation procdurale

1. Les types de variables avances du WLangage

WDD55

Chemin du fichier WDD au format 5.5 utilis pour manipuler des fichiers au format 5.5 dans une application WinDev, WebDev ou WinDev Mobile

Description d'API (Type de variable)En anglais : API description (Type of variable)

Exemples Notes Voir Aussi

Une variable de type Description d'API permet de dcrire par programmation une API, ses paramtres, sa valeur de retour et ses options d'appel.

Les caractristiques de ce type peuvent tre dfinies et modifies l'aide de diffrentes proprits WLangage. Remarque : Pour plus de dtails sur la dclaration de ce type de variable et l'utilisation des proprits WLangage, consultez Dclaration d'une variable.

GetModuleHandle est une Description d'API GetModuleHandle..NomDLL = "kernel32" GetModuleHandle..NomFonction = "GetModuleHandleA" GetModuleHandle..TypeRetour = apiEntierSystme GetModuleHandle..Paramtre[1]..Type = apiChane // Appel d'une DLL fictive de calcul de distance entre deux points la surface de la Terre CalculeDistance est une Description d'API CalculeDistance..NomDLL = "GEO.DLL" CalculeDistance..NomFonction = "CalculeDistance" CalculeDistance..Paramtre[1]..Type = apiRel_8 CalculeDistance..Paramtre[2]..Type = apiRel_8 CalculeDistance..Paramtre[3]..Type = apiRel_8 CalculeDistance..Paramtre[4]..Type = apiRel_8 CalculeDistance..TypeRetour = apiRel_8 distance est un rel = CalculeDistance(Latitude1,Longitude1,Latitude2,Longitude2)

Utilisation des variables de type Description d'APILes variables de type Description d'API peuvent tre utilises :

directement, en spcifiant les valeurs des diffrents paramtres si ncessaire. Par

40 1. La programmation procdurale

1. Les types de variables avances du WLangage

exemple :GetModuleHandle est une Description d'API GetModuleHandle..NomDLL = "kernel32" GetModuleHandle..NomFonction = "GetModuleHandleA" GetModuleHandle..TypeRetour = apiEntierSystme GetModuleHandle..Paramtre[1]..Type = apiChane // Utilisation directe GetModuleHandle(Null)

avec la fonction API. Par exemple :

GetModuleHandle est une Description d'API GetModuleHandle..NomDLL = "kernel32" GetModuleHandle..NomFonction = "GetModuleHandleA" GetModuleHandle..TypeRetour = apiEntierSystme GetModuleHandle..Paramtre[1]..Type = apiChane // Utilisation de la fonction API API(GetModuleHandle,Null)

Proprits spcifiques la description des variables de type Description d'APILes proprits suivantes peuvent tre utilises pour manipuler une Description d'API : Nom de la proprit Adresse Type manipul Effet

Entier systme Adresse de la fonction.

Si cette proprit est renseigne, la proprit ..NomFonction contient l'adresse de la fonction, la proprit ..Numro vaut -1 et la proprit ..NomDLL vaut "" (chane vide).NomDLL Chane de caractres Chane de caractres Nom de la DLL.

NomFonction

Nom de la fonction prsente dans la DLL.

Si cette proprit est renseigne, il est ncessaire de renseigner galement la proprit ..NomDLL. Dans ce cas, la proprit ..Numro vaut -1 et la proprit ..Adresse vaut 0.Numro Entier Numro de la fonction.

Si cette proprit est renseigne, il est41 1. La programmation procdurale

1. Les types de variables avances du WLangage

ncessaire de renseigner galement la proprit ..NomDLL. Dans ce cas, la proprit ..NomFonction contient le numro et la proprit ..Adresse est remise 0.Option Constante de type Entier Options d'appel de l'API. Cette proprit peut correspondre une des constantes suivantes :

apiBloqueThreads : Si cette constante est utilise, l'appel de l'API bloque tous les threads en cours. Cela permet de protger la DLL externe des appels multi-threads. apiDchargeDLL : Si la DLL a t charge pour appeler l'API, elle sera dcharge. Si la DLL tait dj charge lors de l'appel de l'API, cette constante est ignore. apiRestaureParamtresSystme : Si cette constante est utilise, les paramtres systme sont restaurs aprs l'appel de l'API. En effet, certaines API modifient les paramtres systme.

Les options par dfaut sont celles prcises dans la fonction APIParamtre. Si aucun appel la fonction APIParamtre n'a t effectu, les options par dfaut sont apiRestaureParamtreSystme + apiDchargeDLL. Paramtre Tableau Type de chaque paramtre de l'API. Cette proprit correspond aux constantes suivantes :

apiBoolen : le paramtre est un boolen. apiBuffer : le paramtre est un buffer. apiCaractre : le paramtre est un caractre Ansi si le projet est en mode Ansi, le paramtre est un caractre Unicode si le projet est en mode Unicode. le paramtre est toujours 42

1. La programmation procdurale

1. Les types de variables avances du WLangage

un caractre Unicode.

Nouveaut 17 apiCaractreAnsi : le paramtre est un caractre Ansi. Nouveaut 17 apiCaractreUnicode : le paramtre est un caractre Unicode apiChane : le paramtre est une chane de caractres Ansi si le projet est en mode Ansi, le paramtre est une chane de caractres Unicode si le projet est en mode Unicode. le paramtre est toujours une chane de caractres Unicode.

apiChaneAnsi : le paramtre est une chane de caractres Ansi. apiChaneUnicode : le paramtre est une chane de caractres Unicode. apiEntier_4 : le paramtre est un entier sur 4. apiEntier_8 : le paramtre est un entier sur 8. apiEntierSystme : le paramtre est un entier systme. apiRel_4 : le paramtre est un rel sur 4. apiRel_8 : le paramtre est un rel sur 8.

TypeRetour

Entier ou chane

Type retourn par l'API. Cette proprit correspond :

apiBoolen : l'API renvoie un boolen. apiBuffer : l'API renvoie un buffer. apiCaractre : l'API renvoie un caractre Ansi si le projet est en mode Ansi, un caractre Unicode si le projet est en mode Unicode. l'API renvoie toujours un caractre Unicode.

Nouveaut 17 43

1. La programmation procdurale

1. Les types de variables avances du WLangage

apiCaractreAnsi : l'API renvoie un caractre Ansi. Nouveaut 17 apiCaractreUnicode : l'API renvoie un caractre Unicode. apiChane : l'API renvoie une chane de caractres Ansi si le projet est en mode Ansi, une chane de caractres Unicode si le projet est en mode Unicode. le paramtre est toujours une chane de caractres Unicode.

apiChaneAnsi : l'API renvoie une chane de caractres Ansi. apiChaneUnicode : l'API renvoie une chane de caractres Unicode. apiEntier_4 : l'API renvoie un entier sur 4. apiEntier_8 : l'API renvoie un entier sur 8. apiEntierSystme : l'API renvoie un entier systme. apiRel_4 : l'API renvoie un rel sur 4. apiRel_8 : l'API renvoie un rel sur 8.

Remarque : Ces proprits peuvent tre utilises en utilisant une des deux syntaxes suivantes :

.. .

Remarques

Il est ncessaire de dclarer une variable de type Description d'API par fonction utilise. La DLL est charge une seule fois, et non pas pour chaque variable.

Fonctions utilisant les variables de type Description d'API Les fonctions suivantes peuvent tre utilises pour manipuler une description d'API :

44 1. La programmation procdurale

1. Les types de variables avances du WLangage

API AppelDLL32

Excute une fonction prsente dans une DLL externe. Excute une fonction prsente dans une DLL externe.

Le type Variant (Type de variable)En anglais : Variant

Exemples Notes Voir Aussi

Le type Variant permet de :

stocker n'importe quelle valeur de type simple : boolen, numrique (Montaire, rel sur 8 octets, Entier sign sur 4 octets), caractres et chane de caractres, date (Date, Heure, DateHeure et Dure). stocker des valeurs correspondant des types avancs (variables de type gglxxx, xlsxx, rssxxx). stocker des classes. stocker des interactions avec les objets ActiveX et la programmation Automation. manipuler la valeur NULL dans le WLangage. stocker n'importe quelle valeur de type complexe : structures, types avancs, tableaux, tableaux associatifs, files, piles et listes.

nValeur est un Variant = 10 nValeur = Saisie1 nValeur = Client.Nom

Masquer les dtails

Dclaration et affectation d'un type Variant est un variant = OU

45 1. La programmation procdurale

1. Les types de variables avances du WLangage

est un variant =

: Nom de la variable dclarer. : Valeur affecter la variable. Une variable de type variant peut tre affecte avec :

n'importe quelle valeur littrale le contenu d'une variable le contenu d'un champ de type simple le contenu d'une rubrique

Type Variant et NULLPour spcifier qu'une variable de type Variant ne contient pas de valeur, il suffit d'utiliser la constante NULL.

Remarque :

pour un type variant, NULL signifie "Pas affect" pour un type numrique, NULL signifie "gal 0".... // le test renvoie Vrai car nVal=0 ... // le test renvoie Faux car nVal=5 ... // renvoie Vrai car le variant n'est pas

nVal est un entier SI nVal = Null ALORS nVal = 5 SI nVal = Null ALORS vVal est un Variant SI vVal = Null ALORS affect vVal = 0 SI vVal = Null ALORS // avec un entier de vVal = 5 SI vVal = Null ALORS // avec un entier de

... // renvoie Faux car le variant est affect valeur 0 ... // renvoie Faux car le variant est affect valeur 5

Type d'un variantIl est possible de connatre le type d'un variant grce la proprit ..Type. La proprit ..Type permet de connatre le type de la valeur stocke dans la variable.

Remarques :

La fonction VariantConvertit permet de convertir le type de la valeur stocke dans une variable de type Variant. 46

1. La programmation procdurale

1. Les types de variables avances du WLangage

La fonction TypeVar permet de connatre le type d'une variable (type Variant pour une variable Variant)

vVal est un Variant TypeVar(vVal) // renvoie le numro du type variant vVal..Type // renvoie le type de la valeur stocke dans le variant

Proprit ..Classe sur les variantsLa proprit ..Classe sur les variables de type Variant permet d'obtenir le nom de la classe utilise si le variant correspond une classe.

Date (Type de variable)En anglais : Date (Type of variable)

Le type Date permet de manipuler simplement des dates. Ce type permet de grer de manire quasi automatique les conversions (fonctions ChaneVersDate, DateVersChane, EntierVersDate, DateVersEntier, ...)

Ce type peut tre utilis aussi bien :

pour rcuprer puis manipuler des rubriques HyperFileSQL au format Date pour rcuprer puis manipuler les champs de saisie de type Date dans les fonctions du WLangage permettant de grer les dates. pour raliser des calculs sur les dates (diffrence, addition, ...). Pour plus de dtails, consultez Oprations disponibles sur le type date.

Remarques :

Plusieurs proprits peuvent tre utilises avec le type Date, pour rcuprer par exemple qu'une partie de la date. Pour plus de dtails sur la dclaration de ce type de variable et l'utilisation des proprits WLangage, consultez Dclaration d'une variable.

DateDbut est une Date = 1205 DateFin est une Date = "20011231" // 31/12/2001 DateJour est une Date = DateSys()

47 1. La programmation procdurale

1. Les types de variables avances du WLangage

Dclaration et initialisationUne variable de type Date peut tre initialise avec une valeur de type :

Date DateHeure : seule la date sera prise en compte. Chane de caractres, au format AAAAMMJJ (AAAA : anne, MM : Mois, JJ : Jour) Entier : la date correspondra alors au nombre de jours couls entre le 1er janvier 1800 et la date spcifie.

Par dfaut, une variable de type date est initialise avec la date du jour (date systme). Pour rgler la valeur par dfaut affecte aux variables de type Date, Heure et DateHeure, utilisez la fonction DateHeureParDfaut.

Les proprits utilisables sur les datesAnne Jour Mois Renvoie ou modifie l'anne de la date spcifie (sous forme d'entier) Renvoie ou modifie le jour de la date spcifie (sous forme d'entier) Renvoie ou modifie le mois de la date spcifie (sous forme d'entier)

Pour plus de dtails sur les oprations possibles sur les dates (addition, soustraction, comparaison), consultez Oprations disponibles sur le type date.DateDbut est une Date = "20011201" // Ajoute 5 ans la date DateDbut..Anne += 5 // Modifie le mois DateDbut..Mois = 5 // Calcule la fin (30 jours aprs) DateFin = DateDbut DateFin..Mois++ DateFin..Jour--

Plage de datesLe type date permet de grer des dates comprises entre le 01/01/0001 et le 31/12/9999.

Remarque : Les calculs sur les dates raliss avec les fonctions WLangage ou les proprits WLangage sont fiables partir du 1er Janvier 1583.

48 1. La programmation procdurale

1. Les types de variables avances du WLangage

hDescriptionSauvegarde (Type de variable)En anglais : hBackupDescription (Type of variable)

Exemples Notes Voir Aussi

Le type hDescriptionSauvegarde permet de dcrire une sauvegarde HyperFileSQL Client/Serveur par programmation. Cette sauvegarde peut tre immdiate ou planifie. Les caractristiques de cette sauvegarde peuvent tre dfinies et modifies l'aide de diffrentes proprits WLangage.

Remarque : Pour plus de dtails sur la dclaration de ce type de variable et l'utilisation des proprits WLangage, consultez Dclaration d'une variable.

// Description d'une sauvegarde immdiate Sauvegarde_Doc est une hDescriptionSauvegarde Sauvegarde_Doc..Description = "Sauvegarde Doc" Sauvegarde_Doc..AvecIndex = Vrai Sauvegarde_Doc..Jauge = "JAU_MaJauge" Sauvegarde_Doc..Destination = "Doc/Sauvegarde" Sauvegarde_Doc..Source = "Doc/*" Sauvegarde_Doc..ProcdureAvant = "mabase:ColDoc.Vrif" Sauvegarde_Doc..ProcdureAprs = "mabase:ColDoc.VrifSauvegarde" Sauvegarde_Doc..LimiteNombreSauvegarde = 5 // Enregistrement de la sauvegarde HSauvegarde(MaConnexion, Sauvegarde_Doc)

49 1. La programmation procdurale

1. Les types de variables avances du WLangage// Cration d'une sauvegarde planifie toutes les 5 minutes // avec une sauvegarde diffrentielle toutes les minutes hSvg est une hDescriptionSauvegarde hSvg..Activ = Vrai hSvg..AvecIndex = Vrai hSvg..Description = "Sauvegarde planifie toutes les N minutes " + ... " avec une sauvegarde diffrentielle toutes les minutes sur la base "+ cnx..BaseDeDonnes + ... " cre le "+DateVersChane(DateSys())+" "+HeureVersChane(HeureSys(),"HH:MM:SS:CC") hSvg..Destination = "Sauvegarde_"+Cnx..BaseDeDonnes hSvg..LimiteNombreSauvegarde = 2 hSvg..Source = Cnx..BaseDeDonnes hSvg..PlanificationComplte..Mois = "*" hSvg..PlanificationComplte..JourDuMois = "*" // Dfinition de la planification dhDateHeureServeur est une DateHeure = HInfoServeur(cnx,hInfoDate) dhDateHeureServeur..Minute++ hSvg..PlanificationComplte..Heure = dhDateHeureServeur..Heure hSvg..PlanificationComplte..Minute = dhDateHeureServeur..Minute hSvg..PlanificationComplte..JourDeLaSemaine = "*" hSvg..PlanificationComplte..JourDuMoisOuDeLaSemaine = Faux hSvg..PlanificationDiffrentielle..Mois = "*" hSvg..PlanificationDiffrentielle..JourDuMois = "*" hSvg..PlanificationDiffrentielle..Heure = "*" hSvg..PlanificationDiffrentielle..Minute = "*" hSvg..PlanificationDiffrentielle..JourDeLaSemaine = "*" hSvg..PlanificationDiffrentielle..JourDuMoisOuDeLaSemaine = Faux // Ajout de la sauvegarde planifie SI HAjouteSauvegardePlanifie(cnx,hSvg)=Faux ALORS Erreur("Echec de la cration de la sauvegarde planifie", HErreurInfo(hErrComplet)) RETOUR FIN

Proprits WLangage utilisables avec le type hDescriptionSauvegardeLes proprits suivantes peuvent tre utilises pour manipuler une variable de type hDescriptionSauvegarde. Nom Type manipul Boolen Effet Vrai si la sauvegarde a t active, Faux dans le cas contraire. Vrai si la sauvegarde des index doit tre ralise, Faux dans le cas contraire.Cette proprit est optionnelle. Par dfaut, la sauvegarde des index est ralise. 50 1. La programmation procdurale

Activ

AvecIndex

Boolen

1. Les types de variables avances du WLangage

Description

Chane de caractres

Description associe la sauvegarde. Cette proprit est optionnelle. Par dfaut, la description de la sauvegarde correspond une chane vide (""). Destination de la sauvegarde (Nom et destination de la sauvegarde). La sauvegarde sera ralise sur le serveur, dans un emplacement dfini par ce nom. Si ce nom correspond un chemin relatif, la sauvegarde sera place dans le sous-rpertoire "Backup" du serveur HyperFileSQL. Pour spcifier :

Destination

Chane de caractres

le rpertoire du service Manta, il suffit d'utiliser la chane de caractres "%%EXE%%". l'anne, il suffit d'utiliser la chane de caractres "%%ANNEE%%" (par exemple 2008). le mois sur 2 chiffres, il suffit d'utiliser la chane de caractres "%%MOIS%%" (par exemple 03). le jour, il suffit d'utiliser la chane de caractres "%%JOUR%%". l'heure, il suffit d'utiliser la chane de caractres "%%HEURE%%". les minutes, il suffit d'utiliser la chane de caractres "%%MINUTE%%".

Identifiant

Entier

Identifiant de la sauvegarde. Cette proprit est disponible en lecture uniquement. Nom du champ Jauge utilis dans la fentre pour voir la progression de la phase d'initialisation de la sauvegarde (et non la progression de la sauvegarde). Proprit optionnelle disponible uniquement en WinDev. 51

Jauge

Nom d'un champ

1. La programmation procdurale

1. Les types de variables avances du WLangage

LimiteNombreSauvegarde Entier

Nombre maximum de sauvegardes du mme type raliser. Si ce chiffre correspond 0, il n'y a pas de limite. Si le nombre de sauvegardes dpasse la valeur limite, certaines sauvegardes anciennes seront retires du serveur. Pour plus de dtails, consultez le paragraphe "Fonctionnement de la limite du nombre de sauvegardes".

PlanificationComplte

Variable de Caractristiques d'une sauvegarde type complte. Cette proprit est hPlanification obligatoire.

Caractristiques d'une sauvegarde diffrentielle. Il est possible de dfinir Variable de la fois une sauvegarde complte et une sauvegarde diffrentielle. Il n'est pas PlanificationDiffrentielle type hPlanification possible de raliser uniquement une sauvegarde diffrentielle. Cette proprit est optionnelle. Nom de la procdure stocke utilise aprs l'excution de la sauvegarde. Le nom de la procdure est de la forme : :.. ProcdureAprs Chane de caractres Cette proprit est optionnelle. Si cette proprit n'est pas dfinie, aucune procdure n'est excute. Pour plus de dtails, consultez le paragraphe "Paramtres de la procdure stocke appele APRES la sauvegarde". Nom de la procdure stocke utilise avant l'excution de la sauvegarde. Le nom de la procdure est de la forme : :..

ProcdureAvant

Chane de caractres

52 1. La programmation procdurale

1. Les types de variables avances du WLangage

Cette proprit est optionnelle. Si cette proprit n'est pas dfinie, aucune procdure n'est excute. Pour plus de dtails, consultez le paragraphe "Paramtres de la procdure stocke appele AVANT la sauvegarde". Filtre utilis pour dfinir les donnes sauvegarder. Les valeurs possibles sont :

Source (*)

Chane de caractres

* : Sauvegarde toutes les bases du serveur, les journaux, les bases systmes (utilisateurs, groupes, droits). Nom de la Base/* : Sauvegarde toute la base : fichiers, liaisons, procdures stockes, triggers. Nom de la base/Nom Fichier1 : Sauvegarde le fichier de la base . Nom de la base 1/Nom Fichier1 + TAB + Nom de la base 2/Nom Fichier2 + ... : Liste d'lments sauvegarder. Le sparateur utilis peut tre la tabulation (TAB) ou le point virgule (";"). System : Sauvegarde les bases systmes (utilisateurs, groupes, droits).

Cette proprit est obligatoire. Chane de caractres Utilisateur qui a cr la sauvegarde. Cette proprit est disponible en lecture uniquement.

Utilisateur

Remarque : Ces proprits peuvent tre utilises en utilisant une des deux syntaxes suivantes :

.. .

Les proprits suivies du caractre (*) sont obligatoires.

Fonctionnement de la limite du nombre de sauvegardes (proprit53 1. La programmation procdurale

1. Les types de variables avances du WLangage

..LimiteNombreSauvegarde)Lorsque la limite du nombre de sauvegardes est active (..LimiteNombreSauvegarde diffrent de 0) :

1. Avant la sauvegarde : Recherche des anciennes sauvegardes similaires (mme source et mme destination). Si ces sauvegardes sont en erreur, les fichiers de la sauvegarde seront effacs du disque (mais la sauvegarde restera prsente dans l'historique des sauvegardes). 2. Excution de la "Procdure Avant". 3. Sauvegarde. 4. Excution de la "Procdure Aprs". 5. Si le nombre de sauvegardes similaires (mme source et mme destination) effectues avec succs est suprieur la valeur de la limite alors le serveur va supprimer certaines de ces sauvegardes et les retirer de l'historique. Cette suppression se fait en commenant par la sauvegarde la plus ancienne jusqu' ce que le nombre de sauvegardes soit gal la valeur demande. Remarque : Il est possible d'utiliser cette proprit pour mettre en place un systme de sauvegarde spcifique. Par exemple :

Une sauvegarde tous les jours, avec conservation des 7 dernires. Une sauvegarde toutes les semaines avec conservation des 4 dernires. Une sauvegarde tous les mois avec conservation des 6 dernires.

Paramtres de la procdure stocke appele AVANT la sauvegardeLa procdure stocke appele AVANT la sauvegarde peut prendre des paramtres. Cette procdure est de la forme :PROCEDURE (, , )

Ces paramtres sont optionnels. Ils vous permettront de manipuler les indications suivantes dans le code de la procdure stocke : : Chane de caractres correspondant aux informations sauvegarder. Correspond la proprit ..Source. Les valeurs possibles sont les suivantes :Sauvegarde toutes les bases du serveur, les journaux, les bases systmes (utilisateurs, groupes, droits). 54 1. La programmation procdurale

*

1. Les types de variables avances du WLangage

Nom de la Base/* Nom de la base/Nom Fichier1 Nom de la base 1/Nom Fichier1 + TAB + Nom de la base 2/Nom Fichier2 + ... System

Sauvegarde toute la base : fichiers, liaisons, procdures stockes, triggers. Sauvegarde le fichier de la base . Liste d'lments sauvegarder. Le sparateur utilis peut tre la tabulation (TAB) ou le point virgule (";"). Sauvegarde les bases systmes (utilisateurs, groupes, droits).

: Nom et destination de la sauvegarde. Correspond la proprit ..Destination. La sauvegarde sera ralise sur le serveur, dans un emplacement dfini par ce nom. Si ce nom correspond un chemin relatif, la sauvegarde sera place dans le sous-rpertoire "Backup" du serveur HyperFileSQL. Pour spcifier :

le rpertoire du service Manta, il suffit d'utiliser la chane de caractres "%%EXE%%". l'anne, il suffit d'utiliser la chane de caractres "%%ANNEE%%" (par exemple 2008). le mois sur 2 chiffres, il suffit d'utiliser la chane de caractres "%%MOIS%%" (par exemple 03). le jour, il suffit d'utiliser la chane de caractres "%%JOUR%%". l'heure, il suffit d'utiliser la chane de caractres "%%HEURE%%". les minutes, il suffit d'utiliser la chane de caractres "%%MINUTE%%".

: Description de la sauvegarde. Correspond la proprit Description.

Paramtres de la procdure stocke appele APRES la sauvegardeLa procdure stocke appele APRES la sauvegarde peut prendre des paramtres. Cette procdure est de la forme :PROCEDURE (, , , , : Message d'erreur s'il existe sous forme de chane de caractres. Fonctions utilisant les variables de type hDescriptionSauvegarde :Ajoute une planification de sauvegarde complte HAjouteSauvegardePlanifie (avec ou sans sauvegarde diffrentielle) sur le serveur dfini par la connexion. Liste les sauvegardes compltes et diffrentielles qui ont t planifies sur un serveur HyperFileSQL Client/Serveur.

HListeSauvegardePlanifie

HModifieSauvegardePlanifie Modifie une planification de sauvegarde. Ralise la sauvegarde du contenu d'un serveur HyperFileSQL : toutes les bases du serveur, plusieurs ou une seule base de donns, un ou plusieurs fichiers de donnes.

HSauvegarde

hOptimisationPlanifie (Type de variable)En anglais : hScheduledOptimization

Le type hOptimisationPlanifie permet de grer une tche d'optimisation planifie sur un serveur HyperFileSQL par programmation. Une tche d'optimisation planifie permet d'effectuer de faon priodique un calcul des statistiques ou une rindexation des fichiers de donnes du serveur HyperFileSQL.

Les caractristiques de cette tche d'optimisation planifie peuvent tre dfinies et modifies l'aide de diffrentes proprits WLangage. Remarque : Pour plus de dtails sur la dclaration de ce type de variable et l'utilisation des proprits WLangage, consultez "Dclaration d'une variable".

// Recalculer les statistiques des fichiers de la base "MaBase", tous les samedis 23H00 Optim est une hOptimisationPlanifie Optim..Description = "Recalcul des statistiques des fichiers de la base de donnes MaBase" Optim..Planification..Mois = "*" Optim..Planification..JourDeLaSemaine = "samedi"

57 1. La programmation procdurale

1. Les types de variables avances du WLangageOptim..Planification..Heure = "23" Optim..Planification..Minute = "0" Optim..Planification..Fichier[0]..Nom = "MaBase" Optim..Planification..Fichier[0]..Option = hOptStat HAjouteOptimisationPlanifie(MaConnexion, Optim)

Proprits spcifiques la description des variables de type hOptimisationPlanifieLes proprits suivantes peuvent tre utilises pour manipuler une variable de type hOptimisationPlanifie : Nom de la proprit Actif Type manipul Boolen Effet Vrai si la planification de l'optimisation est active, Faux dans le cas contraire. Texte dcrivant la planification de l'optimisation. Par dfaut, la description de la planification de l'optimisation correspond une chane vide.

Description

Chane de caractres

Fichier

Tableau de Description des fichiers prendre en variables de type compte lors de l'optimisation. hParamtreFichier Entier Identifiant de la tche d'optimisation. Cette proprit est disponible en lecture uniquement. Nombre de fois o la tche de planification d'optimisation doit tre excute. Cette proprit peut galement correspondre la constante Infini. Caractristiques de la planification.

Identifiant

NombreExcution Entier

Planification

Variable de type hPlanification Chane de caractres

Utilisateur

Utilisateur ayant cr la tche de planification d'optimisation. Cette proprit est en lecture uniquement.

58 1. La programmation procdurale

1. Les types de variables avances du WLangage

Remarque : Ces proprits peuvent tre utilises en utilisant une des deux syntaxes suivantes :

.. .

Fonctions manipulant le type hOptimisationPlanifieLes fonctions suivantes peuvent tre utilises pour manipuler une variable de type hOptimisationPlanifie : HAjouteOptimisationPlanifie Ajoute une tche d'optimisation des fichiers de donnes HyperFileSQL Client/Serveur. Liste les tches d'optimisation planifies des fichiers de donnes HyperFileSQL Client/Serveur pour une connexion. Modifie une tche d'optimisation planifie sur le serveur HyperFileSQL dfini par la connexion.

HListeOptimisationPlanifie

HModifieOptimisationPlanifie

hParamtreFichier (Type de variable)En anglais : hFileParameter

Le type hParamtreFichier permet de dfinir les fichiers de donnes pris en compte par une tche d'optimisation planifie. Les caractristiques de ces fichiers de donnes peuvent tre dfinies et modifies l'aide de diffrentes proprits WLangage.

Ce type de variable est utilis par le type hOptimisationPlanifie.Remarque : Pour plus de dtails sur la dclaration de ce type de variable et l'utilisation des proprits WLangage, consultez Dclaration d'une variable.

// Recalculer les statistiques des fichier de la base "MaBase", // tous les samedis 23H00 Optim est une hOptimisationPlanifie Optim..Description = "Recalcul des statistiques des fichiers de la base de donnes MaBase"

59 1. La programmation procdurale

1. Les types de variables avances du WLangage

Optim..Planification..Mois = "*" Optim..Planification..JourDeLaSemaine = "samedi" Optim..Planification..Heure = "23" Optim..Planification..Minute = "0" Optim..Planification..Fichier[0]..Nom = "MaBase" Optim..Planification..Fichier[0]..Option = hOptStat HAjouteOptimisationPlanifie(MaConnexion, Optim)

Proprits spcifiques la description des variables de type hParamtreFichierLes proprits suivantes peuvent tre utilises pour manipuler une variable de type hParamtreFichier : Nom de la proprit MotDePasse Type manipul

Effet

Chane de Mot de passe des fichiers de donnes crypts. caractres

Cette proprit est disponible en lecture uniquement.Nom Chane de Nom du fichier traiter. Ce nom peut caractres correspondre une chane de type :

/ : Optimisation du fichier "Nom du fichier" dans la base "Nom de la base". : Optimisation tous les fichiers de donnes contenus la base "Nom de la base". "*" : Optimisation de tous les fichiers de donnes de la base de donnes.

Option

Constante Option d'optimisation : de type hOptIndex : Provoque la rindexation des Entier fichiers de donnes. Cette rindexation est effectue chaud sur les index et les index full-text. hOptStat : Provoque le recalcul des statistiques sur les fichiers de donnes. Le rsultat est similaire l'utilisation de la 60

1. La programmation procdurale

1. Les types de variables avances du WLangage

fonction HStatCalcule. Ce traitement est effectu chaud.

Remarque : Ces proprits peuvent tre utilises en utilisant une des deux syntaxes suivantes :

.. .

hPlanification (Type de variable)En anglais : hScheduling

Le type hPlanification permet de dfinir et de connatre les caractristiques de la planification effectuer :

pour une tche d'optimisation de fichiers HyperFileSQL Client/Serveur planifie. pour une tche de sauvegarde de fichiers HyperFileSQL Client/Serveur planifie.

Les caractristiques de cette planification peuvent tre dfinies et modifies l'aide de diffrentes proprits WLangage.

Ce type de variable est utilis :

par le type hOptimisationPlanifie. par le type hDescriptionSauvegarde.

Remarque : Pour plus de dtails sur la dclaration de ce type de variable et l'utilisation des proprits WLangage, consultez Dclaration d'une variable. 61 1. La programmation procdurale

1. Les types de variables avances du WLangage

// Recalculer les statistiques des fichiers de la base "MaBase", // tous les samedis 23H00 Optim est une hOptimisationPlanifie Optim..Description = "Recalcul des statistiques des fichiers de la base de donnes MaBase" // Dfinition de la planification MaPlanification est une hPlanification MaPlanification..Mois = "*" MaPlanification..JourDeLaSemaine = "samedi" MaPlanification..Heure = "23" MaPlanification..Minute = "0" Optim..Planification = MaPlanification // Dfinition des fichiers traiter Optim..Fichier[0]..Nom = "MaBase" Optim..Fichier[0]..Option = hOptStat // Ajout de l'optimisation planifie HAjouteOptimisationPlanifie(MaConnexion, Optim)

Proprits spcifiques la description des variables de type hPlanificationLes proprits suivantes peuvent tre utilises pour manipuler une planification : Type manipul Chane de caractres

Nom de la proprit Heure

Effet Heure d'excution de la tche planifie au format UTC (temps universel). Les valeurs possibles sont :

un chiffre compris entre 0 et 23 une liste de nombres spars par des virgules : permet de spcifier plusieurs heures. un intervalle. Par exemple "913". une toile "*" pour indiquer toute la plage. un intervalle avec un pas, par exemple "*/2" pour lancer la tche toutes les heures paires. 62

1. La programmation procdurale

1. Les types de variables avances du WLangage

JourDeLaSemaine

Chane de caractres

Numro du jour de la semaine pour lequel la tche planifie doit tre excute (par exemple "2"). Ce nombre est compris entre 1 et 7 (1 = Lundi, 2 = Mardi, ...). Cette proprit peut galement correspondre :

une liste de nombres spars par des virgules : permet de spcifier plusieurs jours. un intervalle. Par exemple "13" (la tche est planifie pour Lundi, Mardi et Mercredi). une toile "*" pour indiquer toute la plage. un intervalle avec un pas, par exemple "*/2" pour lancer la tche tous les jours de la semaine pairs. le jour de la semaine en toutes lettres ("lundi", "mardi", "mercredi", "jeudi", "vendredi").

JourDuMois

Chane de caractres

Numro du jour du mois pour lequel la tche planifie doit tre excute (par exemple "31"). Ce nombre est compris entre 0 et 31.

Cette proprit peut galement correspondre :

une liste de nombres spars par des virgules : permet de spcifier plusieurs mois. un intervalle. Par exemple "913" (la tche est planifie du 9 au 13 du mois). une toile "*" pour indiquer toute la plage. un intervalle avec un pas, par exemple "*/2" pour lancer la tche tous les jours impairs du mois.

63 1. La programmation procdurale

1. Les types de variables avances du WLangage

JourDuMoisOuDeLaSemaine Boolen

Permet de grer l'excution d'une tche planifie sur le serveur HyperFileSQL Client/Serveur en prcisant le numro de jour de la semaine ou le numro de jour du mois. Exemple : excution tous les lundis 1er jour du mois. Cette proprit peut correspondre :

Vrai pour excuter la tche planifie tous les lundis ET le premier jour du mois (conditions cumules). Faux pour excuter la tche uniquement les lundis 1er (conditions exclusives).

Minute

Chane de caractres

Minutes de l'heure d'excution de la tche planifie. Les valeurs possibles sont :

un chiffre compris entre 0 et 59 une liste de nombres spars par des virgules : permet de spcifier plusieurs minutes. un intervalle. Par exemple "913". une toile "*" pour indiquer toute la plage. un intervalle avec un pas, par exemple "*/2" pour lancer la tche toutes les minutes paires.

Mois

Chane de caractres

Numro du mois d'excution de la tche planifie. Les valeurs possibles sont :

un chiffre compris entre 1 et 12 une liste de nombres spars par des virgules : permet de spcifier plusieurs mois. un intervalle. Par exemple, "911". une toile "*" pour indiquer 64

1. La programmation procdurale

1. Les types de variables avances du WLangage

toute la plage. un intervalle avec un pas, par exemple "*/2" pour lancer la tche tous les mois impairs.

Remarque : Ces proprits peuvent tre utilises en utilisant une des deux syntaxes suivantes :

.. .

hTchePlanifie (Type de variable)En anglais : hScheduledTask (Type of variable)

Le type hTchePlanifie permet de grer une tche planifie HyperFileSQL Client/Serveur par programmation. Les caractristiques de cette tche planifi