Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ListBox.Selected 
:(
    Опции темы
Wan22
Дата 22.9.2012, 20:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 28.12.2010

Репутация: нет
Всего: нет



Можно ли прописать строку  >if ListBox1.Selected[3] or ListBox1.Selected[12] or ListBox1.Selected[15] or ListBox1.Selected[24] then <
покороче? Ну и если - да, то покажите как.  smile 
Код

 begin
   if ListBox1.Selected[3] or ListBox1.Selected[12] or ListBox1.Selected[15] or ListBox1.Selected[24] then 
      Lbl5.Caption := Utf8ToAnsi(PChar(msg.LParam))
    else
      Lbl5.Caption := PChar(msg.LParam);
 end;

PM MAIL   Вверх
БелАмор
Дата 22.9.2012, 21:31 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 209
Регистрация: 10.6.2010
Где: Россия

Репутация: 7
Всего: 17



Самое простое, что здесь напрашивается - воспользоваться оператором with и вынести ListBox1 за скобки:

Код

  with ListBox1 do
     if Selected[3] or Selected[12] or Selected[15] or Selected[24] then 
      Lbl5.Caption := Utf8ToAnsi(PChar(msg.LParam))
    else
      Lbl5.Caption := PChar(msg.LParam);

Можно, в принципе, написать отдельную функцию для проверки, в которую передавать ссылку на листбокс и массив индексов, но это будет оправдано только при многократном использовании или наличии каких-то дополнительных выгод от такого решения.

PM   Вверх
northener
Дата 22.9.2012, 23:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1361
Регистрация: 2.9.2010

Репутация: 12
Всего: 20



Сам код из топика вызывает недоумение.


--------------------
Но только лошади летают вдохновенно.
Иначе лошади разбились бы мгновенно!
PM MAIL   Вверх
Wan22
Дата 23.9.2012, 19:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 28.12.2010

Репутация: нет
Всего: нет



Цитата(northener @ 22.9.2012,  23:57)
Сам код из топика вызывает недоумение.

smile Ну что поделать если я самоучка. Поэтому и код наверное странный.    
Ну а написал так по следующей причине:
В листбоксе   около 40 адресов радиостанций. При выделении какой либо станции, начинается проигрывание, и в лейблы выводится информация о потоке. Но у некоторых станций
русские символы названия песен выводится кракозябрами. При всем этом большинство станций отображает титры в лейбле правильно, независимо, русскими они отображаются буквами или английскими. Поэтому решил сделать перекодировку при помощи Utf8ToAnsi только выборочно, где кракозябры. 
P.S. Если проблему с кракозябрами можно решить как-нить более грамотно, то принимаю любую помощь.  smile 
PM MAIL   Вверх
Vas
Дата 24.9.2012, 10:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 830
Регистрация: 29.6.2005
Где: Stavropol region

Репутация: нет
Всего: 28



А изменение списка радиостанций потребует перекомпиляции проекта?
Создайте файл, в нем храните список радиостанций с дополнительными параметрами. Загружайте в список и уже в зависимости от параметров выполняйте нужные действия. 

Это сообщение отредактировал(а) Vas - 24.9.2012, 10:03


--------------------
И опыт, сын ошибок трудных, И гений, парадоксов друг, И случай, бог изобретатель. ... (А.С. Пушкин)
PM MAIL   Вверх
Wan22
Дата 24.9.2012, 15:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 28.12.2010

Репутация: нет
Всего: нет



Цитата(Vas @  24.9.2012,  10:02 Найти цитируемый пост)
А изменение списка радиостанций потребует перекомпиляции проекта?

В данный момент, потребуется, так как список у меня в массиве. Вообще вывести список станций в файл я уже и сам хочу, чтобы была возможность редактирования
списка юзером. Но это уже другая тема.

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0701 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.