Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » CintaNotes

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

Krot66



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Код:
 
#NoEnv
FileEncoding UTF-8
 
; http://forum.ru-board.com/topic.cgi?forum=5&topic=32648&start=2740#20  
 
;------- Настройки ---------
 
enc:="UTF-8" ; выходная кодировка файлов. "UTF-8" - юникод, пусто - ansi (допускается любая кодировка вида "CP****")
 
add_tag:="+" ; вставляется между тэгами в имени файла
 
max:=2 ; максимальное число последовательных пустых строк в заметках
 
del_appname:=1 ; удаление имени приложения из заголовка окна
 
del_html:=1 ; Удаление всех тэгов и специальных символов html
 
mdn:=0 ; заметки в формате markdown
    header:="###" ; выделение заголовка заметки
    quotes:=1 ; добавлять в начало каждой строки текста заметки знак цитирования ("> ")    
    toc:=0 ; добавлять в начало каждого файла содержание ("[toc]")
    ext:="md" ; расширение файлов
    
sep:="" ; дополнительный разделитель заметок
;------------------------------------
 
file=%1%
If !file
    ExitApp
Loop % file, 1
    file:=A_LoopFileLongPath
 
SplitPath file, , dir, , f_name
If FileExist(dir "\" f_name)
{
    MsgBox, 16, , Папка экспорта существует и новые файлы будут дописаны к уже имеющимся.`nУдалите или переместите папку и запустите скрипт снова!
    ExitApp
}
FileCreateDir % dir "\" f_name
SetWorkingDir % dir "\" f_name
FileRead xml, % file
FileEncoding % enc
pos:=1
Loop
{
    pos:=RegExMatch(xml,"<note uid\K.+?(?=<)",h,pos)
    If !h
        break        
    RegExMatch(xml,"<!\[CDATA\[\K[\s\S]*?(?=\]\]>)",note,pos)
    RegExMatch(h,"section=""\K\d+(?="")",section)
    RegExMatch(h,"tags=""\K.*?(?="")",tag)
    RegExMatch(h,"title=""\K.+?(?="")",title)
    RegExMatch(h,"created=""\K.+?(?="")",created)
    RegExMatch(h,"link=""\K.*?(?="")",link)
    note:=RegExReplace(note,"\R","`r`n")
    note:=RegExReplace(note,"^\R*")
    note:=RegExReplace(note,"\s*$")
    note:=MaxEmptyString(note,max)
    If mdn && header
        title:=header " " title
    If mdn && link
        link:="_" link "_"
    If mdn && quotes
        note:=RegExReplace(note,"m)^(?!>|##)","> ")
    If del_appname
        title:=RegExReplace(title," - [^.]+?$")
    
    FileCreateDir % section+1
    created:=RegExReplace(created,"T")
    FormatTime created,% created, dd.MM.yyyy  HH:mm
    text:=title "`r`n" created "  " link "`r`n`r`n" note "`r`n" (sep ? sep : "") "`r`n`r`n"        
    If del_html
    {
        text:=RegExReplace(text,"<[^>]+>")
        text:=RegExReplace(text,"&[a-zA-Z0-9]{2,9}`;")
    }
        
    tag:=RegExReplace(tag," ",add_tag)
    tag:=RegExReplace(tag,"_"," ")
    If !tag
        tag:="_Untagged"    
    f_path:=section+1 "\" ValidName(tag) "." ((mdn && ext) ? ext : "txt")
    If !FileExist(f_path) && mdn && toc
        text:="[toc]`r`n`r`n`r`n" text
    FileAppend % text, % f_path
}
MsgBox, 64, , Готово!, 1
ExitApp
 
MaxEmptyString(text,max)
{
    text:=RegExReplace(text,"m)[ \t]+$")
    Loop % max+1
        n.="`r`n"
    return RegExReplace(text,"\R{" max+2 ",}",n)
}
 
ValidName(n,r="")
{
    n:=RegExReplace(n,"(:|;|,|\.|\*|\?|\\|/|<|>|"")"," ")
    n:=RegExReplace(n,"\R+","_")
    n:=RegExReplace(n,"\s+"," ")
    StringReplace n, n, |, -, All
    If r
        StringReplace n, n, % " ", % r, All
    return Trim(n)
}
    
 

Всего записей: 1202 | Зарегистр. 10-12-2007 | Отправлено: 20:47 08-06-2018 | Исправлено: Krot66, 21:25 08-06-2018
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Программы » CintaNotes


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru