Вверх ↑
Ответов: 5227
Рейтинг: 587
#1: 2010-01-08 10:51:26 ЛС | профиль | цитата
[b]MAV[/b], да помнится схемка. Этот скрипт по идее должен показывать расширенные свойства файла, это к примеру если на MP3 файле открыть свойства ->вкладка сводка, это скорей всего и будут все расширенные своиства для данного типа расширения. Честно говоря не совсем коректно наверно эти свойства извлекать таким образом (грубо говоря с уже заданными именами столбцов, наверно надо пойти другим путём и в цикле их определить, ну а потом подсовывать данные для них. Примерно так

Add(MainForm,2953706,140,84)
{
Width=735
Height=546
}
Add(Button,5961507,140,140)
{
Left=10
Top=10
Width=45
TabOrder=-1
Layout="horiz"
HeightScale=100
Caption="File"
link(onClick,2938612:doExecute,[])
}
Add(StringTable,15335717,322,140)
{
Left=60
Top=5
Width=660
Height=500
ClearAll=0
Point(doAddColumn)
}
Add(VBJScript,8070509,252,140)
{
WorkPoints=#6:doWork|
EventPoints=#6:onRead|7:onClear|8:onColumn|
Script=#55:Dim strPath, strFilename, strTmp, intInit : intInit = 0|51:Set objShellApp = CreateObject("Shell.Application")|52:Set FSO = CreateObject("Scripting.FileSystemObject")|0:|23:Sub doWork(Data, Index)|22: 'sys.onClear nil|6: |45: strPath = FSO.GetParentFolderName(Data)|41: strFilename = FSO.GetFileName(Data)|0:|52: Set objFolder = objShellApp.NameSpace(strPath)|0:|76: 'Самая тормозная часть (верней лишняя операция (лучше что-то придумать|95: 'например работать уже с массивом файлов), при учёте если данные поступают нерерывно, т.е|90: 'например при сканировании директории), будем проверять появились заголовки или нет |25: If intInit = 0 Then|69: ' подсунем фигу (obj) и получим заголовки :) (пустые пропустим)|92: ' подозреваю что Count это и есть число доступных расширенных свойств файла в системе |42: For i=0 to objFolder.Items().Count|51: If objFolder.GetDetailsOf(obj,i)<> "" Then|52: sys.onColumn objFolder.GetDetailsOf(obj,i)|18: End If |12: Next|20: intInit = 1 |12: End If|5: |52: Set objItem = objFolder.ParseName(strFilename)|8: |42: For i = 0 to objFolder.Items().Count|49: 'Проверим есть-ли колонка под свойство|54: If objFolder.GetDetailsOf(obj,i)<> "" Then |72: strTmp = strTmp & objFolder.GetDetailsOf(objItem, i) & ";"|20: End if |18: Next |24: sys.onRead strTmp |22: strTmp ="" |7:End Sub|
UseName=0
link(onRead,15335717:doAdd,[])
link(onClear,15335717:doClear,[])
link(onColumn,15335717:doAddColumn,[(303,160)(303,181)])
}
Add(ODialog,2938612,196,140)
{
Select=1
link(onExecute,8070509:doWork,[])
}
Add(InfoTip,3908200,140,203)
{
Info=#128:Все открываемые файлы должны иметь одинаковое расширение т.к имена столбцов создаются именно для одного и тогоже типа расширений|
Font=[MS Sans Serif,8,1,255,1]
Width=484
}

карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
1
Голосовали:MAV