Bonjour à tous,

note: ce message a déjà été posté dans un autre forum mais hélas sans réponse pour l'instant, alors je me permets de la réposer ici.

je voudrais ajouter dans mon programme un gestionnaire de droit utilisateur.

Pour cela j'ai pensé tout d'abord à créer ma Class, assez simple.
Mais avant de me lancer dans l'aventure du dev, j'aimerai avoir vos avis et savoir s'il n'existe pas déjà une Class qui existe ?

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
  TUserRightClass = class(TObject)
  private { Déclarations privées }
    FName    : String;
    FLogin   : String;
    FPwd     : String;
    FLevel   : Integer;
  protected { Déclarations protégées }
  public { Déclarations publiques }
    property Name: string read FName write FName;
    property Login: string read FLogin write FLogin;
    property Pwd: string read FPwd write FPwd;
    property Level: Integer read FLevel write FLevel;
  end;
Bon ok admettons que cette structure suffise, la suite pour le passage de mon programme de Mono-Utilisateur à Multi-Utilisateurs me soulève un tas de questions.

Tout d'abord quelques mots de mon programme.
C'est assez simple dans les grandes lignes :
- j'ai différents projets
- chaque projet contient des fiches descriptives de documents textes importés
- chaque fiche contient des champs remplies automatiquement lors de l'importation comme le titre, les auteurs, la date, etc...

MAIS chaque fiche possède aussi des champs que l'utilisateur peut remplir comme la pertinence de la fiche (une note sur 20), un commentaire, une catégorie, et quelques autres champs.

A l'heure actuelle, j'ai donc une Class TFiches avec ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
....
    FId         : Integer; // Auto
    FTitle      : string;  // Auto
    FAbstract   : string;  // Auto
    FComments   : string;  // User
    FPert       : Integer; // User
....
Et comme vous pouvez le voir je ne peux pas affecter un commentaire (ou une pertinence) en différenciant les utilisateurs.

Comment est-ce vous vous y prendriez pour faire la modif de la class ?

J'ai pensé à ajouter
FUserComment : TUserRightList; // TUSerRightList est une liste d'objet TUserRightClass.

Mais là je n'ai pas la propriété "FComments" dans TUserRightClass et je ne peut pas ajouter dans cette class tous les champs (pertincence, catégorie, etc...) qui sont dédiés aux différents utilisateurs.

Je sèche un peu là sur la méthode à utiliser.
Faut-il créer une Class intermédiaire ?

Je ne peux hélas pas repartir de zéro (ce qui serait à mon avis la meilleur chose) car je dois assurer la compatibilité avec les projets anciennement créés.

Toute idée sera la bienvenue,

PS : un projet ne peut être ouvert que par une personne à la fois, oufff au moins ça dans le cahier des charges :-) et ça c'est déjà réglé !

Bruno