IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Delphi Discussion :

ListBox et affichage partiel de string


Sujet :

Delphi

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    122
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 122
    Points : 57
    Points
    57
    Par défaut ListBox et affichage partiel de string
    Bonjour,

    Je réalise actuellement un lecteur de fichiers audio. Pour cela une fenetre principale permet d afficher la liste des musiques pouvant etre jouées.

    Les musiques affichées sont en fait les chemins absolus d acces aux musiques.

    D'une part cela n'est pas terrible puisque les chemins etant long, ils imposent l'utilisatio d une "horizontal scrollbar" si l'on veut voir lire le chemin complet.

    Une meilleure solution serait de pouvoir afficher uniquement une partie des lignes.

    Par exemple :
    actuellement : C:\Dossier\Musique\ma_musique.mp3
    possibilté : ma_musique.mp3

    Ou même mieux, afficher les tags correspondant!

    Mais comment faire ?

  2. #2
    Membre éclairé
    Avatar de denokan
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2002
    Messages
    434
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2002
    Messages : 434
    Points : 746
    Points
    746
    Par défaut
    tu peux utiliser l'objet TList qui te permet de faire une liste de pointeurs vers un type que tu aura choisi. exemple avec une fiche sur laquelle tu poses une ListBox, deux boutons (Button1 pour créer la liste, Button2 pour remplir la ListBox) et un Label :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
     
    type
      // un type pour stoquer les infos de chaque musique
      TMusique = Record
        titre : String;
        FName : String;
      end;
     
      // un pointeur pour ajouter dans le TList
      PMusique = ^TMusique;
     
    var
      Liste : TList; // stoque toutes les musiques
     
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      // Initialisation ; il faudrai aussi libérer la liste quand on quitte le programme
      Liste := TList.Create;
    end;
     
    procedure AfficheListe(aList : TStrings);
    var
      i : Integer;
    begin
      // affiche tous les titres dans aList
      aList.Clear;
      for i := 0 to Liste.Count - 1 do
        aList.Add(PMusique(Liste[i])^.titre );
    end;
     
    procedure TForm1.Button1Click(Sender: TObject);
    var
      aPMusique : PMusique;
    begin
      // ajoute deux musiques à la liste
      New(aPMusique);
      aPMusique^.titre := 'toto';
      aPMusique^.FName := 'toto.mp3';
      Liste.Add(aPMusique);
     
      New(aPMusique);
      aPMusique^.titre := 'tata';
      aPMusique^.FName := 'tata.mp3';
      Liste.Add(aPMusique);
    end;
     
    procedure TForm1.Button2Click(Sender: TObject);
    var
      aItem : TMusique;
    begin
      // affiche la liste des titres dans ListBox1
      AfficheListe(ListBox1.Items);
    end;
     
    procedure TForm1.ListBox1Click(Sender: TObject);
    begin
      // affiche le nom de fichier de la musique cliquée dans ListBox1
      Label1.Caption := PMusique(Liste[ListBox1.ItemIndex])^.FName;
    end;

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    122
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 122
    Points : 57
    Points
    57
    Par défaut
    Merci !

    Je m'y attarderai après une bonne nuit de sommeil !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. affichage partiel image
    Par greg08 dans le forum Graphisme
    Réponses: 10
    Dernier message: 05/12/2008, 16h11
  2. affichage d'une string
    Par zazoux dans le forum Flex
    Réponses: 3
    Dernier message: 03/10/2008, 14h54
  3. Réponses: 6
    Dernier message: 07/04/2008, 17h21
  4. Affichage partiel dans un StatusBar
    Par TSalm dans le forum Général Dotnet
    Réponses: 1
    Dernier message: 30/10/2007, 09h03
  5. [FLASH 8] Affichage partiel d'un "Number"
    Par dom_dev dans le forum Flash
    Réponses: 3
    Dernier message: 03/04/2006, 15h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo