Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.09.26;
Скачать: CL | DM;

Вниз

Добавление скрытого значения в элемент listbox   Найти похожие ветки 

 
4e6ypek ©   (2010-06-29 17:45) [0]

Товарищи! Помогите решить проблему!!! Суть такова - надо в элемент listbox, помимо отображаемой надписи, записать целое число чтобы в последствии считать его из элемента через ItemIndex.
Подробнее: есть listbox, строки которого заполняются циклом из книги excel, и image, в котором в зависимости от listbox.itemindex отображается определённое изображение. Необходимо записать номер строки excel, из которой заполняется listbox.item, в этот item, чтобы потом в методе image.picture.loadfromfile можно было обратиться к ячейке содержащей имя файла.
Погуглил, почитал, вроде можно это осуществить используя listBox.items.addobject. Попробовал - listbox всё также заполняется, но что-то число толи не записывается толи у мну ручки кривые, что я не могу его извлечь...
Буду премного благодарен за любую помощь/советы всем откликнувшимся, дело оч срочное!!!
Ниже прилагаю код:
[QUOTE]unit Unit3;

interface

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

type
 TForm3 = class(TForm)
   ListBox1: TListBox;
   Button1: TButton;
   Button2: TButton;
   Image1: TImage;
   Edit1: TEdit;
   Edit2: TEdit;
   Edit3: TEdit;
   Label1: TLabel;
   Label2: TLabel;
   Label3: TLabel;
   Label4: TLabel;
   procedure Button2Click(Sender: TObject);
   procedure FormShow(Sender: TObject);
   procedure ListBox1Click(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form3: TForm3;

implementation

uses unit1, unit2;

var
 x,i : integer;

{$R *.dfm}

procedure TForm3.Button2Click(Sender: TObject);
begin
 Form3.Close;
 Form2.Show;
end;

procedure TForm3.FormShow(Sender: TObject);
begin
   if Form1.RadioGroup1.ItemIndex=0 then
     for i:=2 to Sheet2.UsedRange.Rows.Count do
       ListBox1.Items.Add(Sheet2.Cells[i,1])
   else
     for i:=2 to Sheet2.UsedRange.Rows.Count do
       if Sheet2.Cells[i,Form1.RadioGroup1.ItemIndex + 2].Value=1
       then ListBox1.Items.AddObject(Sheet2.Cells[i,1], TObject(i));
end;

procedure TForm3.ListBox1Click(Sender: TObject);
begin
 Button1.Enabled:=True;
 x:=Integer(ListBox1.Items.Objects[Listbox1.ItemIndex]);
 Label4.Caption:=Inttostr(x);
 //  Image1.Picture.LoadFromFile(Sheet2.Cells[x, 2]);
 Edit1.Text:=Sheet2.Cells[ListBox1.ItemIndex+2, 3];
 Edit2.Text:=Sheet2.Cells[ListBox1.ItemIndex+2, 4];
end;

end.[/QUOTE]


 
zlo   (2010-06-29 18:33) [1]

Tag?


 
CrytoGen   (2010-06-29 19:06) [2]

ну и что же у вас там извлекается?
судя по всему у вас не для всего списка числа добавляются. может в этом проблема?



Страницы: 1 вся ветка

Текущий архив: 2010.09.26;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.01 c
11-1223506346
AnarchyMob
2008-10-09 02:52
2010.09.26
Ассемблер и Win CE


2-1277819139
4e6ypek
2010-06-29 17:45
2010.09.26
Добавление скрытого значения в элемент listbox


15-1277833769
bss
2010-06-29 21:49
2010.09.26
Интересный вызов Initialization секции в BPL


15-1277890295
ocean
2010-06-30 13:31
2010.09.26
Интеграция AD с внешней почтой


2-1277826858
DROWSY
2010-06-29 19:54
2010.09.26
В каком пакете находятся?