Динамические папки с копированием скрипта

Post Reply
Eugene
Posts: 2805
Joined: Tue Sep 16, 2008 7:30 pm

Динамические папки с копированием скрипта

Post by Eugene »

Этот пример демонстрирует возможность создавать динамические папки и копировать скрипт в свойства дочерних элементов для создания последующих уровней навигации. Может быть использован для папки Коллекции (плейлисты) или Интернет-телевидение (радио)

Папка "Интернет телевидение" - нажать кнопку "Добавить папку"
Заголовок: Динамические папки
Тип: Динамическая (скрипт)
Нажать кнопку Скрипт

Выражение

Code: Select all

const
  mpiFolderType         = 200;  
  mpiDynamicScript      = 500;
  mpiDynamicSyntaxType  = 501;  

function ItemLevel(aItem: THmsScriptMediaItem): Integer;
begin
  Result := -1;
  while aItem <> nil do begin
    aItem := aItem.ItemParent;
    Inc(Result)
  end    
end;

var
  ChildFolder: THmsScriptMediaItem;  
  i: Integer;
begin
//  HmsLogMessage(mtiInfo, FolderItem.Properties[mpiTitle]);
  if ItemLevel(FolderItem) < 10 then begin
    for i := 1 to 5 do begin
      ChildFolder := FolderItem.AddFolder(FolderItem.Properties[mpiTitle] + '_' + IntToStr(i));
      if ChildFolder <> nil then begin    
        ChildFolder.Properties[mpiFolderType] := FolderItem.Properties[mpiFolderType];        
        ChildFolder.Properties[mpiDynamicScript] := FolderItem.Properties[mpiDynamicScript];
        ChildFolder.Properties[mpiDynamicSyntaxType] := FolderItem.Properties[mpiDynamicSyntaxType];        
      end
    end    
  end else  
    for i := 1 to 5 do         
      HmsCreateMediaItem(FolderItem.Properties[mpiTitle] + '_Item_' + IntToStr(i), FolderItem.ItemID);
end.
Ok - Ok
dynfolders.jpg
dynfolders.jpg (169.54 KiB) Viewed 15321 times
Post Reply