begin process at 2012 02 11 09:07:29
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Delphi

 > 

Divers

 > 

Débutant(e)

 > 

TList et Tobject : Probleme d'ajout


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

TList et Tobject : Probleme d'ajout

mardi 30 mai 2006 à 18:59:44 | TList et Tobject : Probleme d'ajout

mobilotek

Bonjour;

j'utilise une liste (PlayList) de fichier (TFichier), et apres  l'ajout d'elements, cest toujours le meme qui est present lors d'une consultation. Voyez donc ces extrait de codes pour voir s'ils sont bons :

Declarations :
TFichier = class(TObject)
  public
    Nom : string;
    Dossier : string;
    Complet : string;
    Info : FicMP3;
    Tag : UnTag;
    constructor init(enom: string ; echemin : string ; ecomplet : string);
  end;

PlayList=class(TList)
  public
      nb_elem : integer;
      nb_sel : integer;
      procedure init();
      procedure compiler();
      function obtenir_elem_sel():TFichier;
      function charger_chemin() : string;
      procedure sauver_chemin(ad : string);
   end;

Ajout:
procedure PlayList.compiler();
var
    i,nb : integer;
    Fich : TFichier;

begin
     Media:=Media_Play.create();
     nb:=0;
     For i := 0 to Form1.Liste.items.Count-1 do begin
        Fich.Nom := Form1.Liste.Items[i].Caption;
        Fich.Dossier := Form1.Liste.Items[i].SubItems.Strings[0];
        Fich.Complet:=Fich.Dossier + '\' + Fich.Nom;
        nb:=nb+1;
        LaList.add(Fich);      //ou "add(Fich)";
     end;
     LaList.nb_elem := nb;
end;

Lecture

 
 for i := 0 to nb_elem-1 do begin
    fich := LaList.items[i];
    x := fich.Nom;      //==> Toujours le meme element!
  end;
mardi 30 mai 2006 à 22:50:04 | Re : TList et Tobject : Probleme d'ajout

jace1975

Réponse acceptée !

plusieurs remarques en lisant ton code en diagonale (je viens juste voir si qqu'un a répondu à ma question):

  • déjà réécrit le PlayList.compiler(); en rajoutant un paramètre dans l'appel de la procédure, car mettre form1 à l'intérieur ca va t'attirer des pbs tôt ou tard.
  • perso j'utilise, même s'il existe qques bugs, Tobjectlist plutot que Tlist.

sur ton pb je pense qu'il faudrait plutot écrire un truc du genre(pas testé) :

   Media:=Media_Play.create();
     nb:=0;
     For i := 0 to Form1.Liste.items.Count-1 do begin
         fich:=tfichier.create();// on alloue l'espace mémoire pour chaque objet de ta liste 
{extrait de la doc delphi a tobject.create 
Create construit un objet. ....Le constructeur Create défini par TObject alloue de la mémoire mais n'initialise pas les données
alors que dans ton code tu alloue un seul objet }


        Fich.Nom := Form1.Liste.Items[i].Caption;
        Fich.Dossier := Form1.Liste.Items[i].SubItems.Strings[0];
        Fich.Complet:=Fich.Dossier + '\' + Fich.Nom;
        nb:=nb+1;
        LaList.add(Fich);      //ou "add(Fich)";
     end;
     LaList.nb_elem := nb;


mardi 30 mai 2006 à 23:19:33 | Re : TList et Tobject : Probleme d'ajout

mobilotek

Merci!!

Suis-je bête, il faut initialiser l'objet Fichier avant de s'en servir.

Quel est ton probleme, au fait?


Cette discussion est classée dans : end, string, ajout, nb, fich


Répondre à ce message

Sujets en rapport avec ce message

String, DLL et exportation de classe [ par Bilou972 ] Voici une chose que j'aurai du faire il y deja bien longtemps, je suis en bts info deuxieme annee, l examen approche et je suis toujours bloqué sur l' Paramètres par adresse et non par valeur [ par Bruto ] J'utilise qq fonctions et procédures qui ont pour but de de générer un numéro CLSID.Le prob est que je n'arrive pas à passer mes paramêtres par adress envoi de repertoire d'un serveur avec socket [ par cybersky ] bonsoir voila avec le code suivant j'arrive bien a recevoir la liste des fichiers mais je voudrais avoir la liste des sous dossiers et en affichant le Tfilestream : problème de lecture du fichier [ par bv94 ] Bonsoir,mon problème est le suivant : je créé un type Toperation qui hérite de Tfilestream. Mais les fonctions de tfilestream que j'utilise (read, see Remplacement de caractères pour chaques lettres [ par tony1239456 ] Bonjour, je voudrais savoir si il existe une fonction permettant de remplacer des caractères dans une chaine différents pour chaques lettres. Par exem Problème de récursivité? [ par basile9 ] Bonjour J'ai adapté une procédure récursive, qui marchait très bien en TP7, pour Delphi 6, dans un programme console. Voiçi cette procedure, à base Utlisation des attributs de la classe 1 de unit1 dans unit2 [ par emidelphi ] le thread repond a ma question mais j'ai essayer ce que vous avez decris mais ca marche pas . j'ai le classe suivante dans unit1 : Classe1 = class(TOb openoffice.org(ooo) et la couleur de fond d'une cellule [ par Tiekula ] J'arrive a ouvrir un fichier exel avec ooo mais pas a trouver la couleur d'une cellule donnée de ce fichier! mon code : unit Unit1; interface use Problème dans un composant avec Winsock [ par Francky23012301 ] Salut à tous,Voila un bout de composant,------------------------------unit SMTPClient; interface usesWindows,WinSock,Classes; type  TIdentificat Bien installer un API [ par Also know as ] Bonjour a tous, Bon alors apres une longue surune certaine erreur enfin resolu :-), on m'a conseille d'utiliser un nouvel API. Je souhaiterais utilise


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,874 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales