View previous topic :: View next topic |
Author |
Message |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sun Jul 08, 2012 15:56 Post subject: |
|
|
Tol!k wrote: | из-за кириллицы | Почему так решил? С латиницей такого нет?
Тут в проге какая-то проблема. Автодетект не срабатывает.
Кстати, TC эти uue тоже не берёт..
B3T6 - это ты что ль?  |
|
Back to top |
|
 |
Tol!k

Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
(Separately) Posted: Sun Jul 08, 2012 16:19 Post subject: |
|
|
Quote: | С латиницей такого нет? | Нет
Quote: | Кстати, TC эти uue тоже не берёт.. | У меня берёт. И WinRar тоже
Ага |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Jul 09, 2012 02:41 Post subject: |
|
|
Tol!k wrote: | У меня берёт. | Странно..
Code: | '================================================================
' Получение в текущей папке файла из кодированного текста
' буфера обмена вида B64/MIME/UUE/XXE/BinHex
' Условие: путь запуска - пустой
' Автор - Flasher ©
'======================= Путь к uudeview ========================
UUDev = """%COMMANDER_PATH%\Utils\uudeview\uudeview.exe"""
'======================== Путь к TCFS2 ==========================
TCFS2 = """%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe"""
'================================================================
Set SHA = CreateObject("Shell.Application")
Dim WSH : Set WSH = CreateObject("WScript.Shell")
Set FSO = CreateObject("Scripting.FileSystemObject")
File = SHA.NameSpace(WSH.ExpandEnvironmentStrings("%TEMP%")).Self.Path & "\" & FSO.GetTempName
Set F = FSO.OpenTextFile(File, 2, True)
P = "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3\1407"
A = WSH.RegRead(P) : If A > 0 Then WSH.RegWrite P, 0, "REG_DWORD"
Clip = CreateObject("htmlfile").ParentWindow.ClipboardData.GetData("text")
F.Write Trim(Clip) : F.Close : WSH.Run UUDev & " -i -m +o -c """ & File & """", 0, True
WSH.Exec(TCFS2 & " /ef tcm(540)") : If A > 0 Then WSH.RegWrite P, A, "REG_DWORD"
Set FSO = Nothing : Set WSH = Nothing : Set SHA = Nothing : WScript.Quit | UUDeview |
|
Back to top |
|
 |
LonerD

Joined: 04 Jan 2011 Posts: 1172 Location: Макеевка
|
(Separately) Posted: Sat Jul 14, 2012 19:45 Post subject: |
|
|
Flasher
Просьба расширить приведённый скрипт двумя функциями:
1. Возможность распаковывать скопированный с сайтов текст без предварительной его обработки.
То есть копируется иногда текст с лишними пробелами. С данного сайта, в частности, в Опере к копируемому тексту добавляются пробелы в конце всех строк кроме последней и в начале всех строк кроме первой. Скрипт должен сам предварительно автоматически проанализировать текст и убрать лишние пробелы.
2. Декодирование файла под курсором; если под курсором некодированный файл - тогда декодирование текста из буфера.
То есть скрипт анализирует файл под курсором. Если он кодированный - то скрипт распаковывает его в текущую папку. Если файл не кодированный - то скрипт анализирует буфер и декодирует содержимое буфера если в буфере кодированный текст.
(сейчас у меня две команды - декодировать файл под курсором и декодировать текст из буфера; хочется вместо них сделать одну универсальную команду, которая может распаковывать и то, и то). |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sat Jul 14, 2012 23:49 Post subject: |
|
|
LonerD
1. Я до этого пробовал выделять сразу с лишними пустыми строками примеры по ссылкам, всё работало. А пробелы и так убираются тримом.
2. Я бы не стал мешать одно с другим. Во-первых, это далеко не всем нужно, а во-вторых, это замедлит момент появления файла в панели. Сделаю позже отдельный вариант. А пока сюда загляни. |
|
Back to top |
|
 |
LonerD

Joined: 04 Jan 2011 Posts: 1172 Location: Макеевка
|
(Separately) Posted: Sun Jul 15, 2012 03:05 Post subject: |
|
|
Quote: | А пробелы и так убираются тримом. |
Начал пробовать. Обнаружил, что пробелы в конце строк удаляются.
Но в Опере при копировании возникают ещё лишние пробелы в начале строк, и скрипт такое "не пережёвывает".
Quote: | А пока сюда загляни. |
Это и есть второй скрипт для кодирования, которым я пользуюсь
Сейчас возникла идея. Что если объединить эти два скрипта? Наверное, правильней будет всё-же в первую очередь обрабатывать буфер, чтобы не потерять его содержимое, а потом уже анализировать файлы.
Новый скрипт должен:
1. Проверять буфер обмена, если в буфере есть кодированный текст - раскодировать его в активную панель.
2. Если в буфере текст не кодированный - то скрипт проверяет файл под курсором. Если файл кодированный - то раскодирует его в активную панель.
3. Если файл под курсором не кодированный - то он кодируется в активную панель.
Сразу убивается три зайца. |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Jul 16, 2012 16:24 Post subject: |
|
|
LonerD wrote: | Что если объединить эти два скрипта? | Нет смысла, там только MIME.
А то, что ты предлагаешь, сделать можно, только по времени отработки будет дольше проходить.
В общем, выложил в более подходящем месте. |
|
Back to top |
|
 |
Tol!k

Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
(Separately) Posted: Wed Nov 28, 2012 02:50 Post subject: |
|
|
декодирование UUE без Хелпера, без Тотала и без левых утилит 
Code: | ' Получение в текущей папке файла из кодированного текста
' буфера обмена в виде B64/MIME/UUD/UUE/XXD/XXE/BinHex/AtoB/BtoA
' Автор - Flasher ©
'===============================================
Dim FSO, WSH, F, TF
Set FSO = CreateObject("Scripting.FileSystemObject")
Set WSH = CreateObject("WScript.Shell")
TempFolder = WSH.ExpandEnvironmentStrings("%TEMP%") & "\0"
If Not FSO.FolderExists(TempFolder) Then FSO.CreateFolder TempFolder
TempFile = TempFolder & "\" & FSO.GetTempName
NewFile = TempFolder & "\*.*"
Set F = FSO.OpenTextFile(TempFile, 2, True)
P = "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3\1407"
A = WSH.RegRead(P)
If A > 0 Then WSH.RegWrite P, 0, "REG_DWORD"
Clip = CreateObject("htmlfile").ParentWindow.ClipboardData.GetData("text")
F.Write Clip
F.Close
Set TF = WSH.Exec("%ProgramFiles%\WinRAR\WinRAR.exe e " & TempFile)
TF.Terminate
FSO.DeleteFile TempFile, 1
If FSO.GetFolder(TempFolder).Files.Count > 0 Then _
FSO.MoveFile NewFile, WSH.CurrentDirectory Else WScript.Quit
FSO.DeleteFolder TempFolder, 1
WSH.SendKeys "^R"
If A > 0 Then WSH.RegWrite P, A, "REG_DWORD"
Set FSO = Nothing
Set WSH = Nothing
WScript.Quit
|
Flasher
здесь проблема с кириллицей сохраняется, т.е. она возникает на этапе буфер→.uue
а не из-за декодирующей утилиты
неожиданно проблема с кириллицей исчезла o_O |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Wed Nov 28, 2012 10:14 Post subject: |
|
|
Tol!k wrote: | и без левых утилит | Не левее твоего платного WinRAR.
Да забудь про старый вариант, жми по ссылке выше, там всё учтено. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|