Bonjour,
Après 10 ans de codage en language de 4° génération orienté base de données, je reviens vers le Pascal objet Delphi pour un projet spécifique. Ma question est simple: quelqu'un peut-il me donner un exemple de codage d'algo permettant de reproduire le fonctionnement Tables/Enregistrement, le tout en mémoire, avec des objets. En clair:
1. Définir une classe "PseudoEnreg" représentant l'enregistrement.
2. Définir une classe "PseudoTable" représentant la liste des "PseudoEnreg", et permettant l'ajout, la suppression et le parcours des enreg.
3. Utiliser le tout comme pour une table.
Exemple:
//Créer la table.
PseudoTable = TPseudoTable.Create;
// Créer des enreg et les mettre dans la table
PseudoEnreg := TPseudoEnreg.Create.
PseudoEnreg.K_CODE := '001';
PseudoEnreg.Nom := 'My name';
PseudoTable.Add(PseudoEnreg);
PseudoEnreg := TPseudoEnreg.Create.
PseudoEnreg.K_CODE := '002';
PseudoEnreg.Nom := 'My name 2';
PseudoTable.Add(PseudoEnreg);
etc...
// Puis pouvoir parcourir la table et accéder aux champs de PseudoEnreg
PseudoTable.First;
For i:=0 to PseudoTable.Count - 1 Do Begin
ShowMessage('Code de ' + IntToStr(i) + '=' + ??????????? );
PseudoTable.Next;
end;
où ??????????? est le code qui me manque pour afficher un des champs...
J'ai commencé la code suivant:
type
// Liste des partages=enregistrement
TSharedRes = Class(TObject)
K_SHARE,
PATH,
LIB,
K_TYPE // DISK, ADMIN, PRINTER, OTHER
: String;
I_TYPE
: Integer
end;
// Table regroupant les enregs
Ttt_SharedRes = Class(TObjectlist)
..... Quoi mettre ???? Un champ de type TShareRes ???
end;
var
SharedRes : TSharedRes;
tt_SharedRes: Ttt_SharedRes;
Begin
tt_SharedRes := Ttt_SharedRes.Create;
//Boucle quelconque
While <Condition ok> Do Begin
SharedRes := TSharedRes.Create;
SharedRes.K_SHARE := <... peu importe> ;
SharedRes.PATH := <... peu importe> ;
tt_SharedRes.Add(SharedRes);
end;
// Ensuite, pouvoir récupérer n'importe quel SharedRes
// par lecture séquentielle (pour commencer)
for i:=0 to tt_SharedRes.count - 1 Do Begin
??????
end;
end;
Cela fait une semaine que je m'escrime la-dessus dans mon coin et là, je sature un peu... aucun des exemples/tuto que j'ai pu trouver ne correspond à cela. C'est pourtant élémentaire... Peut-être trop ? Quelque chose doit m'échapper ou je suis trop "déformé" par le L4G ....
Bien sûr, je ne veux pas avoir recours aux tableaux dynamiques.
Merci d'avance.
Flines.
Partager