David Dato, Для 6 задачи у вас приведен код от 7.
В 7 в самом начале инициализируйте res нулем.
Восьмая - у вас какой-то бред.
Если хотите ее реализовывать циклом - можете поиграть побитовым сдвигом влево имея ввиду, что в степени двойки всегда только 1 бит установлен в 1, остальные все нулевые.
Чтобы понять почему это работает переведите любую степень двойки (N) в двоичное представление и (N - 1) то же и сравните эти два числа. А потом возьмите любое другое число, не являющееся степенью двойки, и проделайте то же самое.
Я думаю, есть еще одна самая важная причина - потому что в С++ давно уже есть замена подобным макросам - шаблоны, и у них нет вышеперечисленных недостатков.
Применительно к вопросу автора:
Если при установке софта в меню пуск и на рабочем столе ярлыки появились у всех пользователей, то приложение поставилось в варианте "для всех".
Перекидывать ярлык приложения, установленного "только для себя" другим пользователям нет смысла, т.к. сама установленная софтина не доступна другим пользователя - нет прав.
Универсального способа ставить весь софт в режиме "только для себя", как хочет автор вопроса не существует, т.к. далеко не все программы освоили этот скил. Кроме того - это надо научить пользователей выбирать режим установки в каждом отдельно взятом установщике.
Если речь идет о компьютере на предприятии, то я бы вообще запретил пользователям самостоятельную установку софта, т.е. отобрал бы у них админские права и запретил установку "только для себя".
Проблема с ограничением в 260 (не 255) символов в пути к файлу давно уже не актуальна в винде.
Ограничения могут быть в каких-то отдельно взятых программах, которые сами себе злобные буратины.
Сейчас актуальное ограничение - 32К символов.
Вы можете и дальше решать проблему, а можете сменить софт, на тот который не страдает старческими болезнями.
Как вариант - можно написать разрабам вашего любимого софта, чтоб убрали это древнее ограничение, мешающее жить.
Только в wavах не всегда отсчеты записаны в байтовые значения, чаще это int16, так же возможны int32, float и double. Анализируйте тип, который будут иметь элементы возвращаемого массива.
Кроме того, wav - это не всегда не сжатые данные, формат поддерживает множество вариантов сжатия. Есть вероятность, что scipy.io.wavfile.read что-то не поддерживает. Смотрел по диагонали исходники scipy.io.wavfile.read - создалось впечатление, что там поддерживаются только не сжатые данные.
Для C/C++ можно воспользоваться библиотекой libsndfile.
Эта библиотека поддерживает множество вариантов сжатия, применяемых в wavах, и не сжатые данные, конечно, то же.
Я вас удивлю, но в любом wav файле на каждую секунду обычно приходится по несколько тысяч значений.
Конкретное количество зависит от частоты дискретизации сигнала. Ее scipy.io.wavfile.read возвращает в первом параметре.
Типовой аудио файл с CD качеством записан с частотой дискретизации 44100 Гц - это значит, что на каждую секунду записи на каждый канал приходится 44100 отсчетов сигнала.
Кроме того в wav файле может содержаться не один канал записи, а несколько. Для стерео записи - это 2 канала и т.п. Для определения количествва каналов смотрите вторую размерность возвращаемого массива. Первая размерность - общее количество отчетов в файле.
Из минусов scipy.io.wavfile.read - он читает сразу весь файл. Сталкивался с очень большими файлами (несколько Гб), которые было проблематично прочитать за один раз (ограничения памяти), приходилось искать другие варианты или более мощный комп.
Дополню:
Когда указатель складывается/вычитается с целым числом (c+3), то и в этом случае заданное целое число является количеством элементов указанного типа. Т.е. по факту, если считать в байтах будет (c + sizeof(*c) * 3).
Для компилятора любой указатель (кроме void*) - это адрес первого (нулевого) элемента массива указанного типа, поэтому адресная арифметика является на самом деле "арифметикой массивов", если так можно выразиться. Все арифметические действия с указателями производятся на самом деле не в байтах, а в элементах массива, на который указывает указатель.
Почему указатель на void является исключением уже должно быть понятно - потому что void - это не известно какой тип и размер этого типа компилятор вычислить не может, поэтому адресная арифметика не поддерживается для void*.
Vladislav123321123, лог файл записывается в той же кодировке, что указана в команде chcp.
Текстовые файлы они не такие простые, как кажутся на первый взгляд :-)
Vladislav123321123, Тогда начните с того, что определите в какой кодировке у вас сохранен батник.
chcp 1251 сработает только в случае, если батник сохранен в кодировке 1251.
Так же напишите версию ОС, которую вы используете.
только всё превратилось в кракозябры
Все превратиться в кракозябры не могло, т.к. у вас в пути только "Альтрон" написано по русски, все английские буквы не зависят от кодировок (в 866, 1251, UTF8 - английский алфавит кодируется одинаково).
Vladislav123321123, попробуйте один из предложенных мной вариантов.
Напишите userprofile большими буквами.
И приложите уже сюда вывод батника. А то мы тут будем долго гадать, что у вас не так.
Перенаправить вывод в текстовый файл можно так: my.bat 1>mybat.log 2>&1
The3fon, В самом парадоксе я работал только с локальной базой монопольно. Возможно для парадокса и требуются какие-то дополнительные настройки для "сетевого доступа".
Софт нормально работал с общей базой с нескольких рабочих станций. Софту для работы требовалась установленная BDE, про сам парадокс уже не помню.
Гуглите в англоязычном инете, я думаю найдется нужное руководство. Продукт был достаточно популярен в свое время. Возможно на сайте Borland/Embarcadero есть какая-то информация.
Начните с логов OpenVPN на клиенте и сревере. Затем журнал винды на клиенте и сревере смотрите сообщения связанные с RDP. После подключения к ВПН проверьте действительно ли оно функционирует - присвоение IP адреса, пинг, копирование файлов и т.п.
У меня похожая конфигурация (но сервер OpenVPN на винде) - полет нормальный. Клиенты и сервер находятся на очень большом расстоянии друг от друга, качество связи - разное, но на пингах довольно приличные задержки у всех клиентов - сказывается расстояние. Но тем не менее все работает без нареканий, RDP соединения регулярно висят по несколько суток без обрывов и переподключений.
Столкнулся с проблемой, что некоторые клиенты не могут подключиться по UDP к VPN серверу или подключаются, но соединение толком не работает (например пинги не проходят). Для таких пришлось завести параллельную конфигурацию ВПН на TCP на порту 443, чтоб уж точно никто не блокировал. Но TCP в моем случае работает значительно медленней, чем UDP.
Netware не под управлением DOS, конечно же. DOS в этом случае просто как вариант стартового загрузчика.
У вас софт, использующий Paradox, работает под Netware?
На сколько я знаю Paradox - файловая СУБД, т.е. там нет серверной части.
По крайней мере я сталкивался именно с таким вариантом и другого не видел. Поэтому можно просто перенести каталоги с БД и софтом на другую подходящую платформу.
В 90х пришлось довольно плотно работать с Paradox 4.5 для DOS. Файловый сервер то же был под Netware сначала 3.12, потом перекочевал на 4.11. Клиентский софт, использующий парадоксовскую БД был под DOS и WIN95/98. На сколько я помню никакой привязки именно к файловому серверу Netware в Paradox нет и наш софт успешно работал лёжа на сетевых дисках Windows NT.
В дальнейшем так же приходилось работать с продуктами Novell, остались очень хорошие впечатления так же как и о СУБД Paradox, чего нельзя сказать о софте, который мы использовали.
Сергей, т.е. принтеры мы будем защищать усиленно, а китайцы пусть лазят по нашим компам в сети она то не защищена и все порты открыты наружу?
В принципе я не то что бы против отделения принтеров в свой ВЛАН, но считаю, что это совсем уж параноидальная практика и защиту сети стоит начинать не с этого. А этот вариант оставить на потом, которое может и не наступить если все остальное будет сделано правильно.
Galdar Turin, По моему на винде, линуксе и прочих десктопных ОС проще работать с файлами ключей, а не внедрять их в конфиг.
Минус подобной конфигурации в том, что у ключей когда-нибудь закончится срок и их надо будет менять. В случае монолитного конфига это процедура будет более проблематичной.
fishmen, По Windows Script Host загуглите, технология была в винде из коробки со времен Вин2000.
Предоставляет 2 интерпретатора (консольный и "графический"): cscript и wscript.
Поддерживает JS и VBS.
Можно писать простые скрипты автоматизирующие какие-либо процессы в винде.
Работает исключительно под виндой.
Особого развития не получила, но в Вин10 до сих пор присутствует. Скрипты позволяют работать с ActiveX/COM объектами из-за чего функционал может быть достаточно большой.
fishmen, Про приложения - это вопрос спорный.
Но раз у вас все равно предпочтений нет, то JavaScript - лучший выбор, по сравнению с VBS.
Правда есть сложность - JavaScript в основном - встроен в браузеры, а значит вам придется делать какие-то веб-страницы со своими скриптами. Это тянет за собой еще и HTML.
Так же есть вариант использовать node.js - актуальная сейчас тема.
Совсем легкий и уже устаревший вариант - Windows Script Host - технология, встроенная в винду, там есть интерпретатор JS.
Если что, я не занимаюсь JavaScript, VBS и веб разработкой - другая специализация.
Лично я взял бы питон - у него гораздо больше точек приложения, чем у JavaScript, имхо.
В 7 в самом начале инициализируйте res нулем.
Восьмая - у вас какой-то бред.
Если хотите ее реализовывать циклом - можете поиграть побитовым сдвигом влево имея ввиду, что в степени двойки всегда только 1 бит установлен в 1, остальные все нулевые.