Listbox et items selectionné [Résolu]

shell13010 73 Messages postés mardi 3 avril 2007Date d'inscription 12 mai 2013 Dernière intervention - 6 avril 2009 à 16:13 - Dernière réponse : f0xi 4304 Messages postés samedi 16 octobre 2004Date d'inscription 9 mars 2018 Dernière intervention
- 7 avril 2009 à 03:51
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...
Afficher la suite 

6 réponses

Répondre au sujet
cs_cantador 4996 Messages postés dimanche 26 février 2006Date d'inscription 27 mars 2018 Dernière intervention - 6 avril 2009 à 17:03
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_cantador
shell13010 73 Messages postés mardi 3 avril 2007Date d'inscription 12 mai 2013 Dernière intervention - 6 avril 2009 à 17:17
+3
Utile
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+
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de shell13010
f0xi 4304 Messages postés samedi 16 octobre 2004Date d'inscription 9 mars 2018 Dernière intervention - 7 avril 2009 à 03:51
+3
Utile
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.

Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de f0xi
L_art_ment 316 Messages postés vendredi 21 septembre 2007Date d'inscription 6 février 2013 Dernière intervention - 6 avril 2009 à 16:42
0
Utile
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
Commenter la réponse de L_art_ment
L_art_ment 316 Messages postés vendredi 21 septembre 2007Date d'inscription 6 février 2013 Dernière intervention - 6 avril 2009 à 16:57
0
Utile
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
Commenter la réponse de L_art_ment
shell13010 73 Messages postés mardi 3 avril 2007Date d'inscription 12 mai 2013 Dernière intervention - 6 avril 2009 à 17:22
0
Utile
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...
Commenter la réponse de shell13010

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.