Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Delphi > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 02.06.2010, 18:47   #1
leonw
Пользователь
 
Регистрация: 08.08.2008
Сообщений: 39
Радость поиск по Listbox

Здравствуйте! как сделать поиск по ЛистБох если Буква или слово Которое я ищу находится в середине или в конце?
Код:
ListBox3.Perform(LB_SELECTSTRING,-1,longint(Pchar(Edit3.text)));
например "Гараж.Желтый.Металический".
т.е набрал ж.Ж= и курсор переместился на эту строчку или Металический.
Спасибо!
leonw вне форума Ответить с цитированием
Старый 02.06.2010, 18:52   #2
bitSoft
Programming...
Форумчанин
 
Аватар для bitSoft
 
Регистрация: 13.03.2010
Сообщений: 198
По умолчанию

ispozlzuvai Pos,
Код:
With TProgrammersForum.Create do  AddNewTopic('Title','Content...');
bitSoft вне форума Ответить с цитированием
Старый 02.06.2010, 20:20   #3
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,805
По умолчанию

Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
ListBox1.Items.Add('1');
  ListBox1.Items.Add('2');
    ListBox1.Items.Add('3');
      ListBox1.Items.Add('4');
        ListBox1.Items.Add('5');
end;

procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
begin
for i := 0 to ListBox1.Items.Count - 1 do
  if ListBox1.Items[i] = Edit1.Text then
    ShowMessage(ListBox1.Items[i]);
end;
Shouldercannon вне форума Ответить с цитированием
Старый 06.06.2010, 03:32   #4
leonw
Пользователь
 
Регистрация: 08.08.2008
Сообщений: 39
Сообщение error

Shouldercannon - не, здеся он ищет слово целиком
а если надо найти середку слова
Спасибо!
leonw вне форума Ответить с цитированием
Старый 06.06.2010, 09:28   #5
BOGGAD-BS
 
Регистрация: 05.06.2010
Сообщений: 6
По умолчанию

Функция ищет первое совпадение в листбоксе и возвращает индекс строки в которой это совпадение находиться; если ничего не найдено возвращает -1:
Код:
function ListBoxFind(template:string; listbox:TListBox):integer;
var i,j:integer;
begin
for i:=1 to listbox.Count do
begin
     if Pos(template,listbox.Items.Strings[i])<>0 then 
          begin
          Result:=i;
          exit;
    end;
end;
Result:=-1;
end;
BOGGAD-BS вне форума Ответить с цитированием
Старый 06.06.2010, 09:58   #6
CraftR14
Все к лучшему...
Форумчанин
 
Регистрация: 06.04.2010
Сообщений: 112
По умолчанию

хм.. я делал так
Код:
procedure TForm1.Edit5Change(Sender: TObject);
var
  u:integer;
begin
  for u:=0 to ListBox1.Count-1 do
   if pos(AnsiUpperCase(Edit5.Text),AnsiUpperCase(ListBox1.Items[u]))>0 then
    begin
     ListBox1.Selected[u]:=true;
     exit;
    end;
end;
ищет вовремя изменения текста и не нада кнопочку поиск)
CraftR14 вне форума Ответить с цитированием
Старый 06.06.2010, 10:05   #7
BOGGAD-BS
 
Регистрация: 05.06.2010
Сообщений: 6
По умолчанию

Цитата:
ListBox1.Selected[u]:=true;
хм.. это он чо тупо выделяет итемсы? а если этот итем уже изменён? с него выделение не снимаеться. А мой код можно поставить куда хошь. хоть в таймер хоть в onKeyPress))
BOGGAD-BS вне форума Ответить с цитированием
Старый 06.06.2010, 10:16   #8
CraftR14
Все к лучшему...
Форумчанин
 
Регистрация: 06.04.2010
Сообщений: 112
По умолчанию

Цитата:
Сообщение от BOGGAD-BS Посмотреть сообщение
хм.. это он чо тупо выделяет итемсы? а если этот итем уже изменён? с него выделение не снимаеться. А мой код можно поставить куда хошь. хоть в таймер хоть в onKeyPress))
попробуйте.
CraftR14 вне форума Ответить с цитированием
Старый 06.06.2010, 10:37   #9
ZuBy
Участник клуба
 
Аватар для ZuBy
 
Регистрация: 29.09.2008
Сообщений: 1,234
По умолчанию

CraftR14, нужно сначала скинуть все выделения, потом уже ставить выделение на определенный item.

У тебя наверно не стояло MultiSelect, поставь и посмотри что будет
ZuBy вне форума Ответить с цитированием
Старый 07.06.2010, 17:57   #10
leonw
Пользователь
 
Регистрация: 08.08.2008
Сообщений: 39
Радость Спасибо!

Спасибо!
leonw вне форума Ответить с цитированием
Ответ
Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ListBox и поиск в нем Aqil_f Microsoft Office Excel 6 15.04.2010 13:25
Поиск в listbox, но дургой Черничный Общие вопросы Delphi 3 30.06.2008 21:28
Поиск в ListBox Spectre Компоненты Delphi 9 14.01.2008 21:04
Поиск записей в ListBox Askat БД в Delphi 1 18.06.2007 10:05
Поиск в ListBox kodov Компоненты Delphi 2 19.03.2007 21:58