Partager cette page

# Exemple : stockage des dernières valeurs saisies

Cet exemple montre comment utiliser l’objet TDConnection pour mettre en œuvre des données persistantes entre les actions. La durée de vie d’une variable dans une routine est uniquement celle de l’exécution de la routine. Par conséquent, les données persistantes doivent être stockées si elles doivent être disponibles ultérieurement. Il est recommandé d’utiliser l’API ALM pour stocker des données persistantes chaque fois que cela est possible, plutôt que d’utiliser des objets externes, des fichiers ou le registre.

Dans cet exemple, une fonction définie par l’utilisateur, `SW_KeepLastValue`, utilise l’objet Paramètres pour enregistrer les valeurs saisies dans les champs BG_DETECTION_VERSION``, BG_USER_01`` et BG_USER_03 lorsqu'un utilisateur enregistre une anomalie. Ces valeurs sont récupérées et attribuées comme valeurs par défaut lorsque cet utilisateur ajoute une nouvelle anomalie.

La fonction définie par l’utilisateur est appelée avec l’action `SET` de `Bug_CanPost`, avant qu'une nouvelle anomalie ne soit postée par l’utilisateur. Les valeurs des champs sont stockées.

    Function Bug_CanPost()
            ' Initialize the function's return value to
    	 ' avoid unpredictable behavior.
            Bug_CanPost = True
            If Bug_Fields("BG_BUG_ID").Value = "" Then
                SW_KeepLastValue ("SET")
            End If
    End Function

La fonction est appelée avec l’action `GET` de la procédure de l’événement `Bug_New`. Lorsqu'un utilisateur ajoute une nouvelle anomalie, les valeurs enregistrées dans les champs pour cet utilisateur sont saisies dans ces champs.

    Sub Bug_New()
            SW_KeepLastValue ("GET")
    End Sub

En fonction de l’action passée en paramètre, la fonction définie par l’utilisateur `SW_KeepLastValue` stocke les valeurs des champs dans la table des paramètres communs pour l’utilisateur actuel, ou lit les valeurs de l’objet Paramètres et affecte les valeurs aux champs appropriés.

    Sub SW_KeepLastValue(action)
    Dim tdc, vals, flds
    Dim uset, pairs, pair
    Dim bld
    On Error Resume Next
            bld = ""
            Set tdc = TDConnection
            Set uset = tdc.UserSettings
            If action = "SET" Then
                flds = Array("BG_DETECTION_VERSION", _
                "BG_USER_01", "BG_USER_03")
                vals = ""
                For i = 0 To UBound(flds)
                    If vals <> "" Then vals = vals & ";"
                    vals = vals & flds(i) & "=" & _
    		 Bug_Fields(flds(i)).Value
                Next
                'Open category KeepLValueSetting
                uset.Open ("KeepLValueSetting")
                'Setting KeepValueFields in category KeepLValueSetting
                uset.Value("KeepValueFields") = vals
                uset.Close
            End If 'SET
            If action = "GET" Then
                uset.Open ("KeepLValueSetting")
                vals = uset.Value("KeepValueFields")
                If vals <> "" Then
                    pairs = Split(vals, ";")
                    For i = 0 To UBound(pairs)
                        pair = Split(pairs(i), "=")
                        If UBound(pair) = 1 Then
                            Select Case pair(0)
                                Case "BG_USER_03"
                                    bld = pair(1)
                                Case Else
                                    If Bug_Fields(pair(0)).Value = "" Then
                                       Bug_Fields(pair(0)).Value = pair(1)
    				 End If
                            End Select
                            If Bug_Fields("BG_DETECTION_VERSION").Value _
    			 <> ""
                            And bld <> "" Then
                                SW_SetLists_VersionsBuilds _
                                "BG_DETECTION_VERSION", _
                                "BG_USER_03"
                                Bug_Fields("BG_USER_03").Value = bld
                                If Err.Number <> 0 Then Err.Clear
                            End If 'Bug_Fields
                        End If 'UBound(pair)
                    Next
                End If 'vals <> ""
            End If 'GET
            uset.Close
            PrintError ("Keep Last Value (" & action & ")")
            On Error GoTo 0
    End Sub

https://admhelp.microfocus.com ALM 8942
Conseils pour améliorer vos résultats de recherche... ALM Help Center ALM Help Center Aide ALM 17.0 Tout Afficher le centre d’aide local Afficher le centre d’aide en ligne arrière Revenir en arrière dans l’historique de navigation avant Avancer dans l’historique de navigation Désactiver la mise en surbrillance dans les résultats de recherche rubrique suivante Atteindre la rubrique suivante rubrique précédente Atteindre la rubrique précédente Imprimer la rubrique actuelle Version :