Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.10.13;
Скачать: [xml.tar.bz2];

Вниз

Поиск в listview   Найти похожие ветки 

 
xGhost   (2003-10-01 07:35) [0]

В общем есть listview с неизвестным размером строк , приходят данные ( постоянно ) например listview имеет такой состав :
90.0.0.1
90.0.0.2
90.0.0.3
90.0.0.4
90.0.0.5
90.0.0.6
90.0.0.7
( поиск нужен только в 1 колонке например listview1.items[1].caption

и нужно найти приходящие данные в колонке .
Подскажите пожайлуста в каком направлении копать


 
MBo   (2003-10-01 07:52) [1]

Копать в направлении Влево-Вверх.
Там будет кнопка F1, которая вызовет хелп, а в нем можно посмотреть на свойства и методы TListView


 
xGhost   (2003-10-01 08:31) [2]

> MBo

ещё версии есть ?


 
MBo   (2003-10-01 08:46) [3]

А зачем нужны другие версии, если в хелпе есть метод - прямой перевод на английский твоего вопроса?


 
Song   (2003-10-01 09:09) [4]

TListView.FindCaption()


 
xGhost   (2003-10-01 09:11) [5]

> MBo

Скажи как называетьмся раздел в справки а то я что то найти не могу :( уже 15 минут поиска и всё безнадёжно ...


 
xGhost   (2003-10-01 09:15) [6]

> song

нашёл вот что : listview1.FindCaption(0,"11",true,true,true);

как это использовать ? не могу понять :( в справке нет !!!
по крайне мере я не нашёл


 
Song   (2003-10-01 09:19) [7]

Чего там нет, всё там есть.
Returns a list view item, if any, with the specified caption.

function FindCaption(StartIndex: Integer; Value: string; Partial, Inclusive, Wrap: Boolean): TListItem
;

Description

Call FindCaption to search for a list view item labeled by the string specified as the Value parameter. If the Inclusive parameter is True, the list item specified by StartIndex is the first item checked. Otherwise, the search starts on the next item. If the Wrap parameter is True, the search continues at the top of the list if a match has not been found before reaching the bottom. FindCaption returns the first item with the Caption property equal to Value. If the Partial parameter is True, a Caption matches if it starts with the substring Value. If Partial is False, the Caption must match Value exactly. If no item is found, FindCaption returns nil.


 
xGhost   (2003-10-01 09:33) [8]

> Song

Это то я понял ! я не понял как им пользоваться ! примера же нет ... :(


 
Song   (2003-10-01 09:34) [9]

А зачем пример? Здесь непонятно написано?


 
xGhost   (2003-10-01 09:35) [10]

например в переменую s:string заноситься значение номера строки с которой совпало занчения поиска

типа что то s:=ListView.FindCaption() - точно не знаю как написать параметры FindCaption


 
xGhost   (2003-10-01 09:54) [11]

я понял что такое stsrtindex - это с какого элемента начинать поиск ! дальше не понял :(

что такое value ?
что такое Partial ?
что такое inclisive ?
что такое Wrap ?

я не понимаю почему вам так трудно привести пример ? я же не прошу писать мне код я хочу только понять как оно работает ! дальше я спралюсь сам


 
xGhost   (2003-10-01 10:07) [12]

Посмотрел функцию

function TCustomListView.FindCaption(StartIndex: Integer; Value: string;
Partial, Inclusive, Wrap: Boolean): TListItem;
const
FullString: array[Boolean] of Integer = (0, LVFI_PARTIAL);
Wraps: array[Boolean] of Integer = (0, LVFI_WRAP);
var
Info: TLVFindInfo;
Index: Integer;
begin
with Info do
begin
flags := LVFI_STRING or FullString[Partial] or Wraps[Wrap];
psz := PChar(Value);
end;
if Inclusive then Dec(StartIndex);
Index := ListView_FindItem(Handle, StartIndex, Info);
if Index <> -1 then Result := Items[Index]
else Result := nil;
end;

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

код ListView1.FindCaption(0,"90.0.0.1",true,true,true);
не хочет работать :(


 
ZEE   (2003-10-01 10:13) [13]

li:TListItem;
i:integer;
...
li:=ListView1.FindCaption(0,"90.0.0.1",true,true,true);
if li<>nil then i:=li.Index else i:=-1;

попробуй так


 
xGhost   (2003-10-01 10:23) [14]

> ZEE

Спасибо ! но я уже нашёл !

http://delphiworld.narod.ru/base/tlistview_search_text.html


 
xGhost   (2003-10-01 10:58) [15]

В общем всё понял ! только как искать значение в определёном столбце ? пробую так но функция всё равно ищёт в заголовке а не в указаном столбце
lvItem := form1.ListView1.Items[3].ListView.FindCaption(0,fromip,true,true,False);


 
ZEE   (2003-10-01 11:04) [16]

TListView.FindData()


 
xGhost   (2003-10-01 11:09) [17]

> ZEE
Спасибо ещё раз Findata не очень подходит в моём случае :(

нашёл вот что

function FindListViewItem(lv: TListView; const S: string; column: Integer): TListItem;
var
i: Integer;
found: Boolean;
begin
Assert(Assigned(lv));
Assert((lv.viewstyle = vsReport) or (column = 0));
Assert(S <> "");
for i := 0 to lv.Items.Count - 1 do
begin
Result := lv.Items[i];
if column = 0 then
found := AnsiCompareText(Result.Caption, S) = 0
else if column > 0 then
found := AnsiCompareText(Result.SubItems[column - 1], S) = 0
else
found := False;
if found then
Exit;
end;
// No hit if we get here
Result := nil;
end;

работает ! Спасибо всем кто помог мне сегодня !!!



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2003.10.13;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.01 c
1-40494
lightix
2003-10-02 10:49
2003.10.13
Редактирование в StringGrid


14-40587
Дмитри
2003-09-25 10:56
2003.10.13
Что лучше ?


3-40315
VtS
2003-09-22 09:56
2003.10.13
Как заставить в DBGrid показывать содежимое ячейки в Hint


1-40446
Sergp
2003-10-02 15:36
2003.10.13
Помогите справиться с TCoolBar


7-40704
qwerty2
2003-07-27 11:55
2003.10.13
Установить программно сетевой принтер





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