Цитата |
---|
Jack Famous написал: как мне скопировать коды/библиотеки/всё_нужное_для_того_чтобы_работать из вашей надстройки в свою? |
«Бритва Оккама» или «Принцип Калашникова»?
16.11.2018 00:37:58
«Бритва Оккама» или «Принцип Калашникова»?
|
|||
|
|
26.11.2018 21:54:10
«Бритва Оккама» или «Принцип Калашникова»?
|
|
|
|
28.11.2018 08:05:22
Протестируем сортировку? У кого как отрабатывает, что нравится, что не нравится. Что необходимо ещё.
Шаблон интерфейса делал по стандартной sort в Excel. Учел разные комбинации параметров, протестировал разные алгоритмы сортировки, алгоритмы вывода индексов, поэтому и понадобилось 10 дней на выбор лучших.
Изменено:
«Бритва Оккама» или «Принцип Калашникова»?
|
|
|
|
28.11.2018 10:32:32
bedvit, я бы с радостью, как и всегда, но не могу использовать ваши наработки без самой надстройки.
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел)
|
|
|
|
28.11.2018 12:52:50
Jack Famous, так используйте мою надстройку(библиотеку).
Я выкладываю разработки бесплатно, с возможностью использовать в своих разработках пользователями. Библиотека, кроме указанного функционала (длинная арифметика - два класса и сортировка - один класс) ничего больше не содержит. Моих личных данных в ней нет. Вредоносного кода нет (мне это не нужно, мое имя в разработке мне дороже). Плюс библа выкладывается на разных форумах, продвинутый специалист, может посмотреть, через декомпилирование (реверс-инжиниринг) что там есть. Библа не большая, посмотреть не проблема. Вы же используете к примеру словари в VBA? Это "Scripting.Dictionary" - объект из Microsoft Scripting Runtime Library (лежит по-моему в "scrrun.dll", там же и другой базовый объект данной библиотеки, хорошо знакомый нам "Scripting.FileSystemObject"). Моя библа, то же самое, просто упакованная в .xll, что бы вам не регистрировать вручную её в реестре, за вас это делает .xll. Я вам могу сбросить и .dll-файл, вернее у вас он есть, посмотрите пользовательский TEMP, туда он распаковывается .xll-ом и регистрируется (при закрытии .xll, автоматом происходит unregister - данные из реестра удаляются, всё это делает стандартная ATL-библиотека от самого Microsoft, через "Regsvr32", руками я ничего не дорабатывал).
Изменено:
«Бритва Оккама» или «Принцип Калашникова»?
|
|
|
|
28.11.2018 13:26:53
Расскажите пожалуйста, как его прописать в реестре (один раз и менять при обновлении), чтобы можно было подключать при необходимости, как в примере со словарём...
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел)
|
|||
|
|
28.11.2018 14:57:49
Регистрация COM.DLL реализована как под админом, так и под пользователем (актуально в офисной части клиентов, без прав администратора)
Регистрация стандартная, в командной строке: Админ: Regsvr32 "...FullName.DLL" (путь, где лежит файл) Пользователь (без прав администратора): Regsvr32 /i /n "...FullName.DLL"(путь, где лежит файл) Удалить из реестра: Regsvr32 /u "...FullName.DLL"(путь, где лежит файл) Если регистрируем в Win10, то не забываем, что регистрировать надо под правами админа так: правая кнопка -Пуск -Командная строка (администратор) Под правами пользователя: через обычную командную строку. За вас, все это, делает .xll (под правами пользователя). Но если вы хотите сами, вручную, пожалуйста. Библиотеку .dll прилагаю (х64, если нужна х32 могу выложить и её)
Изменено:
«Бритва Оккама» или «Принцип Калашникова»?
|
|
|
|
28.11.2018 15:07:59
bedvit, спасибо вам) попробую, как проект закончу
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел)
|
|
|
|
07.12.2018 09:36:09
|
|
|
|
07.12.2018 11:59:44
1.По приведенной ссылке - если нужны будут высокопроизводительные решения, я посмотрю, что можно будет сделать 2.Если у вас вопрос не связанный с приведенной выше ссылкой - создайте новую тему и пример того, что хотите получить (возможно для этого хватит обычных инструментов).
«Бритва Оккама» или «Принцип Калашникова»?
|
|||
|
|
07.12.2018 12:27:35
ах так...
на самом деле, сейчас интересует только сама возможность такового, что бы знать о ней при необходимости, а реализация дело времени. если вам еще интересна тема си-апи, ну гляньте для нас, что есть для работы с буфером... |
|||
|
|
07.12.2018 12:50:26
DenSyo, все верно, но ваш вопрос в другом. Или задайте вопрос правильно. Сейчас здесь смешаны 3 разных темы, функции листа, "буфер отмены действий"-что это? и события листа Excel. C API Functions - это высокопроизводительные (потому, что написаны на С/С++) функции листа Excel, с событиями листа и буфером обмена (если вы это подразумевали) они связаны так же, как, к примеру, функция ВПР(). Функции могут принимать и выдавать массивы, но опять же, что нужно в конечном итоге, из вашего вопроса - не ясно.
«Бритва Оккама» или «Принцип Калашникова»?
|
|
|
|
07.12.2018 13:53:14
вопрос снимаю, |
|||
|
|
13.06.2019 09:47:02
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
|
|||
|
|
13.06.2019 11:24:16
|
|
|
|
24.06.2019 12:57:02
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
|
|||
|
|
06.08.2019 18:54:27
«Бритва Оккама» или «Принцип Калашникова»?
|
|
|
|
07.08.2019 11:12:16
Сделал два наименования категорий функций для XLL.
С упоминанием названия библиотеки и без упоминания (поскромнее). Какой оставляем?
«Бритва Оккама» или «Принцип Калашникова»?
|
|
|
|
07.08.2019 11:28:51
bedvit, ну ясен пень bedvit оставляем - XLL может быть много, а ваша только одна
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел)
|
|
|
|
07.08.2019 12:45:46
Jack Famous,
«Бритва Оккама» или «Принцип Калашникова»?
|
|
|
|
07.08.2019 13:19:20
bedvit, глупости такие - жаль, что у меня прав нет для коммента. Всего 6 букв, которые позволяют сразу найти нужную категорию функции, а они сопли пузырями дуют…
И это не говоря о том, что это именно ВАШИ функции, которые стали результатом огромной работы
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел)
|
|
|
|
07.08.2019 14:56:55
Jack Famous, спасибо за оценку работы. Категории не на что не влияют, может со временем изменю названия, как народ отпишется, мне то в общем без разницы, главное название функций и методов, т.к. они влияют на код. А категории видны лишь в мастере, и на функционал не влияют, просто удобство поиска нужной категории.
«Бритва Оккама» или «Принцип Калашникова»?
|
|
|
|
27.09.2019 19:34:18
Добавил в beta-версию библиотеки функцию VlookupXLL.
Если понравится народу, добавлю в release - версию. Функционал: 1.Автоматически преобразует типы данных, если это возможно. Т.е. число сохраненное как текст будет обрабатываться в массиве поиска или в ключе - как идентичный числу. 2.Регистрозависимая. Данные в разном регистре считаются разными. 3.Два независимых массива. Сравнивает данные в одном независимом массиве с ключом и выводит результат из другого независимого массива. Массивы могут быть разной размерности, даже на разных листах, но с одинаковым количеством элементов. Выводится элемент второго массива, чей порядковый номер совпадает с найденным элементом в первом массиве. Порядок просмотра - как в Excel - столбцы/строки. 4.Два первых вышеописанных отличия от стандартной функции, сказываются на скорости и VlookupXLL отстает от стандартной Vlookup в 2 раза, но обгоняет все остальные аналоги на VBA, формулы массива и т.д. минимум на порядок. Скачать и протестировать можно
Изменено:
«Бритва Оккама» или «Принцип Калашникова»?
|
|
|
|
29.09.2019 22:18:11
29/09/2019 - BedvitDLL(1.0.1.7-beta) - Обновление функционала (теперь VlookupXLL работает и с закрытыми книгами)
Итак презентация поподробнее. VlookupXLL - это смесь ВПР() и ПРОСМОТР(). Что умеет данная функция, чего не умеет ВПР(): 1.Автоматически преобразует типы данных, если это возможно. Т.е. число сохраненное как текст будет обрабатываться в массиве поиска или в ключе - как идентичный числу. 2.Регистрозависимая. Данные в разном регистре считаются разными. 3.Два независимых массива. Сравнивает данные в одном независимом массиве с ключом и выводит результат из другого независимого массива. Массивы могут быть разной размерности, даже на разных листах, и даже книгах! но с одинаковым количеством элементов. 4.Забирает данные из закрытых книг, причем один массив может быть в открытой книге, другой в закрытой. 5.Корректно сравнивает символы, интерпретируемые ВПР() как символы подстановки. 6.Ищет строку с любым количеством знаков, не ограничиваясь 256 (как в ВПР()) Что не умеет: 1. Обратная сторона вышеназванных возможностей (разный тип данных не различает, если можно преобразовать из одного в другой, регистр, знаки подстановки учитываются как обычные символы) 2. Скорость ниже в 2 раза на строках и на порядок в поиске чисел (не знаю/не найду код реализации стандартной ВПР(), пока не понимаю за счет чего так быстро обрабатываются числа).
Изменено:
«Бритва Оккама» или «Принцип Калашникова»?
|
|
|
|
30.09.2019 10:13:55
bedvit, приветствую! А ВПР быстрее связки ИНДЕКС+ПОИСКПОЗ? А на отсортированном массиве?
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел)
|
|
|
|
30.09.2019 10:39:15
Jack Famous, приветствую! Имеется ввиду VlookupXLL? Сортировка не должна влиять на скорость расчета. Сейчас алгоритм простой, простой перебор в первом массиве до первого правильного значения. С комбинацией ИНДЕКС()+ПОИСКПОЗ() не сравнивал. Буду у ПК сравню (только вечером). Если будет возможность и интерес можете раньше результаты теста выложить
Это бетта-версия, можно внести некоторые правки в функционал, если такая функция нужна. Отдаю на откуп форуму. Далее можно попробовать оптимизировать алгоритм, поднять производительность. Может в таком виде она бесполезна, а нужна в другом.
«Бритва Оккама» или «Принцип Калашникова»?
|
|
|
|
30.09.2019 11:25:50
bedvit, ну за себя могу сказать, что как обновляемую функцию я такое уже давно не применяю (слишком медленно). Открываю нужные файлы, забираю нужные массивы, сортирую и храню на временных невидимых листах или в памяти.
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел)
|
|
|
|
30.09.2019 13:46:29
Jack Famous, поясните, не понял вашу мысль. Если нужно выбрать 5 значений из миллиона в закрытом файле - это намного быстрее через данную функцию, чем открыть файл, забрать нужный массив и где-то его хранить. Если использовать закрытый файл как базу данных, работать с ним конечно быстрее если нужное содержимое скопировать в оперативку, но как это относится к функции? Или давайте на примере, что бы понятнее было.
«Бритва Оккама» или «Принцип Калашникова»?
|
|
|
|
30.09.2019 14:16:28
bedvit, у меня обычно тот вариант, при котором я открываю файл(-ы), забираю, что нужно и закрываю. А уже потом фильтрую и т.д.. При таком подходе штатных инструментов вполне хватает. Ну и по-прежнему основное, что нужно решить для использования ваших функций, это их самораспаковка/инсталляция при переносе между комьютерами. Как "тёти из бухгалтерии" будут что-то устанавливать мне страшно даже представить, а настроить всем далеко не всегда возможно
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел)
|
||||
|
|
|||