View previous topic :: View next topic |
Author |
Message |
Volniy
Joined: 15 Dec 2004 Posts: 585 Location: Местный
|
(Separately) Posted: Sun Jan 30, 2005 03:14 Post subject: |
|
|
roman78 wrote: | опробовал скрипт - приятно , не торопливо (), но главное работает. А какую строку закоментить чтоб сообщение не выскакивало? |
Эту (точнее эти):
Code: | MsgBox "Операция успешно завершена." & vbcr & _
"Всего LOG-файлов FlashGet: "& LogsCnt , vbInformation, "Сообщение" |
А ускорить работу скрипта можно отключив рекурсивный просмотр папок, ограничившись обработкой только текущей. Для этого нужно сделать вот такую правку:
вместо Code: | Call ScanFolderForLog(Fso.GetFolder(WScript.Arguments(0))) | вставить Code: | Call EditDescription(Fso.GetFolder(WScript.Arguments(0))) |
|
|
Back to top |
|
|
roman78
Joined: 24 Jan 2005 Posts: 20
|
(Separately) Posted: Sun Jan 30, 2005 04:44 Post subject: |
|
|
Вах... Так он все внутренности просматривает? Я то думал это и есть обработка одной папки и на интерпритируемость грешил... здорово.
И спасибо. |
|
Back to top |
|
|
log2bbs
Joined: 03 Feb 2005 Posts: 5
|
(Separately) Posted: Thu Feb 03, 2005 13:51 Post subject: |
|
|
Здравствуйте всем.
Я тот самый автор log2bbs. Сейчас на сайте выложена версия 1.03,
т.к. в 1.04 действительно образовался странный глюк. Странен он еще и тем, что раньше эта версия у меня работала, а теперь тоже глючит.
Сейчас у меня наличествуют небольшие заморочки, поэтому исправлением глюков смогу заняться только на следующей неделе.
Об исправлении сообщу сюда.
Что касается проблем с code_win - тоже проверю. Я сам, правда, поклонник фара (только бить не надо ), там досовая кодировка используется.
Андрей |
|
Back to top |
|
|
roman78
Joined: 24 Jan 2005 Posts: 20
|
(Separately) Posted: Fri Feb 04, 2005 13:39 Post subject: |
|
|
log2bbs
всегда рады
у меня 1.04 совсем не запускается, а 1.00 и 1.03 - "приложение выполнило недопустимую операцию и будет закрыто". Хотя сначала 1.00 исправно работала.
ВинХР СП2, ТС6.5. |
|
Back to top |
|
|
Volniy
Joined: 15 Dec 2004 Posts: 585 Location: Местный
|
(Separately) Posted: Fri Feb 04, 2005 23:41 Post subject: |
|
|
Другой скрипт (3-ая версия, можно взять его отсюда) . Создает многострочные files.bbs. Упрощенный: без рекурсии и без обработки уже существующих записей в файле .bbs. Цифра в выражении Space(2) определяет отступ строк в многострочных комментариях. Меньше 2 не делать, ибо не работает. Строка dos="..." это сконвертированная в DOS-кодировку строчка win="..." (тут в HTML она глючит). В коде отмечены две строки, которые при комментировании убирают URL загрузки и дату сохранения файла соответственно.
Code: | '=========================[ Start of file ]=========================
' File: LogsToFileBBS.vbs
' Description: Вычитывает описания файлов из FlasGet-овских
' log-ов в указанной папке и заносит их
' в стандартный Files.bbs в этой папке
' Installation: Создайте кнопку на панели TC
' Команда: "диск:\путь\к\файлу\LogsToFileBBS.vbs"
' Параметры: "%P" [Внимание! Именно в кавычках!]
' Version: 3-ая
' Copyright: (c) 2005, Volniy
Option Explicit
Dim Fso, LogsCnt
Set Fso = CreateObject("Scripting.FileSystemObject")
If Fso.FolderExists(WScript.Arguments(0)) = False Then
MsgBox "Указана неверная директория!", vbCritical, "Ошибка"
Else
Call EditFilesBBS(Fso.GetFolder(WScript.Arguments(0)))
MsgBox "Операция успешно завершена." & vbCr & _
"Всего LOG-файлов FlashGet: " & LogsCnt, vbInformation, "Сообщение"
End If
Set Fso = Nothing
WScript.Quit
Sub EditFilesBBS(curFolder)
Dim F, fExt
For Each F In curFolder.Files
fExt = UCase(Fso.GetExtensionName(F.Name))
If fExt = "LOG" Then
LogsCnt = LogsCnt + 1
' Обработка исходного файла только если
' LOG был именно FlashGet-овский
If FilesBBSFromLOG(curFolder.Path, F.Path) Then
' Переименование LOG в TXT
' F.Name = Fso.GetBaseName(F.Name) & ".txt"
' или просто их удаление:
' F.Delete True
End If
End If
Next
End Sub
Function FilesBBSFromLOG(Path, LogFile)
Dim dscNew, tmp, forFile, IsFlashLOG
Dim DateTime, URL
Dim TS1, TS2, Entry, pos, pos2, TargetION
TargetION = Fso.BuildPath(Path, "FILES.BBS")
Const ForReading = 1, ForWriting = 2
' Ищем описание для файла в log-файле
Set TS1 = Fso.OpenTextFile(LogFile, ForReading)
Do While TS1.AtEndOfStream <> True
tmp = TS1.ReadLine
'URL:
pos2 = InStr(1, tmp, "URL:", vbTextCompare)
If pos2 Then
URL = Mid(tmp, pos2 + Len("URL:")) ' Нашли URL и сохранили
IsFlashLOG = IsFlashLOG + 1
End If
'Время Сохранения:
pos2 = InStr(1, tmp, "Время Сохранения:", vbTextCompare)
If pos2 Then
DateTime = Mid(tmp, pos2 + Len("Время Сохранения:")) ' Нашли Время Сохранения
IsFlashLOG = IsFlashLOG + 1
End If
'Имя:
pos2 = InStr(1, tmp, "Имя:", vbTextCompare)
If pos2 Then
forFile = Mid(tmp, pos2 + Len("Имя:")) ' Нашли имя и сохранили
IsFlashLOG = IsFlashLOG + 1
End If
pos = InStr(1, tmp, "Комментарий:", vbTextCompare)
If pos Then
Entry = Mid(tmp, pos + Len("Комментарий:")) ' Комментарий сохранили в Entry
IsFlashLOG = IsFlashLOG + 1
ElseIf IsFlashLOG = 4 Then ' За 1-ой строкой комментария - тоже комментарий
Entry = Entry & vbCrLf & Space(2) & "| " & tmp
End If
Loop
' Закомментируйте ненужные Вам строки:
Entry = Entry & vbCrLf & Space(2) & "| " & URL
Entry = Entry & vbCrLf & Space(2) & "| " & DateTime
TS1.Close
Set TS1 = Nothing
If Not Fso.FileExists(Fso.BuildPath(Path, forFile)) Then Exit Function
If Len(Entry) Then ' Если комментарий был найден
' Добавляем имя описываемого файла в формате 8.3
Dim aFile
Set aFile = Fso.GetFile(Fso.BuildPath(Path, forFile))
Entry = WIN2DOS(aFile.ShortName & " " & Entry)
tmp = ""
If Fso.FileExists(TargetION) Then ' Если уже есть файл FILES.BBS
Set TS2 = Fso.OpenTextFile(TargetION, ForReading)
tmp = TS2.ReadAll & vbCrLf ' Добавим перевод строки на всякий пожарный
TS2.Close
End If
dscNew = tmp & Entry
On Error Resume Next
Set TS2 = Fso.OpenTextFile(TargetION, ForWriting, True)
TS2.Write dscNew ' Пишем целевой файл файл
TS2.Close
End If
Set TS2 = Nothing
' Возвратим True, если это был действительно FlashGet-овский LOG
FilesBBSFromLOG = CBool(IsFlashLOG = 4)
End Function
Function WIN2DOS(InputText)
Const win = "абвгдежзийклмнопрстуфхцчшщъыьэюяёАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯЁ"
Const dos = " ЎўЈ¤Ґ¦§Ё©Є«¬®ЇабвгдежзийклмнопсЂЃ‚ѓ„…†‡€‰Љ‹ЊЌЋЏђ‘’“”•–—˜™љ›њќћџр"
Dim tmp, i, pos, char
For i = 1 To Len(InputText)
char = Mid(InputText, i, 1)
pos = InStr(1, win, char)
If pos > 0 Then
tmp = tmp & Mid(dos, pos, 1)
Else
tmp = tmp & char
End If
Next
WIN2DOS = tmp
End Function
'=========================[ End of file ]=========================
|
Last edited by Volniy on Wed Apr 13, 2005 12:51; edited 4 times in total |
|
Back to top |
|
|
log2bbs
Joined: 03 Feb 2005 Posts: 5
|
(Separately) Posted: Tue Feb 08, 2005 09:44 Post subject: |
|
|
Выложил новую версию Log2Bbs - http://www.argyment.ru/fmt/Log2bbs_1-05.rar
Список изменений:
[!] "Если имя файла с русскими буквами, то в Descript.ion оно в виндовой кодировке, а комментрий, как и положено, в Досовой". Исправлено.
[*] Если в конце файла описания не стоит перевод строки (как делает TotalCommander) - то теперь эта ситуация обрабатывается корректно, и перевод сроки вставляется при необходимости.
[+] "А длинные имена с пробелами прогу не напугают. Она их вставит с
кавычками в Descript.ion?". Теперь не напугают.
[!] Некорректно обрабатывалась ситуация, когда в параметрах передавалось просто имя файла из текущего каталога (без полного пути). |
|
Back to top |
|
|
log2bbs
Joined: 03 Feb 2005 Posts: 5
|
(Separately) Posted: Tue Feb 15, 2005 15:21 Post subject: |
|
|
Выложил обновление Log2Bbs - http://www.argyment.ru/fmt/Log2bbs_1-06.rar
Изменения:
[!] Программа глючила, если файл описаний был нулевого размера.
[+] После обработки, файл описаний делается скрытым.
[+] При вызове с параметром /? - выводится краткая помощь. |
|
Back to top |
|
|
roman78
Joined: 24 Jan 2005 Posts: 20
|
(Separately) Posted: Tue Apr 05, 2005 05:32 Post subject: |
|
|
log2bbs
bbs создает, но в формате description
Volniy
не сочти за наглость... а можно ли в bbs вставить не только коммент, но и урл с датой? |
|
Back to top |
|
|
log2bbs
Joined: 03 Feb 2005 Posts: 5
|
(Separately) Posted: Tue Apr 05, 2005 05:38 Post subject: |
|
|
roman78 wrote: | log2bbs
bbs создает, но в формате description |
А какой формат у bbs? Я, честно говоря, предполагал, что дело только в расширении.. |
|
Back to top |
|
|
roman78
Joined: 24 Jan 2005 Posts: 20
|
(Separately) Posted: Tue Apr 05, 2005 05:57 Post subject: |
|
|
эта... чета с кодировкой не то творится... строки win\dos в скрипте правильные, а в bbs не то...
извини, не заморачивайся - буду как все дескрипшины делать. |
|
Back to top |
|
|
roman78
Joined: 24 Jan 2005 Posts: 20
|
(Separately) Posted: Tue Apr 05, 2005 06:10 Post subject: |
|
|
log2bbs
такой коммент:
Code: | это 1-я срока
это 2-я строка
это 3-я строка
это 4-я строка |
выглядит так:
Code: | LOG2BB~1.RAR нв® 1-п ба®Є
| нв® 2-п бва®Є
| нв® 3-п бва®Є
| нв® 4-п бва®Є |
|
|
Back to top |
|
|
log2bbs
Joined: 03 Feb 2005 Posts: 5
|
(Separately) Posted: Tue Apr 05, 2005 06:34 Post subject: |
|
|
roman78
А файлик "code_win" присутствует?
Я сейчас нашел ошибку, когда у первой и остальных строках комментария могут быть разные кодировки. Но не у всех строк одновременно.
Обновление выложил.
http://www.argyment.ru/fmt/Log2bbs_1-07.rar |
|
Back to top |
|
|
Volniy
Joined: 15 Dec 2004 Posts: 585 Location: Местный
|
(Separately) Posted: Fri Apr 08, 2005 00:12 Post subject: |
|
|
roman78 wrote: | Volniy
не сочти за наглость... а можно ли в bbs вставить не только коммент, но и урл с датой? |
Счел за разминку после вынужденного перерыва. Код скрипта уже изменен. Тестируй. |
|
Back to top |
|
|
roman78
Joined: 24 Jan 2005 Posts: 20
|
(Separately) Posted: Tue Apr 12, 2005 18:55 Post subject: |
|
|
парни, не обижайтесь плз, последнее время редко до компа добараюсь... а в конце недели и вовсе в больницу на месяц .
Volniy
а не заметно добавляется все также только коммент и с кодировкой грабли: буржуйский в норме, кириллицу колбасит.
log2bbs
>А файлик "code_win" присутствует?
не в этом проблема, смысл bbs в поддержке многострочности (ну и безразмерности, в отличие от дескрипшена), а в создаваемом утилитой bbs все в одну строку, что неудобно. И имя файла в этом случае в формате 8.3. |
|
Back to top |
|
|
Volniy
Joined: 15 Dec 2004 Posts: 585 Location: Местный
|
(Separately) Posted: Wed Apr 13, 2005 00:19 Post subject: |
|
|
roman78 wrote: |
Volniy
а не заметно добавляется все также только коммент и с кодировкой грабли: буржуйский в норме, кириллицу колбасит.
|
Блин, ну никто и никогда не читает комментариев
Специально для тебя изменил код, раз ты сам боишься этим заниматься. А что касается кириллицы, то это глючит строка символов в константе dos= (искажается при размещении на странице форума). Рекомендую: возьми строку win= и перекодируй ее сам в досовскую кодировку и вставь в скрипт, тогда ошибок не должно быть. Или давай мыло, вышлю скрипт напрямую. |
|
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
|