Récupérer les valeurs d'un tlistbox à plusieurs colonnes

Soyez le premier à donner votre avis sur cette source.

Snippet vu 5 890 fois - Téléchargée 31 fois

Contenu du snippet

Ce code qui doit être simplifiable est une réponse pour Tof.p :)

Source / Exemple :


//Fonction pour ce qui est avant une chaîne de caractère
function Avant(str: string; source: string): string;
var
   n : integer;
begin
   n := pos(str,source);
   avant := copy(source,1,n - 1);
end;

//Fonction pour ce qui est après une chaîne de caractère
function Apres(str: string; source: string): string;
var
   n : integer;
begin
   n := pos(str,source);
   apres := copy(source,n + length(str),length(source));
end;

procedure TForm1.Button2Click(Sender: TObject);
var i: integer;
    s1,s2,s3: string;
begin
   //Boucle for autant de fois qu'il y a d'items dans la ListBox
   for i := 0 to (ListBox1.Items.Count - 1) do begin
      //On récupère la 1ère colonne
      s1 := Avant(^I,ListBox1.Items.Strings[i]);
      //La 2ème colonne
      s2 := Avant(^I,Apres(^I,ListBox1.Items.Strings[i]));
      //La 3ème colonne
      s3 := Apres(^I,Apres(^I,ListBox1.Items.Strings[i]));
      //On affiche le résultat dans memo1
      memo1.Lines.Add('Colonne 1 : '+s1);
      memo1.Lines.Add('Colonne 2 : '+s2);
      memo1.Lines.Add('Colonne 3 : '+s3);
   end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
   ListBox1.TabWidth:=50;
   //On ajoute les colonnes à ListBox1
   ListBox1.Items.Add('Col1'^I'Col2'^I'Col3');
   ListBox1.Items.Add('Col1'^I'Col2'^I'Col3');
end;

Conclusion :


Voilà :)

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.