У вас есть проблемы напоминаний в MLO-Android? Ответьте: Да/Нет.

ссылки на локальные ресурсы

Какие новые функции Вы хотели бы увидеть в MLO для ПК?
Автор темы

Rabbit
Сообщения: 146
Зарегистрирован: фев 2017
Есть ответ: 5
Благодарил (а): 7 раз
Поблагодарили: 15 раз

ссылки на локальные ресурсы

Сообщение Rabbit » 21 фев 2017, 09:15

Просьба превращать ссылки на папки и файлы в компьютере или сети в ссылки, так же, как это делается с web ссылками.
например, вставил в комментарий E:\Проекты\001
а чтобы перейти в эту папку, приходится копировать текст адреса, открывать проводник, вставлять адрес и переходить по нему

Аватара пользователя
lobaty
Команда бета тестеров
Сообщения: 1166
Зарегистрирован: июл 2013
Есть ответ: 29
Откуда: Kiev
Благодарил (а): 121 раз
Поблагодарили: 155 раз

ссылки на локальные ресурсы

Сообщение lobaty » 21 фев 2017, 09:28

Файлы
Это сделано. При нахождении курсора в теле заметки - ПКМ → "Вставить ссылку на файл...", вставляем ссылку на файл
Папки
Сделано, но корявенько. При нахождении курсора в теле заметки - ПКМ → "Вставить ссылку на файл...", вставляем ссылку на файл, который находится в нужной папке, а потом самое интересно - удаляем в ссылке текст названия и расширения файла.
Клиенты MLO:
Xiaomi MI5 PRO, Android 6.0 → MLO v.2 last Beta
Windows 7 Профессиональная → MLO v.5 last Beta

Автор темы

Rabbit
Сообщения: 146
Зарегистрирован: фев 2017
Есть ответ: 5
Благодарил (а): 7 раз
Поблагодарили: 15 раз

ссылки на локальные ресурсы

Сообщение Rabbit » 21 фев 2017, 09:42

интересно, спасибо. но так пользоваться затруднительно.
Проще даже было бы предложить так:

Вставить ссылку из буфера, написать перед ссылкой слово file: без пробелов и потом все пробелы в ссылке вручную заменить на %20.
Так быстрее, но так тоже невозможно нормально пользоваться.

всё-таки, удобнее вставлять ссылки так же просто из буфера обмена, как web ссылки. Чем они хуже?
тем более, путь вставляется очень плохо: пробелы заменяются на %20, что делает ссылку нечитаемой для человека.

Предлагаю просто брать ссылки в кавычки. Если текст имеет слеш или обратный слеш и при этом находится в кавычках, то делать это ссылкой

Аватара пользователя
andrey
Администратор
Сообщения: 3092
Зарегистрирован: фев 2009
Есть ответ: 89
Откуда: Украина
Благодарил (а): 117 раз
Поблагодарили: 100 раз
Контактная информация:

ссылки на локальные ресурсы

Сообщение andrey » 03 мар 2017, 17:53

Rabbit писал(а):Источник цитаты Просьба превращать ссылки на папки и файлы в компьютере или сети в ссылки, так же, как это делается с web ссылками.
например, вставил в комментарий E:\Проекты\001

Пишем:
file:E:\Проекты\001

Если в имени пробелы:
<file:E:\Проекты мои\001>
Andrey Tkachuk
MyLifeOrganized.net Изображение

Автор темы

Rabbit
Сообщения: 146
Зарегистрирован: фев 2017
Есть ответ: 5
Благодарил (а): 7 раз
Поблагодарили: 15 раз

ссылки на локальные ресурсы

Сообщение Rabbit » 04 мар 2017, 15:45

andrey писал(а):Если в имени пробелы:
<file:E:\Проекты мои\001>

спасибо, хотя, конечно, менее удобно, чем просто ссылка, как в случае гиперссылок. Много лишних действий

Автор темы

Rabbit
Сообщения: 146
Зарегистрирован: фев 2017
Есть ответ: 5
Благодарил (а): 7 раз
Поблагодарили: 15 раз

ссылки на локальные ресурсы

Сообщение Rabbit » 24 мар 2017, 08:29

Только что долго искал этот вопрос на форуме, чтобы вспомнить, как правильно программировать ссылку на файл в теле задачи.
Просьба упростить процесс вставки ссылок на файлы и папки до того же набора действий, который нужен для вставки ссылки на web страницы

Автор темы

Rabbit
Сообщения: 146
Зарегистрирован: фев 2017
Есть ответ: 5
Благодарил (а): 7 раз
Поблагодарили: 15 раз

ссылки на локальные ресурсы

Сообщение Rabbit » 20 июн 2017, 12:33

Проблема актуальна и продолжает доставлять неудобства

laburj
Сообщения: 15
Зарегистрирован: авг 2013
Поблагодарили: 2 раза

ссылки на локальные ресурсы

Сообщение laburj » 06 фев 2018, 21:35

Rabbit,
Написал скрипт, который позволяет сохранить в буфере обмена путь к файлу, который распознаёт MLO как ссылку к файлу.
После нажатия хоткея на файле можно переключиться в MLO в заметку к требуемой задаче и нажать ctrl+v.
Скрипт работает в данном виде только в тотал коммандаре и при условии, что в файле настроек тотал коммандара wincmd.ini указан хоткей:
На требуемом файле требуется нажать win+i

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

[Shortcuts]
A+F11=cm_CopyFullNamesToClip


Благодарность за часть кода, связанную с буфером обмена - YMP - разработчику с Серого форума

Сам скрипт:

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

;#NoTrayIcon ; без иконки в трее
#NoEnv
SetTitleMatchMode RegEx
#IfWinActive ahk_class TTOTAL_CMD
#i::
Send !{vk7A} ; alt+F11

path:=ClipGetText(CodePage=1251)
;MsgBox %path% ; проверка скопированного в буфер пути
buferobmena=<file:%path%>
ClipPutText(buferobmena, LocaleID=0x419)

;Send ^{vk56} ; вставка в MLO происходит самостоятельно,поэтому вставляем ручками ctrl+v в нужном месте
return

ClipPutText(Text, LocaleID=0x419)
{
  CF_TEXT:=1, CF_LOCALE:=16, GMEM_MOVEABLE:=2
  TextLen   :=StrLen(Text)
  HmemText  :=DllCall("GlobalAlloc", "UInt", GMEM_MOVEABLE, "UInt", TextLen+1)  ; Запрос перемещаемой
  HmemLocale:=DllCall("GlobalAlloc", "UInt", GMEM_MOVEABLE, "UInt", 4)  ; памяти, возвращаются хэндлы.
  If(!HmemText || !HmemLocale)
    Return
  PtrText   :=DllCall("GlobalLock",  "UInt", HmemText)   ; Фиксация памяти, хэндлы конвертируются
  PtrLocale :=DllCall("GlobalLock",  "UInt", HmemLocale) ; в указатели (адреса).
  DllCall("msvcrt\memcpy", "UInt", PtrText, "Str", Text, "UInt", TextLen+1, "Cdecl") ; Копирование текста.
  NumPut(LocaleID, PtrLocale+0)                   ; Запись идентификатора локали.
  DllCall("GlobalUnlock",     "UInt", HmemText)   ; Расфиксация памяти.
  DllCall("GlobalUnlock",     "UInt", HmemLocale)
  If not DllCall("OpenClipboard", "UInt", 0)      ; Открытие буфера обмена.
  {
    DllCall("GlobalFree", "UInt", HmemText)    ; Освобождение памяти,
    DllCall("GlobalFree", "UInt", HmemLocale)  ; если открыть не удалось.
    Return
  }
  DllCall("EmptyClipboard")                     ; Очистка.
  DllCall("SetClipboardData", "UInt", CF_TEXT,   "UInt", HmemText)   ; Помещение данных.
  DllCall("SetClipboardData", "UInt", CF_LOCALE, "UInt", HmemLocale)
  DllCall("CloseClipboard")     ; Закрытие.
}


ClipGetText(CodePage=1251)
{
  CF_TEXT:=1, CF_UNICODETEXT:=13, Format:=0
  If not DllCall("OpenClipboard", "UInt", 0)                 ; Открытие буфера обмена.
    Return
  Loop
  {
    Format:=DllCall("EnumClipboardFormats", "UInt", Format)  ; Перебор форматов.
    If(Format=0 || Format=CF_TEXT || Format=CF_UNICODETEXT)
      Break
  }
  If(Format=0) {      ; Текста не найдено.
    DllCall("CloseClipboard")
    Return
  }
  If(Format=CF_TEXT)
  {
    HmemText:=DllCall("GetClipboardData", "UInt", CF_TEXT)  ; Получение хэндла данных.
    PtrText :=DllCall("GlobalLock",       "UInt", HmemText) ; Конвертация хэндла в указатель.
    TextLen :=DllCall("msvcrt\strlen",    "UInt", PtrText, "Cdecl")  ; Измерение длины найденного текста.
    VarSetCapacity(Text, TextLen+1)  ; Переменная под этот текст.
    DllCall("msvcrt\memcpy", "Str", Text, "UInt", PtrText, "UInt", TextLen+1, "Cdecl") ; Текст в переменную.
    DllCall("GlobalUnlock", "UInt", HmemText)  ; Расфиксация памяти.
  }
  Else If(Format=CF_UNICODETEXT)
  {
    HmemTextW:=DllCall("GetClipboardData", "UInt", CF_UNICODETEXT)
    PtrTextW :=DllCall("GlobalLock",       "UInt", HmemTextW)
    TextLen  :=DllCall("msvcrt\wcslen",    "UInt", PtrTextW, "Cdecl")
    VarSetCapacity(Text, TextLen+1)
    DllCall("WideCharToMultiByte", "UInt", CodePage, "UInt", 0, "UInt", PtrTextW
                                 , "Int", TextLen+1, "Str", Text, "Int", TextLen+1
                                 , "UInt", 0, "Int", 0)  ; Конвертация из Unicode в ANSI.
    DllCall("GlobalUnlock", "UInt", HmemTextW)
  }
  DllCall("CloseClipboard")  ; Закрытие.
  Return Text
}


Запустить скрипт можно аналогичным образом как описано тут:
viewtopic.php?f=18&t=5250


Вернуться в «Предложения по улучшению»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 14 гостей