Как стать автором
Обновить
45.98

Delphi *

Объектно-ориентированный язык программирования

Сначала показывать
Порог рейтинга
Уровень сложности

Симулятор инсулинотерапии

Время на прочтение4 мин
Количество просмотров574

Так получилось, что я в своей жизни столкнулся с сахарным диабетом 1 типа у детей. Данное заболевание требует постоянного контроля и поддержания в пределах нормы уровня сахара в крови для обеспечения высокого качества жизни. Можно жить по старинке – проводить измерения глюкометром и колоть инсулин с помощью шприцов. А можно использовать современное технологичное устройство – инсулиновая помпа. Современная инсулиновая помпа позволяет контролировать уровень сахара в крови и вводить инсулин на прием пищи и для поддержания фоновой суточной потребности. С технической точки зрения инсулиновая помпа – это высокоточный насос для подачи инсулина, схема управления с беспроводным интерфейсом для приема данных о сахаре с беспроводного сенсора.

Главной проблемой использования данного оборудования является его настройка и эксплуатация. Поскольку в наших больницах данное оборудование является редкостью, то сложно найти профессионала по инсулиновым помпам. При этом кроме первоначальной настройки в больнице, пациенту необходимо уметь (его родителю, если пациент - ребенок) перенастраивать помпу и эксплуатировать ее помпу самостоятельно.

За 9 лет инсулинотерапии был пройден путь от инсулиновой помпы Medtronic 722 до Medtronic 740. На всем этом долгом пути я встретил очень большую проблему – недостаточный уровень обучения помповой инсулинотерапии как врачей, так и родителей детей-диабетиков.

При этом нет механизма обучения, только «боевой» вариант, когда устройство установлено на пациенте и от твоих действий зависит его состояние и здоровье в целом.

Читать далее
Всего голосов 8: ↑8 и ↓0+13
Комментарии3

Новости

Кроссплатформенный фреймворк FireMonkey, Delphi

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров3.1K

В этой статье я покажу, что из себя представляет фреймворк FireMonkey, на что он способен и в чем его основная идея. Подробно рассматривать технические отличия от VCL не буду, но некоторых вещей обязательно коснусь. Прошу не судить строго за статью, я постараюсь следить за ошибками в тексте и постараюсь донести свою мысль. Также, знаю, как сейчас относятся к Delphi, но тем не менее статья именно о нём. И первым делом, хотелось бы немного об этом поговорить. 

Ну, говори
Всего голосов 20: ↑19 и ↓1+23
Комментарии37

Object Pascal в 2024-м

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров5.7K

Всем привет! Меня зовут Сергей!

В данной статье речь будет идти больше о FPC/Lazarus, но так же многое, вероятно, можно будет отнести и к Delphi. Это будет что-то вроде обзора возможностей Lazarus вперемешку с начальными уроками. Многого я тут не раскрою (по моему мнению) и надеюсь читатель не будет надеяться что я смогу полностью раскрыть все секреты программирования (не надо, не надо меня за эти слова бить) в одной статье. Я надеюсь что данная статья поможет новичкам, а так же даст некоторую информацию не совсем новичкам.

В течении всей статьи я буду ссылаться на видеоролики, дабы упростить создание статьи. Было бы наверно лучше делать скриншоты и прикладывать их, но на это уйдёт намного больше времени, чем на подготовку видеороликов (учитывая что часть видеороликов уже готовы) и текст статьи вырастет в несколько раз.

перейти к статье
Всего голосов 35: ↑32 и ↓3+40
Комментарии72

Множества Мандельброта — на Delphi

Уровень сложностиСредний
Время на прочтение2 мин
Количество просмотров1.7K
Я нарисовал множества Мандельброта на Delphi а не flat assembler!
Embarcadero Delphi for Win32 compiler version 35.0
А именно:

DCC32.EXE
rlink32.dll
SysInit.dcu
System.dcu

Все!


Читать дальше →
Всего голосов 11: ↑8 и ↓3+7
Комментарии17

Истории

Когда я был маленьким, я писал авиасимулятор. Часть I

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров6.1K

Одна из самых главных мотиваций для многих профессионалов своего дела — в первую очередь, финансовая, как и для меня сейчас. И это логично. Но я уверен, что многие из нас, особенно те, кто начинал свой путь в программирование в школьные годы чудесные, иногда вспоминают то время, когда ты ещё достаточно молод для того, чтобы идти вперёд за идеей, а не за деньгами (конечно это утрировано, но всё же).

Это история моего старта. Того, как я, будучи десятиклассником, познавал все прелести программирования и разработки через достижение поставленных «амбициозных» целей.

*настоящая статья является первой из двух запланированных по этой теме

Вперед в прошлое
Всего голосов 19: ↑18 и ↓1+24
Комментарии15

Пишем REST-приложение на Delphi

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров5.9K

Привет, Хабр!

Я Ануар, работаю в GlowByte и профессионально играю на нервах (шутка ?).

К написанию статьи подвигла ситуация отсутствия в Рунете информации, как с использованием Delphi реализовать классическое трехзвенное приложение без использования фреймворков и каких-то приближенных к Microsoft технологий. Ниже следует текст немного в шутливой форме о мини-квесте «Как быстро написать распределенное многозвенное приложение на Delphi, использующее REST API». 

Целью было написать статью, которая бы коротко и ясно показывала, как реализовать такой функционал, так как не нашел статей и примеров именно по этой тематике и проблематике. Может, кому-то пригодится при освоении и понимании азов REST API. Возможно, кому-то статья покажется «для самых маленьких», но я надеюсь, что она будет полезна как в практическом смысле, так и теоретическом и поможет понять, как все это работает.

Поехали!
Всего голосов 13: ↑12 и ↓1+12
Комментарии52

API для своей программы (Delphi)

Время на прочтение2 мин
Количество просмотров2.2K

Здравствуйте


В этой статье я хотел бы рассказать о том, что такое API и для чего он нужен. Как известно всё познаётся на практике. По этому я создам простейший API для своей программы, который должен послужить хорошим примером для новичков.

Что такое API?


Я позволю себе малюсенькую вырезку из вики: «Интерфейс программирования приложений (иногда интерфейс прикладного программирования) (англ. application programming interface, API [эй-пи-ай])[1] — набор готовых классов, процедур, функций, структур и констант, предоставляемых приложением (библиотекой, сервисом) для использования во внешних программных продуктах. Используется программистами для написания всевозможных приложений.»
Читать дальше →
Всего голосов 9: ↑4 и ↓5+3
Комментарии12

«Отучаем» WinFXNet от жадности (часть 1)

Уровень сложностиПростой
Время на прочтение18 мин
Количество просмотров10K

Предыстория

В сфере АСУ ТП инженерам по работе приходится не только писать ПО, но и использовать готовое ПО от производителей оборудования. В связи с санкциями, многие поставщики покинули РФ, а оборудование и ПО необходимо продолжать эксплуатировать дальше.

В данной статье будет расмотрена WinFXNet - программа производителя Schneider Electric (ESMI) для конфигурирования станций пожарной сигнализации серии Esmi FX. К сожалению, из-за санкций, ключ USB Esmi FX FFS00393016 приобрести нельзя, а он, в свою очередь, имеет встроенный таймер, который настроен на 4-летний период. У многих данный ключ по времени уже закончился, плюс скоро закончится и лицензия на само ПО (файл формата lic). Поэтому достаем дизассемблеры и посмотрим, можно ли обойти данную защиту.

Disclaimer: Данная заметка написана в ознакомительных целях и не является руководством к действиям. Хотя, понимая всю безвыходность данной ситуации, как временное решение имеет право на жизнь, но решать только вам. Статья написана как туториал, поэтому постараюсь детально описать все шаги поиска нужных мест в программе.

Приступить к анализу
Всего голосов 88: ↑83 и ↓5+91
Комментарии28

Новости «LumanBox»: масштабирование, open source, осмысление опыта ведения индивидуальной базы знаний

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров2K

Новости проекта «Luman Box» для Windows: масштабирование, открытие исходников, осмысления опыта веденияи индивидуальных баз знаний, размышление над перспективами метода и проекта

Читать далее
Всего голосов 5: ↑4 и ↓1+3
Комментарии21

Process Memory Map

Время на прочтение3 мин
Количество просмотров7.2K

Я программист, а то что я еще и реверсер - ну... так совпало. И как любому из людей занимающимся реверсом мне всегда не хватает функционала отладчика. Постоянно приходится допиливать под конкретную задачу какие-то утилитарные вещи и однажды...
Однажды я решил - хватит, каждый раз пилить новое достаточно утомительно, а что если взять и объединить все наработки в один инструмент и пользоваться именно им!
Это будет скорее рекламный пост - но не спешите минусовать, возможности утилиты, о которой пойдет речь, а называется она Process Memory Map, весьма обширны, и возможно вам понравится :)

Итак - что это такое? Она похожа на всем известный инструмент от Марка Руссиновича VMMap (которая кстати частично основана на коде Джефри Рихтера), её задача проанализировать сторонний процесс и вытащить из него максимум данных, о которых она знает.

Читать далее
Всего голосов 63: ↑63 и ↓0+63
Комментарии19

Как стать Delphi-программистом за час «для самых маленьких»

Уровень сложностиПростой
Время на прочтение41 мин
Количество просмотров17K

Принято считать, что программирование это сложно, но это миф (все проще чем кажется), и все что нужно чтобы стать программистом это немного упорства и изобретательности.

В этой статье мы получим все базовые навыки, которые нужны Delphi программисту (включая базовые знания RunTime, работу с Com-объектами и Canvas, вводом\выводом, файлами, парсингом, ооп, и тд), по окончании статьи.

Окунутся в чудесный мир бесконечного скрол
Всего голосов 39: ↑19 и ↓20+4
Комментарии186

Телеграмм накрылся)), бот не работает. Делаю GUI-заменитель

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров10K

Всем привет.
Не так давно выложил статью про бота.

И вот тут меня зацепил) один комментарий.

Уже в момент создания бота в голове крутилась реализация десктопного GUI-заменителя).
Сложности я там не увидел. Но шо-то народ говорит сложно. Не попробуешь - не узнаешь), а тут удалось выкроить немного свободного времени. Погнали)

Качаю Delphi 11CE (бесплатная, письма с ссылками приходили на яндекс-почту), ставлю Python4Delphi - увязывает между собой ЯП и Delphi4PythonExporter - позволяет экспортировать GUI на Delphi в Python (не пригодился).

Мгновенно набрасываю минимальный интерфейс:

Читать далее
Всего голосов 16: ↑6 и ↓10-1
Комментарии28

Мультиплатформенность приложений в 2023

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров14K

Где в 2023 году искать настоящую нативную кроссплатформенность?

Я прошел Golang → Rust → C# → Python → Java → Kotlin → Free Pascal, в поисках мультиплатфореммнного GUI, для десктопов и мобильных и кое что нашел.

Многие считают что web или pwa это и есть кроссплатформенность, многие считают, что это Flutter или electron, но что там на самом деле?

Узнать
Всего голосов 30: ↑26 и ↓4+27
Комментарии82

Ближайшие события

19 сентября
CDI Conf 2024
Москва
24 сентября
Конференция Fin.Bot 2024
МоскваОнлайн
30 сентября – 1 октября
Конференция фронтенд-разработчиков FrontendConf 2024
МоскваОнлайн

Революционные IDE, повлиявшие на разработку ПО

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров32K
В старину при написании кода вы видели лишь чёрный текст на белом фоне. Для того чтобы писать код, требовалось много внимания и аккуратности. Опечатки не подсвечивались автоматически, а синтаксические ошибки обнаруживались только в процессе компиляции. По сравнению с современным программированием это был совершенно иной процесс.

Asymetrix ToolBook, когда-то популярный благодаря мультимедийным возможностям, но уже давно позабытый

В этой статье мы рассмотрим десяток сред разработки, оказавших самое большое влияние за последние тридцать лет программирования. IDE ранжированы по порядку, от десятого места до первого.
Читать дальше →
Всего голосов 74: ↑66 и ↓8+82
Комментарии181

Симбиоз «Chromium» и «InternetTools»

Уровень сложностиСредний
Время на прочтение28 мин
Количество просмотров3.2K
Заполучить определённые сведения с динамического сайта – это не сказать что очень редкая, но всё же специфическая задача, решение которой и предлагает статья (без покидания, насколько возможно, уютных рамок Delphi); под динамической страницей автор понимает не просто сайт, содержащий JavaScript (в современных реалиях найти ресурс без него довольно сложно), а страницу, на которой интересующие разработчика данные изначально отсутствуют в документе, полученном от веб-сервера, появляясь исключительно после отработки JS-кода, каким-то образом вычисляющего их, либо запрашивающего нужную информацию от некоего сервера.

Если читатель раньше не сталкивался с подобной проблематикой, то наверняка приведённое сжатое описание малопонятно, поэтому обратимся к конкретному примеру – пусть требуется извлечь альбомы некоторой группы с metal-archives.com:

Пример динамического сайта
Читать дальше →
Всего голосов 11: ↑11 и ↓0+11
Комментарии4

Кроссплатформенный клиент для ChatGPT

Уровень сложностиПростой
Время на прочтение1 мин
Количество просмотров18K

Занимался обёрткой для OpenAI для Делфи и вдобавок сделал клиент.

Прошу заранее прощения, я хотел сделать пост нового типа, но с телефона не увидел, как это можно сделать.

Читать далее
Всего голосов 28: ↑26 и ↓2+31
Комментарии25

Как правильно бегать — с пятки или с носка? Измеряем, сравниваем ударные нагрузки, время в полете. Android, акселерометр

Время на прочтение4 мин
Количество просмотров21K

В интернет почти все "бегают" с носка, а в реальных соревнования и пробегах - с пятки. В статье описаны результаты измерения ударных нагрузок, возникающих при беге разными стилями с помощью обычного смартфона.

Читать далее
Всего голосов 43: ↑37 и ↓6+39
Комментарии182

Сканер установленных перехватчиков в памяти процесса

Время на прочтение98 мин
Количество просмотров9.8K


В статье будет рассмотрен один из методов поиска изменений в памяти процесса, на основе построения полной карты уязвимых к перехвату адресов. Рассмотрена работа со списками загрузчика, ручным разбором таблиц импорта/отложенного импорта/экспорта/TLS загруженных файлов, c обработкой форварда функций и ApiSet редиректов.
Будет показана методика доступа в 64 битное адресное пространство чужого процесса из 32 битного кода через статически сформированный ассемблерный шлюз, так и подход с применением автоматически генерируемого гейта.
Будет дано много комментариев «почему» применяется тот или иной подход, а также описание различных проблемных ситуаций, основанных в том числе как на собственном опыте, так и на разборе кода системного загрузчика, поэтому будет интересна и подготовленным специалистам.
Читать дальше →
Всего голосов 54: ↑54 и ↓0+54
Комментарии24

Навеяно проблемой четырёх красок

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров4.8K

Как известно, Проблема четырёх красок решена в результате перебора вариантов на компьютере. Но не все математики согласны с таким решением, поскольку возникают сложности с проверкой отсутствия ошибок.

Для непосвящённых… Проблема четырёх красок формулируется очень просто: «Для раскраски любой карты на плоскости достаточно четырёх красок».

При этом, если области (страны) «касаются» только в одной точке, то считается, что они не граничат и их можно раскрасить в один и тот же цвет. Так, например, для раскраски клеток шахматной доски достаточно двух цветов.

Более того, Мартин Гарднер в книге «Математические головоломки и развлечения» упоминает, что доказана теорема «о двухцветных картах», которая утверждает, что «любую карту на плоскости можно раскрасить в два цвета тогда и только тогда, когда все её вершины чётны» (здесь, «вершиной» называется точка, в которой сходятся границы более двух стран).

* * *

Создал очень НЕинтересную игру, навеянную этой Проблемой.

Читать далее
Всего голосов 25: ↑25 и ↓0+25
Комментарии6

Lazarus-AVR, №2. Как получить кросс-компилятор для микроконтроллеров AVR с помощью Fpcupdeluxe

Время на прочтение2 мин
Количество просмотров2.8K

Микроконтроллеры: AVR; Среда программирования IDE Lazarus 32х (кросс-платформенный) (ОС: Windows 64х).

В прошлой статье я описывал подключение компилятора Avr к IDE Lazarus, но у меня не работало автодополнение кода (при нажатии ctrl+пробел появляется выпадающее меню с вариантами кода). Спустя 29 дней разборок я добился корректной работы автодополнения. Что бы отделить "мух от котлет" (не все используют fpcupdeluxe) я решил вынести описание работы с fpcupdeluxe в отдельную статью.

Читать далее
Всего голосов 10: ↑10 и ↓0+10
Комментарии2
1
23 ...