В одном из проектов для D Form Library я столкнулся с небольшой проблемкой: необходимо было сделать рисунок в окне, но с использованием окраски «в старом стиле» (т.е. использовать не палитру RGB, а иную, более упрощенную, с меньшим количеством параметров). Это была даже не задача, поскольку думать пришлось совсем немного, однако, недостаточное количество информации чуть не […]
Учимся работать с таймером в DFL2
При работе в Entice Designer рано или поздно приходится убедиться, в том, насколько мало компонентов дизайна содержит эта небольшая среда визуального проектирования графического интерфейса, и чем раньше приходит в голову эта мысль, тем быстрее закрадываются в голову нелегкие сомнения о правильности выбора. Все мы знаем, что Entice проектировалась с учетом минимализма и весьма скромных требований, […]
Интерпретатор BrainFuck
Увидел подобное на другом языке программирования и решил реализовать на D интерпретатор BrainFuck. Смотрим что получилось…
Превращение набора данных в строку
Программисты на Python знают, что у строк в этом замечательном языке программирования есть интересный метод join, который, если мне не изменяет память, получая на вход список данных и разделитель, склеивает эти данные, объединяя их через переданный разделитель. Однако, поиски по стандартной библиотеке D не позволили найти аналог для такого метода (хотя возможно, я плохо искал) […]
Конвертация сторонних библиотек из *.dll в *.lib
Иногда случается так, что при наличии сторонней DLL (и документации на нее), требуется использовать ее совместно с компилятором dmd. Часто при таком раскладе, при попытке компиляции приложения «в лоб», программист получает шикарный набор ругательств на английском от линковщика, используемого dmd: хотя программа и компилируется, но линковщик не может собрать из объектных файлов само приложение. Что […]
Удобное создание свойств в классах и структурах
В этой статье покажу Вам небольшой «трюк» для вставки свойств в классы и структуры. Работает это примерно так: формируется строка (из переданных аргументов — тип для значения свойства и имя свойства, а также из собственно, объявления приватной переменной и объявления самого свойства) с описанием методов установки/считывания свойства и помещается в константный массив символов — и […]
Пишем валентинку на D
Не особо люблю День всех Влюбленных, но тем не менее некоторые традиции надо соблюдать да и сама по себе подготовка к этому «празднику» является неплохим поводом для того, чтобы немного и креативно подумать. В свое время, когда я баловался с программированием и не выбрал окончательно язык программирования, у меня был небольшой проект, написанный на AutoIt, […]
Теория чисел + D = ?
В этот раз не будет графики, однако, без математики эта статья не останется — математики будет хоть и много, но она не настолько сложна и доступна любому, кто спокойно доучился хотя бы до 6-ого класса средней школы. Давайте обратим внимание на такую штуку (которой в школах и университетах уделяют слишком мало времени), как теория чисел. […]
Автоматическое дифференцирование: дуальные числа и перегрузка операторов
Многие, в школе или университете, сталкивались с понятием комплексных чисел, и наверняка большинству принятие математической истины, сокрытой в этих необычных числах, обобщающих действительные числа, показалось действительно тяжелым: согласитесь, как можно принять, что квадратный корень из -1 существует, да еще и не принадлежит к действительным числам, к которым мы так привыкли?!
Простой пример работы с DFL2
После установки DFL2 и Entice Designer (а возможно и Resource Builder) некоторым людям сразу захотелось попробовать начать работу и написать что-нибудь простенькое (или не очень), но как всегда бывает, очень трудно начать (да и лень многим смотреть исходный код самой библиотеки или хотя бы примеры), а очень хочется сделать хоть что-то своими руками.