HPRIM_MDX : Version 17.02 (février)

Sauvegarde automatique des banques de mots clefs.
Utilité +++
Facilité +++
  • La Banque engrange au fur et à mesure de l’utilisation des centaines de mots clefs adaptés aux résultats qu’on reçoit
  • La perte de ces données oblige(rait) à tout reprendre à zéro
  • HPRIMETTE (alias Hprim_MDX) lance automatiquement tous les jours un jeu de sauvegarde de la banque
    • A la première utilisation du jour,
    • Dans un sous-dossier de SAUVE portant le numéro du jour de la semaine
      • Il existe donc 7 sauvegardes maxi en magasin, nommées 1,2,3,4,5,6,7.
  • Pour restaurer un fichier :
    • Il suffit de le déposer sur le programme ouvert, (drag and drop)
    • Ou de le replacer à côté du HPRIM_MDX.EXE (quand le programme est fermé)
      • Car le programme écrase toutes les données du disque avec ce qu’il a en mémoire à chaque fermeture
  • La sauvegarde automatique peut être forcée ou désactivée par le menu OUTILS
CODE
procedure TForm1.SAVE_LISTESExecute(Sender: TObject);
    // Créer et retourne le dossier de sauvegarde
      function sub_CreerDossier_Sauvegarde: string;
        begin
          result := format('%sSAUVE\%d', [App_PATH, DayOfWeek(now)]);
          if not System.SysUtils.DirectoryExists(result) then
            if not System.SysUtils.ForceDirectories(result) then
              showmessage('Impossible de créer le dossier de sauvegarde des listes' + cr + result);
        end;

      procedure sub_SauveGarde(savepath: string);
        begin
          Files_COPY('*.txt', App_PATH, savepath);
          { Inscrit la date  dans l'ini Pour 1 sauvegarde par jour }
          savedate('SAUVE', IntToStr(DayOfWeek(now)), now);
        end;

    var
      savepath: string;
    begin // =================================================================
      { Sauvegarder les listes c'est enregistrer une copie de tous les fichiers TXT }
      { dans un dossier qui porte le Numéro du jour : soit 7 sauvageardes par semeaine }

      savepath := sub_CreerDossier_Sauvegarde;

      if MessageDlg('Voulez vous créer ou remplacer' + cr + 'Le jeu de sauvegarde des listes de mots ?' + cr + cr +
          format('Jeu numéro "%d"', [DayOfWeek(now)]), mtConfirmation, mbOKCancel, 0) = mrok then
        sub_SauveGarde(savepath);

    end;
Drag and drop
Utilité +
Facilité +++
Stabilité MEMO+++/ LISTE+-
  • Le drag and drop (glissé/déposé) est le système le plus pratique et le plus simple à programmer, pour importer une liste de mots externes dans le programme, il suffit de déposer la liste.
  • Il est ainsi très facile d’échanger ses listes d’un poste à l’autre.
  • Le programme reconnait la liste déposée et l’ajoute automatiquement au module concerné :
    • Le fichier doit donc avoir la bonne syntaxe :
      • MEMO_***.TXT
      • Ou LISTE_***.TXT
    • A noter que les mots sont AJOUTES à liste (afin de ne pas écraser ce qui existe déjà)
      • Ensuite un clic droit sur la liste ouvre le Menu “ORDONNER
        1. Qui élimine tous les doublons,
        2. Et trie la liste par ordre alphabétique
CODE
Composant : JvDragDrop Blbliothèque : JEDI VISUAL
  procedure TForm1.JvDragDrop1Drop(Sender: TObject; Pos: TPoint; Value: TStrings);
    var
      fn, NOM: string;
      MEMO:    TMemo;
      LISTE:   TValueListEditor;
      BufStr:  TStringList;
      i: Integer;
    begin
      BufStr := TStringList.Create;
      PageControl1.TabIndex := _page_config;

      for i := 0 to Value.Count - 1 do
        BEGIN
          try
            fn  := Value[i];
            NOM := changefileext(ExtractFileName(fn), '');
            if MessageDlg(NOM + cr + cr + 'Rajouter les entrées du fichier déposé,' + cr +
                'à la liste des Mots Existants ?' + cr + cr + 'Clic droit ensuite pour TRIER', mtConfirmation,
              mbOKCancel, 0) = mrcancel then
              exit;

            if System.Pos('MEMO', NOM) = 1 then
              BEGIN
                MEMO := (FindComponent(NOM)) as TMemo;
                if (MEMO <> nil) then
                  Begin
                    BufStr.LoadFromFile(fn);
                    MEMO.lines.AddStrings(BufStr);
                  End
              END else if System.Pos('LISTE', NOM) = 1 then
              BEGIN
                LISTE := (FindComponent(NOM)) as TValueListEditor;
                if (LISTE <> nil) then
                  Begin
                    BufStr.LoadFromFile(fn);
                    try
                      LISTE.Strings.AddStrings(BufStr);
                    finally
                    end;
                  End
              END;
          finally
            BufStr.Free;
          end;
        END;
    end;
Gestion de l'entête HPRIM
Utilité +++
Simplicité +
  • L’ouverture du Module de gestion de l’entête HPRIM se fait par le menu Principal :
    • Afficher
      • Entête

  • Le programme met en surbrillance les lignes importantes :
    0 CODE MNEMO
    2 NOM
    3 PRENOM
    7 DATE DE NAISSANCE
    11 LABO
  • Et active la case à cocher à gauche si le contenu de la ligne est conforme (utile avec le Module HPRIMATOR qui reconnait les champs par OCR, et dont les résultats sont parfois approximatifs)
    2 & 3 Les chiffres ne sont pas admis
    7 doit contenir une date
  • Clic droit pour activer le Menu du gestionnaire :
  1. Modifier
  2. Supprimer une ligne : décale toute les lignes vers le haut
  3. Insérer : décale vers le bas
  4. La gestion de la ligne 0 refait le boulot du GUPS
    1. Remettre en forme la Ligne 0 (Ex Si LABO BIOLOR => LAMBIOLOR)
    2. Adapter le Mnémonique selon le Nom du Labo ligne 11
    3. Adapter le Mnémonique selon le contenu du résultat
      • A noter que pour les menus I et II
        • il suffit de double cliquer sur la ligne 0 ou 11 pour lancer le menu adapté
          • (car ce sont les options qu’on utilise le plus souvent)
CODE
  procedure TForm1.ListBox_ENTETEDblClick(Sender: TObject);
    begin
      { Traitement par défaut double clic }
      case ListBox_ENTETE.itemindex of
        0:
          mnu_Remplace0_0.Click;
        11:
          mnu_Remplace0_11.Click;
      end;
    end;
Divers Ajouts
  • Listes de Mots
    1. Mots Gris :
      Pour définir les résultats qui ne signifient rien de compréhensible (ex: Examen impayé : résultat en attente de règlement)
    2. Mots ROSE :
      clin d’oeil du Gynécologue à tout ce qui concerne la grossesse
      Fait ressortir tous les tests de grossesse positifs par exemple.

Laisser un commentaire