Главная страница
    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.003 c
2-1277787890
zergost
2010-06-29 09:04
2010.09.26
данные поля на форме


2-1278037272
novai
2010-07-02 06:21
2010.09.26
Записать содержимое GetMem в файл


15-1278069139
Вася Пчелкин
2010-07-02 15:12
2010.09.26
birt/eclipse


2-1278005352
faiwer
2010-07-01 21:29
2010.09.26
Уборка мусора


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





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский