PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE


  • Lecture selon une clé
  • Vérification du mot de passe
  • Divers
  • Comparaison HLitDernier et HDernier
  • Blocages
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget iOSApple WatchCatalystUniversal Windows 10 AppWindows Mobile
Autres
Procédures stockées
Positionne sur le dernier enregistrement d'un fichier de données selon une rubrique de parcours. L'enregistrement n'est pas lu.
Le numéro de l'enregistrement en cours est modifié uniquement lorsqu'il est renvoyé par la fonction HNumEnr. Pour les fonctions manipulant par défaut le numéro de l'enregistrement en cours (fonctions HSupprime, HLit, HModifie, ...), la valeur de ce numéro n'est pas mise à jour : il faut utiliser la fonction HNumEnr(). Par exemple : ne pas faire :
HSupprime(Client)
mais
HSupprime(Client, HNumEnr())
La lecture se fait de la plus petite à la plus grande valeur de la rubrique de parcours (consultez les notes pour plus de détails).
Attention : L'enregistrement chargé en mémoire n'est pas modifié. Les variables HFSQL (par exemple Client.Nom, c'est-à-dire la rubrique Nom du fichier Client) ne sont pas mises à jour.
En général, la fonction HDernier permet de se positionner dans le fichier de données pour effectuer une boucle de parcours parmi les enregistrements correspondant à une condition. La fonction HSuivant permet de se positionner sur l'enregistrement suivant correspondant à la condition.
Après l'exécution de la fonction HDernier, plusieurs cas peuvent se présenter :
  • un enregistrement correspondant à la condition a été trouvé : la fonction HTrouve renvoie Vrai
  • le fichier de données est vide ou il n'existe pas d'enregistrement correspondant à la condition : la fonction HEnDehors renvoie Vrai
Remarques :
  • Par défaut, les fonctions HRecherchePremier et HRechercheDernier permettent de réaliser une recherche à l'identique.
  • Par défaut, la fonction HDernier effectue une recherche générique.
Versions 15 et supérieures
Android Cette fonction est désormais disponible pour les applications Android.
Nouveauté 15
Android Cette fonction est désormais disponible pour les applications Android.
Android Cette fonction est désormais disponible pour les applications Android.
Versions 17 et supérieures
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
Nouveauté 17
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
Versions 18 et supérieures
Widget Android Cette fonction est désormais disponible en mode Widget Android.
Universal Windows 10 App Cette fonction est désormais disponible en mode Windows Store apps.
Nouveauté 18
Widget Android Cette fonction est désormais disponible en mode Widget Android.
Universal Windows 10 App Cette fonction est désormais disponible en mode Windows Store apps.
Widget Android Cette fonction est désormais disponible en mode Widget Android.
Universal Windows 10 App Cette fonction est désormais disponible en mode Windows Store apps.
Remarque : A partir de la version 19, HFSQL est le nouveau nom de HyperFileSQL.
Versions 21 et supérieures
Universal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
Nouveauté 21
Universal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
Universal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.

La lecture est réalisée pour la plus grande valeur de la rubrique de parcours (consultez les remarques pour plus de détails).
Attention : L'enregistrement chargé en mémoire n'est pas modifié. Les variables HFSQL (par exemple Client.Nom, c'est-à-dire la rubrique Nom du fichier de données Client) ne sont pas mises à jour.
En général, la fonction HDernier permet de se positionner dans le fichier de données pour effectuer une boucle de lecture avec la fonction HPrécédent.
Après l'exécution de la fonction HDernier, plusieurs cas peuvent se présenter :
  • le fichier de données est vide ou il n'existe pas d'enregistrement correspondant au filtre (défini par HFiltre) : la fonction HEnDehors renvoie Vrai.
  • la fonction tente de bloquer un enregistrement déjà bloqué en lecture : la fonction HErreurBlocage renvoie Vrai et la fonction HEnDehors renvoie Vrai.
    Windows Mobile La gestion des blocages est réalisée uniquement sur les fichiers de données HFSQL Client/Serveur ou manipulés par un Accès Natif. Il n'est pas possible de bloquer un enregistrement HFSQL Mobile. En effet, le système d'exploitation du Pocket PC ne permet pas de bloquer des enregistrements.
    Java Accès par JDBC : La gestion des blocages n'est pas disponible sur les bases de données accédées par JDBC.
    Android La gestion des blocages n'est pas disponible sur les bases de données SQLite.
Versions 15 et supérieures
Android Cette fonction est désormais disponible pour les applications Android.
Nouveauté 15
Android Cette fonction est désormais disponible pour les applications Android.
Android Cette fonction est désormais disponible pour les applications Android.
Versions 17 et supérieures
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
Nouveauté 17
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
Versions 18 et supérieures
Widget Android Cette fonction est désormais disponible en mode Widget Android.
Universal Windows 10 App Cette fonction est désormais disponible en mode Windows Store apps.
Nouveauté 18
Widget Android Cette fonction est désormais disponible en mode Widget Android.
Universal Windows 10 App Cette fonction est désormais disponible en mode Windows Store apps.
Widget Android Cette fonction est désormais disponible en mode Widget Android.
Universal Windows 10 App Cette fonction est désormais disponible en mode Windows Store apps.
Versions 21 et supérieures
Universal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
Nouveauté 21
Universal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
Universal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
Remarque : A partir de la version 19, HFSQL est le nouveau nom de HyperFileSQL.
Exemple
// Parcours d'un fichier de données depuis le dernier enregistrement
HDernier(Client, Nom)
TANTQUE PAS HEnDehors()
// Traitement de l'enregistrement
HPrécédent(Client, Nom)
FIN
Syntaxe
<Résultat> = HDernier([<Fichier de données>] [, <Rubrique clé de parcours> [, <Options>]])
<Résultat> : Booléen
  • Vrai si le positionnement sur l'enregistrement a été effectué,
  • Faux en cas d'erreur. Ce problème peut être dû :
    • soit à un problème de positionnement (fichier de données vide, ...) : la fonction HTrouve renvoie Faux et la fonction HErreur renvoie 0.
    • soit à une erreur : la fonction HErreur renvoie un entier différent de 0. La fonction HErreurInfo permet d'obtenir plus de détails.
<Fichier de données> : Chaîne de caractères optionnelle (avec ou sans guillemets)
Nom du fichier de données manipulé. Si ce paramètre correspond à une chaîne vide (""), la fonction HDernier manipule le dernier fichier de données utilisé par la dernière fonction de gestion HFSQL (fonction commençant par la lettre H).
<Rubrique clé de parcours> : Chaîne de caractères optionnelle (avec ou sans guillemets)
Nom de la rubrique clé utilisée pour parcourir le fichier de données. Si ce nom n'est pas spécifié, la fonction HDernier va manipuler la dernière rubrique de parcours utilisée sur ce fichier de données par la dernière fonction de gestion HFSQL (fonction commençant par la lettre H). Si cette rubrique n'existe pas, la meilleure rubrique de parcours est automatiquement utilisée.
<Options> : Constante optionnelle
Paramètre le blocage réalisé sur l'enregistrement sélectionné par la fonction HDernier :
hBlocageEcritureBlocage en écriture : l'enregistrement sélectionné pourra être lu par une autre application mais ne pourra pas être modifié par une autre application.
Java Accès par JDBC : Cette constante n'est pas disponible.
hRespecteFiltreLe parcours prendra en compte le filtre mis en place avec la fonction HFiltre, même si la clé de parcours utilisée n'est pas optimisée pour le filtre. Rappel : la fonction HFiltre renvoie la clé de parcours optimisée pour le filtre.
Attention : dans ce cas, sur des fichiers de données de taille importante, des problèmes de performances peuvent survenir.
Hyper File 5.5 Cette constante ne peut pas être utilisée.
hBlocageLectureEcritureBlocage en lecture/écriture : l'enregistrement sélectionné ne pourra ni être lu ni être modifié par une autre application.
hBlocageNonAucun blocage (même si la fonction HDébutVerrou a été appelée) : l'enregistrement pourra être lu ou modifié par une autre application.
hSansRafraîchir
OLE DBConnecteurs Natifs (Accès Natifs) Le contenu de la table ou de la requête ne sera pas rafraîchi. Toutes les positions sauvegardées sont conservées.
Si ce paramètre n'est pas précisé, la fonction HDernier réinitialise le parcours pour la rubrique spécifiée : le contenu de la table ou de la requête est rafraîchi avec les données de la base de données OLE DB. Toutes les positions sauvegardées sont perdues. La restauration de la position sera effectuée à partir de la valeur de la meilleure rubrique.
Remarque : Les parcours et les positions sauvegardées sur les autres rubriques ne sont jamais affectés.

Windows Mobile La gestion des blocages est réalisée uniquement sur les fichiers de données HFSQL Client/Serveur ou manipulés par un Connecteur Natif (également appelé Accès Natif). Il n'est pas possible de bloquer un enregistrement HFSQL Mobile. En effet, le système d'exploitation du Pocket PC ne permet pas de bloquer des enregistrements.
OLE DBConnecteurs Natifs (Accès Natifs) Si le provider OLE DB ou le Connecteur Natif utilisé ne gère pas les blocages, les options de blocage seront sans effet.
Hyper File 5.5 Les options de blocage ne sont pas prises en compte. Utilisez des fonctions de blocage (fonction HBloqueNumEnr) conservées par compatibilité.
Java Accès par JDBC : La gestion des blocages n'est pas disponible sur les bases de données accédées par JDBC.
AndroidWidget Android La gestion des blocages n'est pas disponible sur les bases de données SQLite.
Remarques

Lecture selon une clé

La fonction HDernier positionne sur l'enregistrement pour lequel la valeur de la clé est la plus grande.
L'ordre de tri pris en compte est l'ordre de tri spécifié dans l'analyse pour cette clé.
En cas de doublons, la fonction HDernier positionne sur le dernier enregistrement "doublon" selon l'ordre des numéros d'enregistrement.
WINDEVWEBDEV - Code ServeurEtats et RequêtesiPhone/iPadUniversal Windows 10 AppWindows MobileJavaAjaxCode Utilisateur (MCU)HFSQLHFSQL Client/ServeurHyper File 5.5

Vérification du mot de passe

Si la fonction HDernier est la première fonction manipulant le fichier de données spécifié, la vérification du mot de passe est effectuée lors de l'ouverture du fichier de données.
Si le mot de passe est incorrect, la fonction HErreurMotDePasse renvoie Vrai et la fonction HEnDehors renvoie Vrai.

Divers

  • Le numéro de l'enregistrement en cours est connu avec la fonction HNumEnr.
  • La fonction HChangeClé permet de modifier la clé de parcours, tout en restant positionné sur l'enregistrement en cours.

Comparaison HLitDernier et HDernier

La fonction HDernier ne lit pas l'enregistrement : la fonction HDernier est donc plus rapide que la fonction HLitDernier.
WINDEVWEBDEV - Code ServeurEtats et RequêtesiPhone/iPadJavaAjaxCode Utilisateur (MCU)HFSQLHFSQL Client/ServeurHyper File 5.5OLE DBConnecteurs Natifs (Accès Natifs)

Blocages

Par défaut (paramètre <Options> non spécifié), aucun blocage de l'enregistrement n'est réalisé.
Si un blocage est demandé (constantes hBlocageEcriture ou hBlocageLectureEcriture), le positionnement sur l'enregistrement sera réalisé uniquement si cet enregistrement n'est pas déjà bloqué.
Si le fichier de données est verrouillé par la fonction HDébutVerrou, il est inutile de spécifier un paramètre de blocage : le blocage spécifié avec la fonction HDébutVerrou est automatiquement pris en compte. Pour ne pas prendre en compte le blocage spécifié avec la fonction HDébutVerrou, utilisez la constante hBlocageNon.
Composante : wd250hf.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire