Orion9

|
Posted: Tue Dec 30, 2025 13:47 Post subject: |
|
|
Avada
А вы пользуетесь плагином Autorun? У вас установлена последняя версия плагина с модулем RegExp?
Интересуюсь, поскольку скрипты для выборки и сверки данных я делал именно на Autorun. Скрипты не очень сложные и большие, но сходу они могут не заработать, т.к. используют вспомогательные функции. Можно использовать специально настроенный ТС, который я собирал, но в нем тоже придется создавать кнопки и копировать код.
На счет табличного представления — я понял. Но как уже писал, это не очень удобный формат для чтения: нужно что-то другое, более подходящее и комфортное для глаз, пока правда сам не знаю, что именно.
В связи с этим попытался сделать скрипт для выборки данных из .cedf и создания html, но в этих делах (разметке текста) я совсем не разбираюсь. Тем не менее что то получилось сделать благодаря советам ИИ, но далеко несовершенное:
 Hidden text | Code: | RegisterCommand 60038 CedfToHtml
Func CedfToHtml()
Local txt, rex, out, i = 0
Local file = gCedfData, html = TEMP & "\cedf.html"
Local T1 = GetUptime(), T2 = T1, T3
Local hdr = '<link rel="stylesheet" href="cedf.css">'
Local css
css &= auCRLF & 'p {'
css &= auCRLF & ' font-family: Arial, Verdana;'
css &= auCRLF & ' font-size: 16px;'
css &= auCRLF & '}'
css &= auCRLF & ''
css &= auCRLF & 'h1 {'
css &= auCRLF & ' color: blue;'
css &= auCRLF & ' font-size: 20px;'
css &= auCRLF & '}'
tip(file, 1, "Parsing")
Sleep(200)
FileWrite(html, hdr, "ANSI")
FileWrite(FileChangeExt(html, "css"), css, "ANSI")
txt = FileRead(file)
rex = RegExp('<key name="(.*?)" file="(.*?)" section="(.*?)" default="(.*?)" version="(.*?)".*?' & _
'<description>(.*?)</description>', txt)
If rex.Exec() Then
Do
i += 1
out = ""
out &= "<h1>[" & rex.Match[3] & "]<br>"
out &= rex.Match[1] & "=" & rex.Match[4] & "</h3>"
out &= "<p><i>" & rex.Match[2] & " Version: " & rex.Match[5] & "</i></p>"
out &= "<p>" & rex.Match[6] & "</p>"
out = StrReplace(out, auCRLF, "<br><br>")
out = StrReplace(out, "<br><br><br>", "<br><br>")
out = StrReplace(out, "<br><br><br>", "<br><br>")
out = StrReplace(out, auCRLF, "<br><br>")
out = StrReplace(out, auTAB, " ")
out = StrReplace(out, auCRLF, "<br><br>")
out = StrReplace(out, ";<br><br> ", ";<br> ")
out = StrReplace(out, "[[", "[")
out = StrReplace(out, "]]", "]")
FileAppend(html, out, "ANSI")
T3 = GetUptime()
If Round(T3 - T2, 0) > 400 Then
tip("Keys processed: " & i & auCRLF & file, 1, "Parsing")
T2 = T3
EndIf
Until not rex.ExecNext()
EndIf
Free(rex)
out = TEMP & "\cedf.html" & auCRLF & _
'<a href="CedfOpenFile()">Открыть файл</a>' & auCRLF & _
'<a href="CedfGotoFile()">Перейти к файлу</a>'
tip(i & " keys total." & auCRLF & out, 1, "Done")
EndFunc
Func CedfOpenFile()
ShellExec(TEMP & "\cedf.html")
EndFunc
Func CedfGotoFile()
CommandExec("~/CD:S", TEMP & "\cedf.html")
EndFunc
|
Скрипт обрабатывает Russian.cedf и создает во временном каталоге файлы cedf.html и cedf.css. Для работы скрипта необходимо указать путь в глобальной переменной gCedfData, например:
| Code: | Global gCedfData = COMMANDER_PATH & "\Tools\UltraEditors\Data Files\Russian.cedf" |
А также нужен код функции tip().
Но все это необязательно. Результат работы скрипта здесь, если кому-то интересно.
На мой взгляд, это более приемлимый формат для чтения, когда хочется именно читать (а мне иногда хочется), но пока, к сожалению, тоже несовершенный. Может быть кто-то, кто в этом разбирается доведет подобный файл до ума? Было бы классно иметь текстовый справочник с заголовками, тегами, должным оформлением и т.д.
Avada
Я понимаю, что такие отличия не имеют большого значения:
| Code: | 023 [Colors] ColorFilter1 "*.exe" <> "*.*"
024 [Colors] ColorFilter2 "*.dll" <> "*.*"
025 [Colors] ColorFilter3 "*.zip" <> "*.*"
026 [Colors] ColorFilter4 "*.rar" <> "*.*"
027 [Colors] ColorFilter5 "*.7z" <> "*.*"
028 [Colors] ColorFilter6 "*.fb2" <> "*.*"
029 [Colors] ColorFilter7 "*.bmp" <> "*.*"
030 [Colors] ColorFilter8 "*.jpg" <> "*.*"
031 [Colors] ColorFilter9 "*.gif" <> "*.*"
032 [Colors] ColorFilter10 "*.tif" <> "*.*"
033 [Colors] ColorFilter11 "*.ico" <> "*.*"
034 [Colors] ColorFilter12 "*.icl" <> "*.*" |
Но что касается DPI, как ключи могут отличаться, если у них должно быть одно дефолтное значение?
| Quote: | | 3. У ключей с числовым значением DPI в именах в русcкой версии ставится 96, в английской 120, оба решения корректны. |
|
|