PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEV, WEBDEV ET WINDEV MOBILE

  • Réinitialisation des positions
  • Divers
  • Principe de repositionnement pour les Accès Natifs
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Autres
Procédures stockées
HRetourPosition (Fonction)
En anglais : HRestorePosition
ODBCNon disponible avec ce type de connexion
Restaure le contexte précédemment sauvegardé d'un fichier de données (fonction HSauvePosition) : enregistrement en cours, filtre, pointeurs de lecture.
La fonction HRetourPosition permet de restaurer :
  • le numéro de l'enregistrement manipulé,
  • les différents pointeurs dans l'index (sauvegarde pour chaque clé de la position dans l'index),
  • le filtre en cours (uniquement si la constante correspondante hRPFiltre est spécifiée).
Cette fonction peut être utilisée indifféremment avec les fichiers de données, les vues HFSQL ou les requêtes.
Versions 15 et supérieures
WINDEV MobileAndroid Cette fonction est désormais disponible pour les applications Android.
Nouveauté 15
WINDEV MobileAndroid Cette fonction est désormais disponible pour les applications Android.
WINDEV MobileAndroid Cette fonction est désormais disponible pour les applications Android.
Versions 17 et supérieures
WINDEV MobileiPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
Nouveauté 17
WINDEV MobileiPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
WINDEV MobileiPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
Versions 18 et supérieures
WINDEV MobileWidget Android Cette fonction est désormais disponible en mode Widget Android.
WINDEVWINDEV MobileUniversal Windows 10 App Cette fonction est désormais disponible en mode Windows Store apps.
Nouveauté 18
WINDEV MobileWidget Android Cette fonction est désormais disponible en mode Widget Android.
WINDEVWINDEV MobileUniversal Windows 10 App Cette fonction est désormais disponible en mode Windows Store apps.
WINDEV MobileWidget Android Cette fonction est désormais disponible en mode Widget Android.
WINDEVWINDEV MobileUniversal 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
WINDEVWINDEV MobileUniversal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
Nouveauté 21
WINDEVWINDEV MobileUniversal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
WINDEVWINDEV MobileUniversal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
Exemple
// Recherche d'un enregistrement
HLitRecherchePremier(CLIENT, NOM, Nom)
TANTQUE HTrouve(CLIENT) = Vrai
        // Sauve le contexte en cours
        nPos = HSauvePosition(CLIENT, NOM)
       // Vérification d'un client d'un autre nom
        HLitRecherche(CLIENT, NOM, Nom2)
        SI HTrouve() = Vrai ALORS Compteur = Compteur + 1
        // Restaure le contexte
        HRetourPosition(nPos)
        HLitSuivant(CLIENT, NOM)
FIN
Syntaxe
<Résultat> = HRetourPosition(<Position> [, <Option>])
<Résultat> : Booléen
  • Vrai si la restauration de la position indiquée a été effectuée,
  • Faux dans le cas contraire. La fonction HErreur permet d'obtenir plus d'informations sur le problème rencontré.
<Position> : Entier
Position à restaurer. Valeur retournée par la fonction HSauvePosition.
<Option> : Constante ou combinaison de constante optionnelle
Permet de paramétrer la restauration :
hRPConserveLa position n'est pas libérée (d'autres appels à la fonction HRetourPosition pourront être réalisés sur cette position).
hRPDéfaut
(valeur par défaut)
La position est libérée. La position sauvegardée est restaurée.
hRPFiltreRestaure le filtre posé au moment de l'appel à la fonction HSauvePosition.
hRPHF5Si la position sauvegardée a été supprimée ou modifiée, cette position est tout de même restaurée.
Si la constante hRPHF5 n'est pas précisée et que la sauvegarde a été réalisée sur plusieurs rubriques, le repositionnement est fait sur le numéro d'enregistrement en cours au moment de l'appel à la fonction HSauvePosition.
PHP Cette constante n'est pas supportée.

Java Accès par JDBC : Cette constante n'est pas supportée.
Hyper File 5.5 Ce paramètre n'est pas pris en compte : la position sera sauvegardée pour toutes les rubriques sur lesquelles un parcours est en cours.
Remarques

Réinitialisation des positions

Attention : toutes les fonctions entraînant l'ouverture ou la fermeture d'un fichier de données réinitialisent les numéros de contexte (par exemple HCréation, HFerme, ...).
Si l'enregistrement sauvegardé par la fonction HSauvePosition a été supprimé, la fonction HRetourPosition conservera le contexte en cours mais se positionnera sur l'enregistrement suivant l'enregistrement supprimé.
OLE DB Lors de la réinitialisation d'un parcours, les positions sauvegardées sur ce parcours sont détruites. Le moteur HFSQL utilise alors la valeur de la meilleure rubrique pour tenter un repositionnement. La meilleure rubrique est sélectionnée dans l'ordre de préférence suivant :
  1. Identifiant automatique
  2. Clé unique
  3. Première clé
  4. Première rubrique
Les fonctions suivantes réinitialisent le parcours :

Divers

  • Le nombre d'appels à la fonction HSauvePosition n'est pas limité.
  • Il est possible d'imbriquer les fonctions HSauvePosition et HRetourPosition pour un même fichier.
WINDEVWEBDEV - Code ServeurAccès Natifs

Principe de repositionnement pour les Accès Natifs

L'enregistrement est restauré à partir du cache interne de l'Accès Natif.
Attention : lors de la restauration, aucune vérification n'est effectuée sur l'existence de l'enregistrement dans la base (l'enregistrement peut avoir été supprimé).
Il est possible de "forcer" la lecture sur la base en utilisant la fonction HLit après la fonction HRetourPosition. Dans ce cas :
  • les valeurs de l'enregistrement seront relues dans la base de données.
  • si l'enregistrement a été supprimé, l'Accès Natif renverra l'erreur 13 : L'enregistrement courant n'a pas pu être trouvé. Il a été modifié ou supprimé de la source de données.
Cas particuliers : Accès Natif MySQL, DB2 et Informix : Après l'utilisation de la fonction HRetourPosition, les fonctions HLitSuivant et HLitPrécédent génèrent une requête pour trouver l'enregistrement suivant ou précédant l'enregistrement restauré.
Composantes
WINDEVWEBDEV - Code ServeurEtats et Requêtes wd220hf.dll
Windows Mobile wp220hf.dll
Java wd220java.jar
Linux wd220hf.so
Android wd220android.jar
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire