Création et maintenance d'un fichier de configuration.
Création et maintenance d'un fichier de configuration. - Ada - Programmation
MarshPosté le 23-10-2010 à 19:18:30
Bonjour. J'ai écrit quelque lignes pour créer et maintenir un fichier de configuration dont les informations sont lus dans l'environnement à défaut de spécification particulière protégé par mot de passe contenue dans le fichier même. Pourriez-vous, selon vos connaissances, apporter quelque critique sur ce programme, son principe, l'algorithme... Ce programme n'ayant aucun autre objet. S'il vous plaie.
Voici les codes.
Le paquetage User fournit le type et une variable initialisé du type T_User.
Code :
with System.Os_Lib;
use System;
package Np.useris
type Env_Type is(Password, Home, Logname, Mail , Group);
type Variable is
record
Name : env_Type;
Value : Os_Lib.String_Access;
endrecord;
type Personality_type isarray(env_Type'Range)of Variable;
type User_Type is
record
Personality : Personality_Type;
endrecord;
Current_User : User_Type :=
(
personality =>
(
HOME =>
(
Home,
(Os_Lib.Getenv("HOME"))
),
LOGNAME =>
(
Logname,
(Os_Lib.Getenv("LOGNAME"))
),
MAIL =>
(
Mail,
(Os_Lib.Getenv("MAIL"))
),
PASSWORD =>
(
Password,
(Os_Lib.Getenv("PASSWORD"))
),
GROUP =>
(
Group,
(Os_Lib.Getenv("GROUP"))
)
)
);
end Np.user;
Le programme principal, crée et modifie le fichier ".conf" dans le répertoire personnel de l'utilisateur.
Code :
with System.Os_Lib;
use System.Os_Lib;
with Text_Io;
use Text_Io;
with Ada.Strings.Fixed;
use Ada.Strings.Fixed;
with Np, Np.User;
use Np, Np.User;
procedure Main is
function Get_Password return String_Access;
-- Saisir le mot de passe.
function Get_Password return String_Access is
Passwd : String_Access := new String ' ("");
Buffer : String_access := new String ' ("");
Char : Character;
begin
loop
Get_Immediate(Char);
case Char is
when Character'Val(127) =>
if Passwd'Length > 1then
Free(Buffer);
Buffer := new String ' (Passwd(1..Passwd'Length-1));
Marsh Posté le 23-10-2010 à 19:18:30
Bonjour.
J'ai écrit quelque lignes pour créer et maintenir un fichier de configuration dont les informations sont lus dans l'environnement à défaut de spécification particulière protégé par mot de passe contenue dans le fichier même.
Pourriez-vous, selon vos connaissances, apporter quelque critique sur ce programme, son principe, l'algorithme... Ce programme n'ayant aucun autre objet.
S'il vous plaie.
Voici les codes.
Le paquetage User fournit le type et une variable initialisé du type T_User.
Le programme principal, crée et modifie le fichier ".conf" dans le répertoire personnel de l'utilisateur.
Peut-on faire mieux ou pire ? Merci.