Форум: "Начинающим";
Текущий архив: 2010.09.26;
Скачать: [xml.tar.bz2];
ВнизДобавление скрытого значения в элемент 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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.003 c