Listbox et items selectionné [Résolu]

Signaler
Messages postés
73
Date d'inscription
mardi 3 avril 2007
Statut
Membre
Dernière intervention
12 mai 2013
-
Messages postés
4200
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
13 juin 2020
-
Bonjour a tous,


je me trouve fasse a un probleme que j'arrive pas a resoudre


j'ai un listbox et je voudrais que quand une personne click sur une
items me renvoie le string en decimal voici mon code qui renvoie la
premiere items mais j'arrive pas a renvoyer nimporte quel item

procedure TForm4.ListBox1Click(Sender: TObject);

var S:string;

I:integer;

Conv:string;

begin

S:=ListBox1.Items.Strings[0]; //va me renvoyer l'items 0 //ici et mon probleme

     for i:=1 to length(s) do Conv:=Conv+inttostr(ord(s[i]))+',';

   edit2.text:=(Conv); //me renvoie le mot en decimal

showmessage(Choix(ListBox1));

end;


comment je pourrais enlever le 0 pour que l'item 2 ou 3 etc... peut etre convertie?


merci d'avance pour votre aide...

6 réponses

Messages postés
73
Date d'inscription
mardi 3 avril 2007
Statut
Membre
Dernière intervention
12 mai 2013

bon voila se que j'ai fait pour se a qui sa intéresserer plutard, mais je pense pas que se soit la methode douce mais sa marche donc si vous avez une autre idée je suis preneur...

procedure TForm4.ListBox1Click(Sender: TObject);
var S:string;
I:integer;
a:integer;
Conv:string;
begin
for I := 0 to ListBox1.Items.Count - 1 do
if ListBox1.Selected[I] then
      S:= ListBox1.Items.Strings[i];
     for a:=1 to length(s) do Conv:=Conv+inttostr(ord(s[a]))+',';
   edit2.text:=(Conv);
 showmessage(choix(listbox1));
end;

A+
Messages postés
4715
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
27 mars 2018
12
bonjour,

function RenvoiDec: string;
var
  S: string;
  i, j: integer;
  Conv: string;
begin
  with Form1 do
    for i := 0 to ListBox1.Items.Count - 1 do
      if ListBox1.Selected[i] then
      begin
        S := ListBox1.Items.Strings[i];
        for j := 1 to length(S) do
          Conv := Conv + IntToStr(ord(S[j])) + ',';
        Result := Conv;
      end;
end;


procedure TForm1.ListBox1Click(Sender: TObject);
begin
  Edit1.Text := RenvoiDec;
end;

cantador
Messages postés
4200
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
13 juin 2020
30
cette solution est bien quand la selection multiple est active.

sinon :
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    ListBox1: TListBox;
    Edit1: TEdit;
    procedure ListBox1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Déclarations privées }
  public
    { Déclarations publiques }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

var
  CharToCode : array[char] of string;

procedure TForm1.FormCreate(Sender: TObject);
var A : char;
    B : byte absolute A;
begin
  for A := #0 to #255 do
    CharToCode[A] := IntToStr(B);
end;

procedure TForm1.ListBox1Click(Sender: TObject);
var S,E : string;
    I,L : integer;
begin
  S := ListBox1.Items[ListBox1.itemindex];
  E := '';
  L := Length(S);
  for I := 1 to L do
    if I < L then
      E := E + CharToCode[S[I]] + ', '
    else
      E := E + CharToCode[S[I]];

  Edit1.Text := E;
end;

end.

Messages postés
302
Date d'inscription
vendredi 21 septembre 2007
Statut
Membre
Dernière intervention
6 février 2013
1
S:=ListBox1.Items.Strings[ListBox1.ItemIndex];  ?

"le string en decimal" -> j'avoue ne pas bien comprendre ce que tu veux là..

<hr />
L'Armand joue, l'arme en joug... www.art-ment.com
Messages postés
302
Date d'inscription
vendredi 21 septembre 2007
Statut
Membre
Dernière intervention
6 février 2013
1
Ah si ok j'ai compris ce que tu entends par "le string en decimal", bein dans l'evenement OnClick de ta ListBox si tu mets :
S:=ListBox1.Items[ListBox1.ItemIndex];
s sera égal à l'item selectionné (si selection il y a).

<hr />
L'Armand joue, l'arme en joug... www.art-ment.com
Messages postés
73
Date d'inscription
mardi 3 avril 2007
Statut
Membre
Dernière intervention
12 mai 2013

ouos desoler j'avais pas vue vos poste  

merci a vous 2

Cantador trop bien  la fonction et elle marche tres bien...

ps:je me douter bien que il y a avais une meilleur solution...

merci...