Listbox et items selectionné [Résolu]

Messages postés
73
Date d'inscription
mardi 3 avril 2007
Dernière intervention
12 mai 2013
- - Dernière réponse : f0xi
Messages postés
4307
Date d'inscription
samedi 16 octobre 2004
Dernière intervention
2 janvier 2019
- 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 

Votre réponse

6 réponses

Meilleure réponse
Messages postés
4996
Date d'inscription
dimanche 26 février 2006
Dernière intervention
27 mars 2018
15
3
Merci
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

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 90 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_cantador
Messages postés
73
Date d'inscription
mardi 3 avril 2007
Dernière intervention
12 mai 2013
3
Merci
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+

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 90 internautes nous ont dit merci ce mois-ci

Commenter la réponse de shell13010
Messages postés
4307
Date d'inscription
samedi 16 octobre 2004
Dernière intervention
2 janvier 2019
33
3
Merci
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.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 90 internautes nous ont dit merci ce mois-ci

Commenter la réponse de f0xi
Messages postés
316
Date d'inscription
vendredi 21 septembre 2007
Dernière intervention
6 février 2013
0
Merci
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
Messages postés
316
Date d'inscription
vendredi 21 septembre 2007
Dernière intervention
6 février 2013
0
Merci
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
Messages postés
73
Date d'inscription
mardi 3 avril 2007
Dernière intervention
12 mai 2013
0
Merci
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.