Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.02 c
6-1226523473
Yozch1
2008-11-12 23:57
2010.09.26
Учесть в программе используемый в системе Proxy


2-1277817802
12
2010-06-29 17:23
2010.09.26
подключить ресурс (zip архив)


15-1277806505
ficus
2010-06-29 14:15
2010.09.26
Творческий кризис


2-1278051476
linuxoid
2010-07-02 10:17
2010.09.26
как сохранить дополнительные данные к узлам в treeview


3-1245388368
Danchik_0518
2009-06-19 09:12
2010.09.26
Вопросы по экспорту данных в MS Excel





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский