Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

If Path[Length(Path)] <> '\' then



Result:= Path + '\' + FName

else Result:= Path + FName; end;

Как видишь, здесь я пишу просто «function SlashSep …..» не добавляя имени объекта перед именем функции, потому что эта функция самостоятельная.

Эта функция получает два параметра – путь к файлу и имя файла, которые она должна соединить в одну строку, чтобы получился полный путь к файлу. Но сначала мы должны проверить, заканчивается ли путь (первый полученный параметр – Path) знаком ‘ \ ’. Именно это делается в первой строчке кода:

Path[Length(Path)] <> '\'

Переменная Path – это строка типа String, а значит мы можем к ней обращаться как к массиву символов. Это значит что чтобы получить доступ к первому символу мы должны написать Path[1]. Нам нужно проверить последний символ, поэтому в квадратных скобках я пишу Length(Path). Функция Length возвращает длину переданной ей строковой переменной, а это значит, что в квадратных скобках мы указываем длину строки, а это последний символ.

Если бы нам нужен был предпоследний символ, то мы бы написали Path[Length(Path)-1]. В этом случае я из длины строки вычитаю единицу и получаю предпоследний символ.

Если последний символ не равен ‘\’, то я добавляю сначала его, а потом имя файла. Если равен, то нужно только добавить имя файла и записать в переменную Result, чтобы функция вернула полный путь к файлу.

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

Сейчас нас больше интересует работа с компонентом ListView. Следующий код добавляет в список новый элемент: ListView1.Items.Add. Я это делаю внутри конструкции with, значит все последующие действия между begin и end будут выполняться с новым элементом. А именно, я изменяю заголовок нового элемента (Caption:= SearchRec.Name) и картинку (ImageIndex:= ShInfo.iIcon).

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

Чтобы добавить дополнительные колонки к новому элементу надо выполнить SubItems.Add(‘значение’);.

Чтобы колонки отображались, нужно ещё в свойстве Columns указать имена колонок. Если имена колонок не указаны, то ничего отображаться не будет. И не забывай, что при описании колонок первая – это заголовок элементов, а остальные это дополнительные параметры в порядке их добавления с помощью SubItems.Add.

11.22 Улучшенный файловый менеджер (С возможностью запуска файлов)

авай добавим к нашему файловому менеджеру возможность путешествия по директориям и запуска файлов. Для этого нужно создать обработчик события OnDblClick для компонента ListView и написать в нём следующее:

procedure TForm1.ListView1DblClick(Sender: TObject);

begin
// Это директория?
if (ListView1.Selected.SubItems[5] = 'dir') then





Дата публикования: 2014-11-04; Прочитано: 390 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2025 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.129 с)...