Listbox et items selectionné [Résolu]

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

Merci cs_cantador 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 90 internautes ce mois-ci

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

Merci shell13010 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 90 internautes ce mois-ci

Commenter la réponse de shell13010
Meilleure réponse
Messages postés
4304
Date d'inscription
samedi 16 octobre 2004
Dernière intervention
9 mars 2018
- 7 avril 2009 à 03:51
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.

Merci f0xi 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 90 internautes 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
- 6 avril 2009 à 16:42
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
- 6 avril 2009 à 16:57
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
- 6 avril 2009 à 17:22
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.