Pour t'expliquer si tu veux faire une sorte de VerifWindows pour Mantrix
Pour Mantrix ERS les variables existent en 3 types :
- variables temporaire (variables classiques .NET / Mémoire RAM) <- Peuvent être lue que par Mantrix.exe : elles ne peuvent pas être lue par d'autres programmes externes (variables compilés)
- variables écrites fixes (variables qui reste écrites dans un fichier texte crypté ou non en UTF-8 même après l'arrêt de Mantrix)
- variables écrites temporaire (variables qui sont écrite dans un fichier texte crypté ou non en UTF-8 mais qui sont supprimés lors de l'arrêt de Mantrix)
Celles qui sont intéressantes ici sont les 2ème et 3ème cas
Par exemple pour connaître l'utilisateur en cours suffit de lire le fichier suivant :
System\userlogin.log (non crypté / UTF-Pour connaître par exemple l'élevation du compte utilisateur en cours il faut lire le fichier suivant :
System\userlevel.log (non crypté / UTF-Pour connaître la version de l'OS il suffit de lire :
System\etc\version.var (non crypté / UTF-Pour connaître la version complète du système qui sert au mise à jour :
System\dev\osgrp.mtx (non crypté / UTF-etc...
Et l'astuce des LOG permet de savoir quoi faire
Exemple :
Avec un programme externe comme VerifWindows
(VerifMantrix ?) dans Mantrix si tu doit par exemple créer un fichier "config.txt" dans le dossier personnel de l'utilisateur en cours sur la session alors il suffira de faire :
1 - Lecture du fichier System\userlogin.log et stockage dans la variable par exemple "userperso"
2 - Je créer un fichier texte dans System\home\%(VARIABLE=userperso)%\settings\config.txt
Donc voilà
C'est assez simple faut juste lire des variables écrites format UTF-8 dans Mantrix (sans passé par les variables Windows classiques
)
EDIT :
Après y'a un truc un peut plus chiant :Les applis externe sont stockés dans (par exemple) System\applis\ext\VerifWindows\VerifWindows.exe (c'est un exemple !
)
Imagine que tu veux connaître le nom de l’utilisateur en cours...
Tu devra faire :
1 - La variable %(APPLICATION=APPLICATION_PATH)% tu la stock dans une variable "chemin".
2 - La variable "chemin" te donnera par exemple : C:\CPCDOS\MantrixERS\System\applis\ext\VerifWindows\VerifWindows.exe : c'est le chemin où est lancé ton appli et tu ne peut pas donc allez chercher "userlogin.log" qui contient le nom d'utilisateur car ce fichier n'existe pas dans System\applis\ext\VerifWindows\....................
Et tu ne peut pas allez le chercher via C:\CPCDOS\...etc car si ça ce trouve l'utilisateur de Mantrix ERS va l'installer ailleurs :/ !!!
3 -
Solution possible : tu découpe la variable "chemin" avec le caractère "\" dans une variable tableau "chemin_tableau"
4 - Tu fait Obtenir le nombre de valeur dans une variable tableau. Tu stock ce code dans la variable "new_chemin"
5 - Tu fait un calcul ! Là on regarde le chemin original :
C:\CPCDOS\MantrixERS\System\applis\ext\VerifWindows\VerifWindows.exe
On a 3 dossiers d'avances soit : "\applis\ext\VerifWindows"
Il suffit de faire un calcul :
"new_chemin" - 3 = "new_chemin"Oui on réutilise la même variable.
Donc si on fait
%(VARIABLE=chemin_tableau]new_chemin])% on obtient C:\CPCDOS\MantrixERS\System
!
Et là ta plus qu'a faire Lire un fichier texte UTF-8 via :
%(VARIABLE=chemin_tableau]new_chemin])%\userlogin.logEDIT 2 : Désolé pour les [ et ] des variables tableaux le forum les mets en bleu dans ce sens ] tout seul ><
Et voilà
Tu a le nom d'utilisateur
Et t'inquiète car les applis externe seront stockés forcément sur le dépôt officiel (serveur principal du projet) et Mantrix ERS va l'installer tout seul dans System\applis\ext\[nom_développeur]\[nom_appli].exe
Donc il retrouvera toujours le fichier userlogin.log n'importe où même si Mantrix ERS est installé dans C:\truc\bidule\machin\
Astuce tttrrrèèès utile