![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
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 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!