Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 17.04.2009, 17:53
Ksully Ksully вне форума
Прохожий
 
Регистрация: 17.04.2009
Сообщения: 23
Репутация: 10
По умолчанию ListBox Image

Я добавляю определенные слова из одного ListBox1 в другой ListBox2, и из ListBox2 нужно вывести картинки из файла в Image, соответствуюшие кажд слову. Например есть в ListBox2 слова: кошка, собака. И при нажатии Button появляются картинки кошка и собака. не могу этого сделать, может кто-нибудь помочь?
Ответить с цитированием
  #2  
Старый 17.04.2009, 17:57
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,036
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Где должны выводиться картинки.
А вообще, итемы в листбокс надо добавлять через AddObject, где в качестве объекта можно указать какой-нить уникальный ID типа Integer. по этому ID и выводишь картинки.
Ответить с цитированием
  #3  
Старый 17.04.2009, 17:59
Аватар для Karsh
Karsh Karsh вне форума
Активный
 
Регистрация: 22.09.2007
Адрес: SPb
Сообщения: 228
Версия Delphi: 7, 2009, XE2
Репутация: 70
По умолчанию

Вот так при клике мышкой в листбоксе можно узнать текст выделенной строки:
Код:
procedure TForm1.ListBox1Click(Sender: TObject);
var
  x: Integer;
  s: string;
begin
  x:= ListBox1.ItemIndex;
  if x < 0 then exit;
  s:= ListBox1.Items[x];
  ShowMessage(s);
end;
вмечто "ShowMessage(s);" можно подставить код сравнения строки S и показа картинки.
__________________
Начинающий программист уверен, что в 1 килобайте 1000 байт.
Законченный программист уверен, что в 1 километре 1024 метра.
Ответить с цитированием
  #4  
Старый 17.04.2009, 18:00
Ksully Ksully вне форума
Прохожий
 
Регистрация: 17.04.2009
Сообщения: 23
Репутация: 10
По умолчанию

Нет, картинку нужно вывести не в листбокс, а просто отдельно, в имейдж или другой компонент. Я не могу сделать чтобы определенному слову соответсвовала своя картинка
Ответить с цитированием
  #5  
Старый 17.04.2009, 18:02
Аватар для Karsh
Karsh Karsh вне форума
Активный
 
Регистрация: 22.09.2007
Адрес: SPb
Сообщения: 228
Версия Delphi: 7, 2009, XE2
Репутация: 70
По умолчанию

вот так можно узнать какие строки выделены:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  i: Integer;
  s: string;
begin
  for i:= 0 to ListBox1.Items.Count - 1 do
  begin
    if ListBox1.Selected[i] then s:= s + 'Выделена строка ' + IntToStr(i+1) + #13#10;
  end;
  ShowMessage(s);
end;
__________________
Начинающий программист уверен, что в 1 килобайте 1000 байт.
Законченный программист уверен, что в 1 километре 1024 метра.
Ответить с цитированием
  #6  
Старый 19.04.2009, 13:06
Ksully Ksully вне форума
Прохожий
 
Регистрация: 17.04.2009
Сообщения: 23
Репутация: 10
По умолчанию

Всем спасибо за ответы))))
Я все попробовала, да все работает, но мне нужно немного другое... Мне нужно, что бы не выделять строку и проверять что там написано, а чтобы он без выделения (или выделяя все слова) видел сразу все строки и нажимая на button рисовал картинки, соответствующие тем словам, которые есть в списке....
Вот я не могу этого добиться.(это мне нужно для того, что бы если убираешь слово из списка, то и убиралась и картинка....)
Подскажите????
Ответить с цитированием
  #7  
Старый 19.04.2009, 22:54
Аватар для Karsh
Karsh Karsh вне форума
Активный
 
Регистрация: 22.09.2007
Адрес: SPb
Сообщения: 228
Версия Delphi: 7, 2009, XE2
Репутация: 70
По умолчанию

Список строк в ListBox имеет тип TStrings.
Вот пример работы с ним:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  i: Integer;
  s: string;
begin
  for i:= 0 to ListBox1.Items.Count - 1 do
  begin
    s:= ListBox1.Items[i];
    ShowMessage('Строка: ' + s);
  end;
end;
__________________
Начинающий программист уверен, что в 1 килобайте 1000 байт.
Законченный программист уверен, что в 1 километре 1024 метра.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 19:28.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter