Страница 1 из 1

Script plugin-maker 0.5.1

Добавлено: Чт июл 07, 2005 19:34
Lev
Решил поделиться своими наработочками для Script plugin-maker 0.5.1 (к сожалению, плагин давно не обновлялся), может кто, в свою очередь, поделится своими.

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

'wlx_vbscript.vb
'simple plugin on VBScript

font_name="Fixedsys"
font_size=12
view_end = "false"
view_wrap = "true"
view_scroll = "both"
view_backgroundcolor = "white"
view_textcolor = "black"

result_text	= "" 

Dim fso, ts, s
Set fso = CreateObject("Scripting.FileSystemObject")
sExt = lcase(fso.GetExtensionName(file_name))

Select Case sExt

case "bar"
'view_textcolor = "green"
readfile
process "button\d", vbCRLF+"$&" 'ставим перенос строки
process "\b(cmd|path|menu|iconic|param)\d", "   $&" 'добавляем отступ в 3 пробела

case "eps", "ai", "ps", "prn"
Set f = fso.GetFile(file_name)
if f.size>1000000 then
Const ForReading = 1
Set fso = CreateObject("Scripting.FileSystemObject")
Set ts = fso.OpenTextFile(file_name, ForReading)
s = ts.read(1000)
ts.Close
else
readfile
s=result_text
end if
'dim re
Set re = New RegExp
re.Global = True
re.IgnoreCase = True
re.MultiLine = True

sp = "\s+" 'at least one any space symbol
num = "(-?\d+\.?\d*)" 'any number like -3.51 or 4
spnum = sp + num
re.Pattern = "(%%BoundingBox:|%%PageBoundingBox:|%ADO_ImageableArea:|%%HiResBoundingBox:)" + spnum + spnum + spnum + spnum
if re.Test(s) then
Set tt = re.Execute(s)
re.Pattern = "-?\d+\.?\d*"
Set bb = re.Execute(tt(0))
sx= Round((bb(2)-bb(0))*0.352778)'25.4/72
sy= Round((bb(3)-bb(1))*0.352778)'25.4/72

'result_text= sx & " mm x " & sy& " mm"
result_text= sx & " x " & sy& " mm"
End if
'end case "eps", "ai", "ps", "prn"
Case Else
'result_text = sExt + " file type"
End Select

Sub readfile()
Const ForReading = 1
Set fso = CreateObject("Scripting.FileSystemObject")
Set ts = fso.OpenTextFile(file_name, ForReading)
s = ts.ReadAll
AddLine s
ts.Close
End Sub

Sub process (a,b)' замена в тексте a на b 
Dim re
Set re = New RegExp
re.Global = True
re.IgnoreCase = True
re.MultiLine = False

re.Pattern = a
result_text = re.Replace(result_text,b)
End Sub
Здесь написан вьюер для "bar" файлов коммандера (для упражнения) и для "eps", "ai", "ps", "prn" файлов - пытается выдрать и показать размер файла, если файл содержит превью, то такие (binary) файлы VBScript не обрабатывает и у меня они показываются с помощью Imagine

Добавлено: Вт июл 12, 2005 12:57
Ergo
Lev

Попробовал установить - не получается заставить работать.
Bar файлы просматриваются как текст.

Идея интересная. Если заработает, можно попробовать выложить на wincmd.ru отдельным дистрибутивом вместе с wlx_vbscript.wlx и pluginst.inf - может тогда народ потянется :)

Добавлено: Ср июл 13, 2005 20:31
Lev
новый wlx_vbscript.vb находится в папке плагина? (старый нужно переименовать во чтонибудь другое или удалить)
А с prn-eps... работает? А если раскомментировать строку 'result_text = sExt + " file type" показывается ли вместо текста расширение со словами filetype?
Возможно, но маловероятно, что на машине не стоит MS Scripting Runtime, или как он там называется...
У меня плагин работает и под 98 и под ХР

Вот пример того, что вы должны увидеть без плагина:

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

[Buttonbar]
Buttoncount=11
button1=wcmicons.dll,15
cmd1=C:\WINCMD\5\bar2.BAR
button2=c:\wincmd\tcmenu.exe
cmd2=c:\WINCMD\TCmenu.exe
param2=%Pnnn.bar -$
path2=c:\WINCMD\
menu2=TCmenu
iconic2=
и с плагином

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

[Buttonbar]
Buttoncount=11

button1=wcmicons.dll,15
   cmd1=C:\WINCMD\5\bar2.BAR

button2=c:\wincmd\tcmenu.exe
   cmd2=c:\WINCMD\TCmenu.exe
   param2=%Pnnn.bar -$
   path2=c:\WINCMD\
   menu2=TCmenu
   iconic2= 
Идея интересная. Если заработает, можно попробовать выложить на wincmd.ru отдельным дистрибутивом
Хотелось бы выделить в отдельную группу все скриптуемые навороты на Total, или сделать перекрестную ссылку на TCHelper, ScriptWFX, данный плагин, AutoIT, PowerPro и т.д., и т.п.

Добавлено: Вт фев 26, 2008 15:49
Lev
Секция для просмотра pdf с помощью pdftotext.
Авось, кому пригодится, как пример подключения к листеру и других подобных конвертеров.

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

Case "pdf"
	Set f = fso.GetFile(file_name)
	If f.Size<>0 Then
	Set WshShell = CreateObject("WScript.Shell")
	tmp=WshShell.ExpandEnvironmentStrings("%Temp%")
	fileout=tmp & "\delete.it"
'тут надо указать правильный путь к конвертеру
	command="c:\WINCMD\Content_wdx\TextSearch\Conv\PDF\pdftotext.exe -layout """ & file_name & """ " & fileout
	WshShell.Run command,0,True
  On Error Resume next
  Set ts = fso.OpenTextFile(fileout, ForReading)
  s = ts.ReadAll
  AddLine s
  ts.Close
  fso.DeleteFile fileout
  On Error Goto 0
  Set WshShell=Nothing
  Set fso=Nothing
  End If