Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1071 connectés 

  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  [DELPHI] Tchecklistbox et l'écriture dans les colonnes

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[DELPHI] Tchecklistbox et l'écriture dans les colonnes

n°118429
dafl
Posté le 27-03-2002 à 22:28:10  profilanswer
 

je voudrais mettre le texte dans la deuxième colonne  
dans la première colonne pas de pb mais les autres colonnes là je bloque pourtant j'ai matté l'aide il parle bien de multicolonne mais pas comment faire  
un exemple serait le bienvenue
merci

mood
Publicité
Posté le 27-03-2002 à 22:28:10  profilanswer
 

n°118430
[SDF]Poire
Vive Grumly
Posté le 27-03-2002 à 22:36:06  profilanswer
 

Où tu vois multi-colonnes ???
A mon avis que les checks et le texte mais pas 1 colonne de +...


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
n°118433
dafl
Posté le 27-03-2002 à 22:46:05  profilanswer
 

[SDF]Poire a écrit a écrit :

Où tu vois multi-colonnes ???
A mon avis que les checks et le texte mais pas 1 colonne de +...  




Les boîtes liste multicolonnes ont une barre de défilement horizontale qui permet à l'utilisateur de visualiser les colonnes. La valeur par défaut de la propriété Columns est 0, ce qui signifie que la boîte liste n'a qu'une seule colonne. Les utilisateurs ne peuvent alors faire défiler la liste que verticalement.

n°118436
antp
Super Administrateur
Champion des excuses bidons
Posté le 27-03-2002 à 22:53:51  profilanswer
 

Ce sont des colonnes pour la remplir horizontalement au lieu de verticalement.
Si tu veux réellement gérer plusieurs colonnes tu dois utiliser la listview.
Chaque item a une propriété Caption (colonne 1) et Subitems (colonne 2 et +)
 http://ibelgique.ifrance.com/antp/_images/checklist.png

 

[jfdsdjhfuetppo]--Message édité par antp--[/jfdsdjhfuetppo]


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°118445
dafl
Posté le 27-03-2002 à 23:12:21  profilanswer
 

Merci bcp  :jap:

n°118645
dafl
Posté le 28-03-2002 à 12:23:57  profilanswer
 

:cry: j'y arrive pas du tous à écrire qq chose dans la tview quand je clique sur un bouton ça ouvre une opendialog je reprend le filename mais après pour le mettre en suivant ce que tu m'as dis marche pas  :cry:  :cry:

n°118646
antp
Super Administrateur
Champion des excuses bidons
Posté le 28-03-2002 à 12:24:43  profilanswer
 

Montre le code que tu as fait pour mettre les éléments dans la liste...


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°118653
dafl
Posté le 28-03-2002 à 12:30:16  profilanswer
 

antp a écrit a écrit :

Montre le code que tu as fait pour mettre les éléments dans la liste...  




opendialog1.Execute;
filename:=opendialog1.filename;
listview1.items.caption:=filename;
 
j'ai essayé pas mal de façon mais rien y fait là le caption n'est pas reconnu

n°118658
antp
Super Administrateur
Champion des excuses bidons
Posté le 28-03-2002 à 12:41:02  profilanswer
 

Ouais :/
 
Bon, pour chaque élément (ligne) que tu veux dans la TListView, il faut explicitement ajouter cet élément.
Exemple:
 

Code :
  1. begin
  2.   with OpenDialog1 do
  3.     if Execute then
  4.       with ListView1.Items.Add do
  5.       begin
  6.         Caption := ExtractFilePath(FileName);
  7.         Subitems.Add(ExtractFileName(FileName));
  8.       end;
  9. end;


 
- ajout d'un item dans la ListView
- le caption (colonne 1) de l'item prend le nom du répertoire choisi (OpenDialog1.FileName, raccourci à FileName vu qu'on est dans un "with" )
- le Subitems.Strings[0] (colonne 2) de l'item prend le nom du fichier sans le répertoire. On passe par le add parce que Strings[0] n'existe pas encore. Pour le modifier par après il faudra passer par Subitems.Strings[0]
 
 
Exemple pour la modif de la seconde colonne du premier élément de la liste:
 
ListView1.Items.Item[0].Subitems.Strings[0] := 'autre chose';

 

[jfdsdjhfuetppo]--Message édité par antp--[/jfdsdjhfuetppo]


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°118681
dafl
Posté le 28-03-2002 à 14:00:07  profilanswer
 

bon alors j'ai testé en suivant ton exemple le extractpath s'affiche mais pas le filename  :crazy: quand je rappuis sur le bouton ça me le met sur la même ligne  :pt1cable:  
Merci

mood
Publicité
Posté le 28-03-2002 à 14:00:07  profilanswer
 

n°118682
antp
Super Administrateur
Champion des excuses bidons
Posté le 28-03-2002 à 14:01:22  profilanswer
 

T'aurais pas par hasard oublié de mettre la listview en mode Style := vsReport et de définir au moins deux colonnes ?
 
Et pour le coup de quand tu recliques, tu es sûr que tu as bien recopié le source ? :)

 

[jfdsdjhfuetppo]--Message édité par antp--[/jfdsdjhfuetppo]


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°118692
dafl
Posté le 28-03-2002 à 14:26:07  profilanswer
 

bingo  :)

n°118705
dafl
Posté le 28-03-2002 à 14:52:39  profilanswer
 

j'ai mis une case a cocher un bouton delete pour supprimer le fichier ok mais ça fais pas toute la ligne je veux qu'on ne voit plus rien
 
Au faite c'est un programme qui compresse en mp3 et ogg vorbis
pour que tu saches à quoi tu contribues  ;)

n°118732
antp
Super Administrateur
Champion des excuses bidons
Posté le 28-03-2002 à 15:57:48  profilanswer
 

Pour virer une ligne, chaque item[] a une méthode Delete je pense.


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°118798
dafl
Posté le 28-03-2002 à 18:19:54  profilanswer
 

nickel je viens de faire si c'est checked ça delete  :)  
Merci  :jap:

n°119376
dafl
Posté le 30-03-2002 à 16:52:50  profilanswer
 

merde ça bug  :(  
le pb est que s'il le prog delete la première ligne coché la deuxième prend la place de la première donc ça marche pour la dernière ligne et la première ligne dès que je veux faire une au milieu beau plantage

n°119381
antp
Super Administrateur
Champion des excuses bidons
Posté le 30-03-2002 à 17:02:41  profilanswer
 

Envoie un morceau de code source parce que là j'ai rien pigé :D


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°119382
dafl
Posté le 30-03-2002 à 17:04:34  profilanswer
 

antp a écrit a écrit :

Envoie un morceau de code source parce que là j'ai rien pigé :D  




ok voila
If listview1.items.count>0 then
     begin
     for i:=0 to (listview1.Items.count-1) do
     begin
         If listview1.items[0].Checked
          then
            begin
              listview1.items[0].Delete;
               
            end
         else
          begin
           if listview1.Items[i].Checked
             then
               begin
                 listview1.Items[i].Delete;
                 
               end;
          end;
     end;
     end;
donc en faite je crois avoir trouver il faudrait enlever 1 à I
donc i:=i-1; mais ça il veut pas le faire dans une boucle for

n°119384
antp
Super Administrateur
Champion des excuses bidons
Posté le 30-03-2002 à 17:12:08  profilanswer
 

Code :
  1. var
  2.   i: Integer;
  3. begin
  4.   with ListView1.Items do
  5.     for i := Count-1 downto 0 do
  6.       if Item[i].Checked then
  7.         Item[i].Delete;
  8. end;


 
Si tu commences par les premiers items, ça crashe parce que quand tu arrives à la fin il y a moins d'items que ce qu'il y avait au début... Donc là on commence par la fin. Et dans ce genre de choses l'opérateur "with" est pratique: ça allège le code et ça l'optimise (le programme ne doit pas à chaque fois aller rechercher l'adresse de ListView1.Items)

 

[jfdsdjhfuetppo]--Message édité par antp--[/jfdsdjhfuetppo]


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°119386
dafl
Posté le 30-03-2002 à 17:15:54  profilanswer
 

antp a écrit a écrit :

Code :
  1. var
  2.   i: Integer;
  3. begin
  4.   with ListView1.Items do
  5.     for i := Count-1 downto 0 do
  6.       if Item[i].Checked then
  7.         Item[i].Delete;
  8. end;

 




ça marche terrible pas mal de plaçés le with la dedans ça fait bcp moins bordelique comme code
merci je vais pouvoir continuer ce projet
 :jap:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  [DELPHI] Tchecklistbox et l'écriture dans les colonnes

 

Sujets relatifs
[Delphi 6.0] "Not a design time package", vous connaissez?delphi 5 + windows xp
[DELPHI] : bitmap bouton (bas de page) nouvelle questioninput / output du C++ en DELPHI
[DELPHI X]AlphaBlending...[DELPHI] unZip etc...
[delphi] modification de menu[DELPHI] Pb checklistbox
[Delphi] Cherche divers tips et débuggagesReception de données avec des headers ! (Delphi)
Plus de sujets relatifs à : [DELPHI] Tchecklistbox et l'écriture dans les colonnes


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR