Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
12 / 10 / 5
Регистрация: 22.07.2015
Сообщений: 215
1

Объясните строку в исходнике

17.08.2017, 18:00. Показов 734. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Смотрю исходники архиватора. Натолкнулся на такую строчку.

Delphi
1
2
3
4
function TAbSelList.IsSelected(Index : Longint) : Boolean;
begin
  Result := FList.IndexOf(Pointer(Index)) >= 0;
end;
может кто то пояснить кто то вот эту часть кода:
Delphi
1
  Result := FList.IndexOf(Pointer(Index)) >= 0;
не понятна вот эта часть:
Delphi
1
  Result:= ... >= 0;
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.08.2017, 18:00
Ответы с готовыми решениями:

Объясните строку
Что делает эта строка? ОсобыйРежимПроведения =...

объясните строку
StringGrid1.cells:=edit3.text; Обясните по буквам т е все в этой строке

Объясните строку
Здравствуйте! Объясните пожалуйста, что происходит в этой строке кода: string result = new...

Объясните строку кода
Давно хотел спросить, но все стеснялся. ) Вот что происходит в последней строчке приведенного...

7
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
17.08.2017, 18:51 2
Цитата Сообщение от Setix Посмотреть сообщение
Result:= ... >= 0;
Если FList.IndexOf(Pointer(Index))>=0 то значение функции = true, иначе false.
1
5786 / 4528 / 1431
Регистрация: 14.04.2014
Сообщений: 20,160
Записей в блоге: 20
17.08.2017, 20:46 3
pointer(index) это просто предлагается компилятору целое число index считать указателем (pointer)
indexOf - это функция, которая проверяет есть такое значение в списке или нет
если нет, выдает -1 , если есть - номер в списке по порядку, начиная с нуля
1
пофигист широкого профиля
4735 / 3168 / 860
Регистрация: 15.07.2013
Сообщений: 18,255
18.08.2017, 02:16 4
Цитата Сообщение от Setix Посмотреть сообщение
может кто то пояснить кто то вот эту часть кода:
Result := FList.IndexOf(Pointer(Index)) >= 0;
Не видя всего исходного кода никто не сможет. Ибо тут автор кода что-то, зачем-то мудрил.
0
5786 / 4528 / 1431
Регистрация: 14.04.2014
Сообщений: 20,160
Записей в блоге: 20
18.08.2017, 06:46 5
да ничего не мудрил
FList:TList
у него Items[index] : pointer
соответственно
IndexOf(pointer)
0
12 / 10 / 5
Регистрация: 22.07.2015
Сообщений: 215
18.08.2017, 11:13  [ТС] 6
Всем спс за ответы. Меня вот это интересовало.
Delphi
1
Если FList.IndexOf(Pointer(Index))>=0 то значение функции = true, иначе false.
Просто 2 раз сталкиваюсь с такой записью.
Выше описанная функция проверяет запись в лист боксе: если она не выделена, то -1. Если выделена, то 0.
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
18.08.2017, 11:50 7
Цитата Сообщение от Setix Посмотреть сообщение
если она не выделена, то -1. Если выделена, то 0.
Если не выделена, то false=0, если выделена то true<>0. Например
Delphi
1
showmessage(booltostr(2>1))
выдаст -1.
0
592 / 459 / 147
Регистрация: 09.12.2013
Сообщений: 2,385
Записей в блоге: 2
18.08.2017, 19:11 8
Цитата Сообщение от Setix Посмотреть сообщение
не понятна вот эта часть:
Просто "больше либо равно" это логический оператор сравнения, он вычисляется и даёт результат в виде Boolean.
Delphi
1
Result:= ( 10 + 3 );
В присваивание значения Result попадёт уже "13", а тут:
Delphi
1
Result:= ( 10 > 3 );
В присваивание значения Result попадёт уже "True".
0
18.08.2017, 19:11
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.08.2017, 19:11
Помогаю со студенческими работами здесь

Объясните строку кода
if ( GetFileAttributes( _T(&quot;C:\myfolder\myfile.txt&quot;) ) != (DWORD)-1 ) как понять (DWORD)-1 и...

Объясните строку, пожалуйста)
Условия задачи: Даны две строки, сформировать третью из символов, встречающихся более 2-х раз. Я...

Объясните строку в коде
привет, здесь кусок кода с моими комментами и в конце вопрос. Пожалуйста объясните почему и зачем....

Объясните строку кода
Программа подсвечивает цветом определенные слова, поясните пожалуйста вот эту строку кода k...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru