Страница 13 из 16

Добавлено: Вт янв 05, 2016 17:00
Flasher
wOxxOm, так при LongName=0 покажет правильную единицу измерения (Гб - там, где они есть):

Код: Выделить всё

With CreateObject("Shell.Application").NameSpace(CreateObject("Wscript.Shell").CurrentDirectory)
  Content = .GetDetailsOf(.ParseName(FileName), 1)
End With

Добавлено: Вт янв 05, 2016 19:01
wOxxOm
Flasher, спасибо, тоже полезно, но не мне, т.к. количество разрядов не постоянное: то один, то два (если файл больше 10ГБ, то один разряд).

Добавлено: Вт янв 05, 2016 19:06
Flasher
wOxxOm писал(а):если файл больше 10ГБ, то один разряд
Хм. Не знал.

Добавлено: Пн фев 08, 2016 10:17
Flasher
Mailk
По запросу версий для SLDPRT, SLDLFP, SLDASM.

Пишем в script.ini, например:

Код: Выделить всё

[Script]
Section=SolidFileVersion
[SolidFileVersion]
Script=SolidWorksFile_Version.vbs
и рядом кидаем
SolidWorksFile_Version.vbs

Код: Выделить всё

Set FSO = CreateObject("Scripting.FileSystemObject")
Set Reg = New Regexp
With Reg
  .IgnoreCase = True : .Pattern = "^SLD(PRT|LFP|ASM)$"
  If .Test(FSO.GetExtensionName(FileName)) Then
    Set File = FSO.OpenTextFile(FileName)
    File.Skip(1672) : .Pattern = "VERSION_(\d{2,4})"
    Ver = Replace(File.Read(23), Chr(0), "")
    If .Test(Ver) Then
      Content = .Execute(Ver)(0).SubMatches(0)
    Else
      Search 0, 38, AB, Cont : Content = Cont
      If Cont = "" Then _
      Search FSO.GetFile(FileName).Size + AB - 72000, 50, "", Cont
      Content = Cont
    End If
  End If : Set FSO = Nothing
End With : If Len(Content) Then _
Content1 = Split("2015 2014 2013 2012 2011 2010 2009 2008 2007"&_
" 2006 2005 2004 2003 2001+ 2001 2000 99 98+ 98 97+ 97 96 95")_
((InStr("8000|7000|6000|5000|4700|4400|4100|3800|3400|3100|2800|"&_
"2500|2200|1950|1750|1500|1137|1008| 822| 629| 483| 243|  44|",_
Right("  " & Content &"|",5))-1)/5): File.Close: Set File = Nothing

Sub Search(Skp, Max, Bt, Con)
  B = 512 : Bt = 0 : File.Skip(Skp)
  For i = 1 To Max
    Bt = Bt + B : VPr = File.Read(B)
    Ver = Replace(Ver & VPr, Chr(0), "")
    If Reg.Test(Ver) Then
      n = n + 1 : Con = Reg.Execute(Ver)(0).SubMatches(0)
      If Len(Con) = 4 Or n = 2 Then Exit For Else B = 6
    End If : Ver = VPr
  Next
End Sub
Result покажет версию, Result1 - релиз.
P.S.: Тестировал только на том, что приложено. Остальное нужно проверять.

Добавлено: Вт фев 09, 2016 02:47
Mailk
Класс! Спасибо уважаемый ! Показывает, правда не везде, я скинул где не показывает там же по ссылке яндех. за одно проверте правильно ли я плагин подправил. И еще нет ли возможности еще данные вытащить очень нужна ссылка на путь, она в сборке SLDASM точно прописывает и большую кучу их. А вообще в идеале отдельный САПР.WDX скрит для многих систем у 4-6 одно ядро паросолид. наверно похоже и данные пишут. В любом случее спасибо!

Кстати я делаю работу 2-х плагинов через изменение атрибутов , CDocProp "зачитывает данные из файла"->translit "изменяет по таблице" переводит данные
так можно устроить работу 2-х плагинов с изменением значений. А иногда нужно без , просто показать но не как...

Добавлено: Ср фев 10, 2016 01:35
Flasher
Mailk писал(а):Показывает, правда не везде, я скинул где не показывает там же по ссылке
Исправил.
Mailk писал(а):за одно проверте правильно ли я плагин подправил.
script.ini? А чего там проверять, если там то же самое, что я дал?
Mailk писал(а):и большую кучу их
Вот именно. Для колонок куча не годится.
Mailk писал(а):А вообще в идеале отдельный САПР.WDX скрит для многих систем у 4-6 одно ядро паросолид.
С этим не ко мне.
Mailk писал(а):можно устроить работу 2-х плагинов с изменением значений
Какую работу и каких значений?

Добавлено: Пт фев 12, 2016 14:22
Mailk
Работает скрипт но есть 1-5% файлов что выводят вместо версии "за предемами файла" Изображение

Posted after 54 seconds:

Там же на яндехсе файлы что выводят это "нерабочии 2"

Добавлено: Пт фев 12, 2016 14:36
Flasher
Изменил B на 512. См. 33000. Вероятно, для этих файлов больше требуется. Можно подбирать подходящее значение, накидывая по 50-100. Строкой ниже идёт 50. Его тоже можно слегка повысить с приблизительным значением округлённого числа 33000/512*0.8.

Добавлено: Пт фев 12, 2016 16:50
Mailk
Есть ошибка в определении версии 7000 высвечивает как 2015 (а должна быть 2014) Это важно! В этом то и беда :) А так все гуд пишет баг убран! Еще бы что то вытащить.. типа О"бозначение" и "наименование" . Пробблемные кинул файлы туда же.

Работа одновременно двух плагинов

Добавлено: Вс фев 14, 2016 01:56
Mailk
попытаюсь показать работу одновременно двуз плагинов . Я как то просил об этом. но только переименование без показа колонок.
1 Было
Изображение

2 сделал без стерании предыдущего значение
Изображение

3 сделал только значения транслированные
Изображение

Добавлено: Вс фев 14, 2016 15:30
Flasher
Mailk писал(а):Пробблемные кинул файлы туда же.
Исправлено.
Mailk писал(а):Еще бы что то вытащить.
Боюсь, там только WinAPI поможет. Для этого нужно клепать полноценный плагин на среднеуровневом языке. Желающие тут вряд ли появятся, а фриланс-порталы я и раньше предлагал.

Добавлено: Пн фев 15, 2016 02:14
Mailk
Смотрит все, все версии вроде правильно , спасибо !
По поводу АПИ, есть плагин Shelldetal он показывает все что есть в свойствах файла если свойство смотреть через проводник. Апи не нужен ему.
Но например я работаю в 64х но Тотал 32х и поэтому не показывает не чего... а 64 х ТС не хочу , много плагинов не работают которые нужны мне.

Добавлено: Пн фев 15, 2016 04:55
Flasher
Mailk писал(а):спасибо !
Пож-та. Я там ещё сущую мелочь поправил.
OFF
Mailk писал(а):Апи не нужен ему.
Даже если он тянет информацию по OLE, то всё равно в нём встроен API-функционал (ADVAPI, API-MS-Win-). Это же бинарники, там если и встроен XML, то коцнутый, его как текст нормально без танцев с бубном не прочитаешь.
Если ShellDetails x64 как-то не так работает, то следует обратиться на оффорум (см. контакт в ReadMe).
Есть возможность временно перевести винду в английскую локаль (можно точку восстановления сделать)? Хотел бы список (не картинку) всех необходимых полей с возвращаемыми данными в свойствах этих файлов увидеть. Заодно стоит проверить данный скрипт на предмет полезности данных SW-файлов.

Добавлено: Вт фев 16, 2016 14:56
Mailk
скрипт дал техтовик с описанием инфы по файлу. но общей без данных по колонкам WDX..
Впринципе очень интересен, но нужно вписывать в него данные, те что показывает хотя бы проводник в свойствах файла. Тогда плагин WDX строчки 1,2,3 может их показывать в колонке. Но коментарии в этом случае наилучшее решение. Как совместить ?

Добавлено: Вт фев 16, 2016 21:07
Lev
А чего не так с закачкой плагина с основной страницы? Почему в некоторых постах:
http://forum.wincmd.ru/viewpost.php?p=114159
http://forum.wincmd.ru/viewpost.php?p=114612
советуют скачивать тестовую версию упомянутую внутри темы? Или основная работает хуже тестового варианта?