Вверх ↑
Этот топик читают: Гость
Ответов: 215
Рейтинг: 45
#31: 2009-04-23 20:08:03 ЛС | профиль | цитата
Ещё бы статейку по объекту WScript в HiAsm + VBScript, что и почему не работает и обходные методы
+ пояснения об отличиях HiAsm VBScript от Microsoft VBScript (наверно будет достаточно отсылки к хелпу)
карма: 0

0
Ответов: 5227
Рейтинг: 588
#32: 2009-04-23 20:11:39 ЛС | профиль | цитата
Леонид, осталось три шага, надеюсь осилю если серьёзных препядствий не возникнет.
Assasin, ещё раз повторюсь что старался коментировать по максимуму, иначе большой пользы от этого конечно небудет.
------------ Дoбавленo в 20.16:
lev писал(а):
по объекту WScript

да надо конечно упомянуть,
lev писал(а):
обходные методы
,lev, кроме как через командную строку на ум больше ничего не приходит
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Ответов: 970
Рейтинг: 270
#33: 2009-12-31 18:50:51 ЛС | профиль | цитата
а где взять эти шаги?
карма: 0

0
Ответов: 5227
Рейтинг: 588
#34: 2009-12-31 20:37:51 ЛС | профиль | цитата
Genius, с Новым годом , прикрепил 6, седьмой на работе а я уже под градусом (Новый Год как никак настаёт )
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
1
Голосовали:Genius
Ответов: 4641
Рейтинг: 334
#35: 2010-01-06 19:57:10 ЛС | профиль | цитата
Genius писал(а):
а где взять эти шаги?

в публикаторе в разделе Scripts ! Схема Hiasm VBS
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 5227
Рейтинг: 588
#36: 2010-01-07 17:33:33 ЛС | профиль | цитата
Ravilr, я надеюсь ты граматические ошибки исправил, а то я писака ещё тот
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Ответов: 4641
Рейтинг: 334
#37: 2010-01-07 18:08:08 ЛС | профиль | цитата
andrestudio писал(а):
я надеюсь ты граматические ошибки исправил
andrestudio,
так это же авторский текст. Оставил как есть
карма: 1
Время верстки: %cr_time% Текущее время: %time%
1
Голосовали:Tad
Ответов: 5227
Рейтинг: 588
#38: 2010-01-07 21:22:05 ЛС | профиль | цитата
Ravilr, изверг
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Ответов: 8888
Рейтинг: 823
#39: 2010-01-07 21:38:44 ЛС | профиль | цитата
andrestudio,
Ravilr писал(а):
так это же авторский текст. Оставил как есть
от этого ответа я тоже был под столом
карма: 19

0
Ответов: 5227
Рейтинг: 588
#40: 2010-01-07 21:49:34 ЛС | профиль | цитата
Ага, без меня меня женили, или как говорил Черномырдин "Мы всё время куда ни будь вступаем, вступаем и обязательно куда ни будь наступим" , начинаю только сожалеть что в школе русский прогуливал в курилке
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Ответов: 1304
Рейтинг: 405
#41: 2010-01-08 00:47:26 ЛС | профиль | цитата
andrestudio, есть вопросик по скрипту, по всей видимости он твой , правда я там немного строчек добавил.


Add(MainForm,4301602,-87,35)
{
Width=543
Height=403
Caption="MP3 Info"
WindowsState=2
}
Add(FilePart,10795269,109,105)
{
NameWOExt=1
link(onPath,10020164:doValue,[])
link(onName,7314340:doValue,[])
}
Add(Memory,10020164,158,105)
{
}
Add(Memory,7314340,165,112)
{
}
Add(Hub,1112375,74,105)
{
link(onEvent1,10795269:doPart,[])
link(onEvent2,1062235:doWork,[(100,118)(100,167)])
}
Add(StringTable,3679155,242,161)
{
Width=535
Height=369
Align=5
Columns=#7:Имя=100|10:Размер=100|7:Тип=100|11:Изменен=100|17:Дата создания=100|10:Открыт=100|12:Атрибуты=100|13:Состояние=100|9:Title=100|10:Artist=100|14:Dimensions=100|12:Duration=100|9:Muxer=100|10:Codecs=100|12:Владелец=100|9:Автор=100|8:Тема=100|13:Категория=100|12:Страницы=100|15:Комментарий=100|19:Авторские права=100|15:Исполнитель=100|10:Альбом=100|7:Год=100|16:Номер записи=100|8:Жанр=100|18:Качество звука=100|10:Защита=100|17:Модель камеры=100|15:Дата снимка=100|6:31=100|6:32=100|18:Название серии=100|26:Описание телепрограммы=100|6:35=100|24:Размер аудио образца=100|25:Частота дискретизации=100|10:Каналы=100|
Grid=0
Point(onMouseDown)
link(onMouseDown,1494592:doCompare,[])
}
Add(VBJScript,1062235,158,161)
{
WorkPoints=#6:doWork|
EventPoints=#6:onRead|
DataPoints=#4:Path|8:FileName|
Script=#24:Sub doWork (Data, Index)|0:|55: Set objShellApp = CreateObject("Shell.Application")|51: Set objFolder = objShellApp.NameSpace(sys.Path)|51: Set objItem = objFolder.ParseName(sys.Filename)|0:|32: strResult = vbNullString|64: strResult = objFolder.GetDetailsOf(objItem, 0) & ";" &_|51: objFolder.GetDetailsOf(objItem, 1) & ";" &_|51: objFolder.GetDetailsOf(objItem, 2) & ";" &_|51: objFolder.GetDetailsOf(objItem, 3) & ";" &_|51: objFolder.GetDetailsOf(objItem, 4) & ";" &_|51: objFolder.GetDetailsOf(objItem, 5) & ";" &_|51: objFolder.GetDetailsOf(objItem, 6) & ";" &_|51: objFolder.GetDetailsOf(objItem, 7) & ";" &_|51: objFolder.GetDetailsOf(objItem, 8) & ";" &_|51: objFolder.GetDetailsOf(objItem, 9) & ";" &_|52: objFolder.GetDetailsOf(objItem, 10) & ";" &_|52: objFolder.GetDetailsOf(objItem, 11) & ";" &_|52: objFolder.GetDetailsOf(objItem, 12) & ";" &_|52: objFolder.GetDetailsOf(objItem, 13) & ";" &_|52: objFolder.GetDetailsOf(objItem, 14) & ";" &_|52: objFolder.GetDetailsOf(objItem, 15) & ";" &_|52: objFolder.GetDetailsOf(objItem, 16) & ";" &_|52: objFolder.GetDetailsOf(objItem, 17) & ";" &_|52: objFolder.GetDetailsOf(objItem, 18) & ";" &_|52: objFolder.GetDetailsOf(objItem, 19) & ";" &_|52: objFolder.GetDetailsOf(objItem, 20) & ";" &_|52: objFolder.GetDetailsOf(objItem, 21) & ";" &_|52: objFolder.GetDetailsOf(objItem, 22) & ";" &_|52: objFolder.GetDetailsOf(objItem, 23) & ";" &_|52: objFolder.GetDetailsOf(objItem, 24) & ";" &_|52: objFolder.GetDetailsOf(objItem, 25) & ";" &_|52: objFolder.GetDetailsOf(objItem, 26) & ";" &_|52: objFolder.GetDetailsOf(objItem, 27) & ";" &_|52: objFolder.GetDetailsOf(objItem, 28) & ";" &_|52: objFolder.GetDetailsOf(objItem, 29) & ";" &_|52: objFolder.GetDetailsOf(objItem, 30) & ";" &_|52: objFolder.GetDetailsOf(objItem, 31) & ";" &_|52: objFolder.GetDetailsOf(objItem, 32) & ";" &_|52: objFolder.GetDetailsOf(objItem, 33) & ";" &_|52: objFolder.GetDetailsOf(objItem, 34) & ";" &_|52: objFolder.GetDetailsOf(objItem, 35) & ";" &_|52: objFolder.GetDetailsOf(objItem, 36) & ";" &_|52: objFolder.GetDetailsOf(objItem, 37) & ";" &_|43: objFolder.GetDetailsOf(objItem, 38)|28: sys.onRead strResult|0:|7:End Sub|
UseName=0
link(onRead,2365983:doEvent1,[])
link(Path,10020164:Value,[])
link(FileName,7314340:Value,[])
}
Add(If_else,1494592,291,168)
{
Op2=Integer(1)
link(onTrue,5002691:doPopupHere,[])
}
Add(PopupMenu,5002691,340,168)
{
Menu=#21:Открыть каталог с MP3|
link(onClick,5459411:doBrowse,[(383,174)(383,93)(-36,93)(-36,111)])
}
Add(Browse,5459411,-24,105)
{
Title="Выбрать каталог с MP3"
NewStyle=0
NewDirButton=1
link(onBrowse,709306:doSearch,[])
}
Add(FileSearch,709306,32,105)
{
Ext="*.mp3"
link(onSearch,1112375:doEvent1,[])
}
Add(Hub,2365983,207,161)
{
link(onEvent1,3679155:doAdd,[])
link(onEvent2,8550796:doProcessMessages,[(231,174)(231,118)])
}
Add(Application,8550796,242,112)
{
}
Так вот и сам вопрос - что должно быть установленно в системе чтобы скрипт заполнял все поля с имеющимися данными. У меня получается на одном компе скомпилированный файл прекрасно работает на втором только первые восемь полей. Ось одна XP_SP3, но софт установлен разный. Предположил что надо установить vbrun60sp5.exe, не помогло .
карма: 3

0
Ответов: 5227
Рейтинг: 588
#42: 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
Ответов: 1304
Рейтинг: 405
#43: 2010-01-08 22:49:40 ЛС | профиль | цитата
andrestudio, спасибо за пример, и за пояснения по поводу различных шаблонов вывода данных в зависимости от типа файла. Пример code_16380.txt на семёрке половину полей обрезает, ну это не страшно принцип понятен. По поводу непоняток XP_SP3, причина в том что часть функций VB, была заблокирована.

карма: 3

0
Ответов: 5227
Рейтинг: 588
#44: 2010-01-08 23:47:00 ЛС | профиль | цитата
MAV, я честно говоря торопился (жена умудрилась сломать электроплиту, хотя ничего удивительного у меня в семье только ломастеры одни , пришлось делать) сейчас глянул внимательней и ляпы увидел в коментариях (про Count), поправил пример.
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
44
Сообщение
...
Прикрепленные файлы
(файлы не залиты)