Страница 26 из 27

Добавлено: Вс дек 02, 2018 16:54
HEXFIX
Ну, собственно, портабл версия 32 бит и есть. И не работает, да.
UPD. Неправильно понял. Думал, что портабл емеется в виду сам TC. Буду пробовать. Отпишусь о результатах

Добавлено: Пн дек 03, 2018 18:37
HEXFIX
Оказывается, я всё время пользовался портабельной версией и только что узнал об этом :-)
К сожалению, не работает

Добавлено: Пн дек 03, 2018 18:55
Flasher
В смысле "узнал"? О таком невозможно не знать, если это не чужая сборка, конечно.
Дата модификации у dll какая? Пример кнопки с TCKB не работает? Интерпретатор откуда тянулся?

Добавлено: Вт дек 04, 2018 13:21
HEXFIX
Чаво-то я совсем запутался :)
Нет у меня никакой .dll. Только файл TCWSHelp.exe. Не оно?
Пример не работающего скрипта:

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

'=======================================================
' Создание текстового файла с содержимым буфера обмена
'=======================================================
 
Option Explicit
Dim FileName
'========== Изменяемые параметры =======================
FileName = "Новый файл.txt" 'Имя создаваемого файла
'=======================================================
Dim TCS, Clip, Btn, FSO, OTL, Mess, Title
Set TCS = CreateObject("TCScript.Helper")
Clip = TCS.GetTextFromClip
Set TCS = Nothing
 
If Len(Clip) > 0 Then
Set FSO = CreateObject("Scripting.FileSystemObject")
If FSO.FileExists(FileName) Then
Mess = "Буфер обмена содержит текст." & vbNewLine & _
"Заменить содержимое файла " & FileName & _
" текстом из буфера обмена?" & vbNewLine
Title = "Замена содержимого файла"
Else
Mess = "Буфер обмена содержит текст." & vbNewLine & _
"Создать файл " & FileName & _
" с содержимым буфера обмена?" & vbNewLine
Title = "Создание текстового файла"
End If
Btn = MsgBox(Mess, vbYesNo + vbQuestion, Title)
If Btn = 7 Then 'Кнопка No
Set FSO = Nothing
WScript.Quit
End If
Else
WScript.Quit
End If
 
Set OTL = FSO.OpenTextFile(FileName, 2, True)
OTL.Write Clip
OTL.Close
 
Set OTL = Nothing
Set FSO = Nothing
WScript.Quit
UPD. Скачал готовую сборку для TC c tckb.ru, закинул в папку TC, скопировал в эту же папку wscript.exe из system32, перезагрузил комп — не работает
Изображение

Добавлено: Вт дек 04, 2018 13:32
Flasher
HEXFIX писал(а):Не оно?
Нет, конечно. Это то, что и было, никакой не Portable. Ссылка на статью дана в первом посте темы.

Добавлено: Вт дек 04, 2018 13:38
HEXFIX
Пока редактировал свой пост ты уже ответил :)

Добавлено: Вт дек 04, 2018 17:14
Flasher
HEXFIX писал(а):скопировал в эту же папку wscript.exe из system32, перезагрузил комп — не работает
10-ка 32-битная что ли? Перезагружать ничего не надо. Сперва надо разрегистрировать TCWSHelp.exe. Интерпретатор использовать лучше этот.

Добавлено: Пт дек 07, 2018 14:49
HEXFIX
Нет, 64-bit.
Ну ОК, скопировал файл из SysWOW54. Не работает.
ЗЫ. Да, проверил под виндами 1803. Всё работает, как часики.
ЗЫЫ. Ссылка на интерпретатор не открывается

Добавлено: Пт дек 07, 2018 18:50
Flasher
Ссылка с TCKB рабочая, проверял при выкладке.

Добавлено: Сб дек 08, 2018 07:41
Avada
HEXFIX
Принципиальное неиспользование в последних фразах постов точек запрещено правилами форума и придаёт сообщениям недописанный вид. Категорически прошу прекратить эту практику.

Добавлено: Пн мар 11, 2019 23:57
rediffusion
Flasher писал(а):Ссылка на статью дана в первом посте темы.
Уже 3 дня мучаюсь, пора спросить!
Ну перешёл на ваш сайт. Прочитал несколько раз статью (сайт кстати то работает то нет).

1. ¦
wscript.exe - перебросил в папку из "%Windir%\SysWOW64" в "TCHelper" (в которой всё, что скачал с вашего сайта).
2. ¦
Есть плагин "FileInfo".
[cut]Что же касается tlbid в <typelib>, а также clsid, progid в <comClass>, то эти вещи придётся смотреть в выше оговоренных плагинах либо других прикладных ПО. В плагине FileInfo это будет вкладка ActiveX/OCX. Как правило, сверху рабочей области страницы, где есть uuid(...), вместо троеточия в фигурных скобках записан tlbid, а снизу - clsid.[/cut]
1) Данные tlbid и clsid брать из вашего "TCScript.dll"? Этих uuid там целых 3 штуки.
Хорошо tlbid - он записан вверху.
Ну а этот clsid - в каком низу? Ниже самого первого? Или он самый последний? И да clsid - это тоже начинается на uuid (только ниже) или запись должна начинаться вот с таких строк "clsid" и потом что-то? Если да то такова слова нет "clsid".
3. ¦
А можно uuid брать с других .dll например тех которые расположены по вот такому пути "%Windir%\SysWOW64"?

P.S.
Кстати заметил что некоторые .vbs скрипты работают и без "TCHelper".

Добавлено: Вт мар 12, 2019 05:37
Flasher
rediffusion
1. Вообще у TCScript.dll есть своя тема. Для каких целей он понадобился?
2-3. Это не для вас, а для WSH/COM/OLE-разработчиков.
rediffusion писал(а):Кстати заметил что некоторые .vbs скрипты работают и без "TCHelper".
Да неужели?

Добавлено: Вт мар 12, 2019 19:10
rediffusion
Flasher

"TCWSHelper" - и всё же весь день провозился! Эти все файлы мне пригодятся в дальнейшем? Стоит оставлять? Посоветуйте что оставить а что удалить?
DemoScripts\
wscript.exe.manifest
wscript.exe
TCWSHelp.exe
TCScript.sxs.manifest
TCScript.dll
SendKeystroke.txt
ReadMe.txt

Добавлено: Вт мар 12, 2019 19:25
Flasher
rediffusion
Вопрос лишь в том, будут ли использоваться скрипты с указанием Хелпера. Советую забить TCScript.dll в поиск по разделу. Если что-то приглянётся, то оставлять стоит всё, кроме TCWSHelp.exe, который нужно перед удалением разрегистрировать.
DemoScripts\ — папка с тестовыми скриптами от старого Хелпера. Её (если есть желание изучать коды) логично оставить в первозданном виде и закинуть в %TC%\Scripts\Components\ с остальными файлами. Вместо Components логичны ещё такие варианты: ActiveX, OLEObjects.

Добавлено: Ср сен 16, 2020 02:45
Baltazar
На базе когда-то найденного в сети (а может и здесь на форуме) скрипта, предназначенного для копирования путей с кавычками

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

Option Explicit
Dim Delimiter
Delimiter = vbNewLine
Dim TempFile, TCS
Set TempFile = CreateObject("Scripting.FileSystemObject").OpenTextFile(WScript.Arguments(0), 1)
Set TCS = CreateObject("TCScript.Helper")

Dim StrInFile, FileNames, M1
FileNames = ""
Do While Not TempFile.AtEndOfStream
  StrInFile = TempFile.ReadLine
  StrInFile = chr(34) & StrInFile & chr (34)
  FileNames = FileNames & StrInFile & Delimiter
Loop
TCS.SetTextToClip(Left(FileNames, Len(FileNames) - Len(Delimiter)))
Set TempFile = Nothing
Set TCS = Nothing
Wscript.Quit
пытался путём обработки регекспами организовать для определённых ftp-серверов (с определёнными ip-адресами) подмену, дабы в конечном итоге при копировании получался локальный для ftp путь. Вот только в итоге обнаружилось, что через %L скрипту передаются пути без адреса сервера и регекспам тупо нечего обрабатывать. Как быть в данном случае ? Существует ли переменная или типа того, которая позволит использовать в скрипте адреса ftp-серверов и пустить их в обработку ? В vbs я не мастак, а уж тем более в vbs с нюансами TCScript :shock: .