Нет, ничего подобного, я с Украины и активно поддерживал оранжевую революцию и сейчас поддерживаю, просто я знаю, что такие революции не так просто происходят. Конечно народ доведен до отчаяния, но этим пользуются англосаксы которые и финансируют революционеров (для убедительности можете посетить nstarikov.ru, есть еще куча сайтов, если кому надо, то могу выслать ссылки). Англосаксам только и нужна дестабилизация в регионе, без большой войны они не могут выжить (вспомните 1-ю мировую и 2-ю мировую — кто остался на коне, кто правит миром, кто ведет войны по всему миру). Просто люди не понимают что ими манипулируют СМИ, как зарубежные так и наши. Ну да ладно, если считаете меня не правым, то минусуйте.
Блин, я хабре зарегился, чтобы поделится своими наработками и алгоритмами в области программирования, например: генерация данных с помощью шаблонов (создание хэшов, шифрование строк во время компиляции), хотел рассказать как можно на С++ организовать быструю обработку строк, битовые нейросети и многое другое, за 20 лет у меня куча материалов которые хотелось здесь выложить, ну ладно значит не судьба, все останется у меня в архивах.
В начале 90-х я кодил в системе Numps (навание уже точно не помню). Эта система ставилась на один комп и к нему через определенное устройство подключалось несколько терминалов, с которых производился набор данных. Эта система было многозадачной. Но не это самое интересное, самое интересное это встроенных язык программирования (извините но задавностью лет не понмю названия). Так вот, в нем было такое понятие как Глобалы, это что-то типа базы данных, в ней данные были представлены в виде пары (<множество ключей>, <значение>). Причем система позволяла также производить выборку ключей, что-то типа как в прологе. Оперировать такими данными было достаточно просто так как они были похожи на многомерные массивы. Вот для примера:
myvar( 1, «one», «first», 0 ) = 1111, тут система смотрела есть ли данные по заданным ключам (в скобках), если есть, то заменяла значение, если нет, то создавалась новая запись. Для извлечения ключей использовались специальные переменные, что-то типа:
myvar( 1, %v,, ) — тут в через переменную v последовательно можно было выбрать все значения 2-го ключа, при известном значении 1-го. Что самое интересное, ключи выбирались в отсортированном виде.
По сути база данных была огромным массивом который хранился на диске, а выборка данных была встроена в сам язык программирования через многомерные массивы. Это было очень удобно, ничего подобного я не встречал и по сей день.
Полностью согласен с вами, также работаю с git — очень удобно, особенно когда нужно переносить проекты с компа на комп через флешку. Также работаю и c hg, но после git чуствую себя не в своей тарелке.
Это наверное зависит от способа доступа к базе данных, в MS Access идет прямой доступ к данным (чере COM интерфейсы), а в VB.NET через SQL запросы (ADO.NET), что значительно медленнее. В вашем случае нужно было все данные загрузить в память и там отработать, тогда VB.NET будет намного быстрее.
Чаще всего VBA используется при написание программ на MS Access, очень удобная и простая штука для многих задач связанных с базами данных. Мне на Access удавалось написать довольно сложные базы данных.
вот скриншоты раз и два. Браузер Opera 11.00 (сборка 1156). Если страницу открыть в другой вкладке, то раздвоения нет. Если просто обновить, то раздвоение есть. Наверное двойные записи появляются после нажатия кнопки обновления комментариев
В вашем последнем коде в классах потомках в описаниях функций вы не указали virtual, хотя это и не обязательно, но мне кажется что нужно ставить, чтобы было ясно что они виртуальные и тогда не нужно лезть в описание предка и смотреть какие они на самом деле.
Когда прочел первый код сразу задался вопросом почему не сразу решили задачу как в последнем коде? Ведь это очевидное решение, которое описано во всех книгах по С++? Хотя для новичков такое решение не очевидно, они чаще всего не понимают для чего нужны виртуальные функции, особенно чистые виртуальные. В этом плане статья хорошо показывает как нужно правильно писать такие интерфейсы, хотя и сильно растянута. В своей практике иногда встречаю код подобный первому в статье, и делаю замечание разработчикам, в ответ получаю, «что ты прав, но мне сейчас некогда, потом переделаю» и т. д. В результате все остается как было и что либо расширить уже довольно сложно.
В статье почти не освещено как запускать VBA программы (в частности через макросы), способ через через отладчик хорош для тестирования, а готовое решение лучше всего через кнопку на панели…
Преимущество скип-листов над деревьями в том, что в нем проще получать последовательный доступ к элементам (затраты намного меньше). В свое время писал либу для работы с множествами, я их представлял в виде упорядоченных списков, и одной и проблемой был именно быстрый поиск элементов, жаль что тогда не знал про скип-листы и не додумался сам.
Блин, я хабре зарегился, чтобы поделится своими наработками и алгоритмами в области программирования, например: генерация данных с помощью шаблонов (создание хэшов, шифрование строк во время компиляции), хотел рассказать как можно на С++ организовать быструю обработку строк, битовые нейросети и многое другое, за 20 лет у меня куча материалов которые хотелось здесь выложить, ну ладно значит не судьба, все останется у меня в архивах.
myvar( 1, «one», «first», 0 ) = 1111, тут система смотрела есть ли данные по заданным ключам (в скобках), если есть, то заменяла значение, если нет, то создавалась новая запись. Для извлечения ключей использовались специальные переменные, что-то типа:
myvar( 1, %v,, ) — тут в через переменную v последовательно можно было выбрать все значения 2-го ключа, при известном значении 1-го. Что самое интересное, ключи выбирались в отсортированном виде.
По сути база данных была огромным массивом который хранился на диске, а выборка данных была встроена в сам язык программирования через многомерные массивы. Это было очень удобно, ничего подобного я не встречал и по сей день.