Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр
Начните с маленькой подводной лодки: устанавливайте бомбы, избавляйтесь от врагов и старайтесь не попадаться на глаза своим плавучим врагам. Вас ждет еще несколько игровых вселенных, много уникальных сюжетов и интересных загадок.

Пикабомбер

Аркады, Пиксельная, 2D

Играть

Топ прошлой недели

  • CharlotteLink CharlotteLink 1 пост
  • Syslikagronom Syslikagronom 7 постов
  • BydniKydrashki BydniKydrashki 7 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Новости Пикабу Помощь Кодекс Пикабу Реклама О компании
Команда Пикабу Награды Контакты О проекте Зал славы
Промокоды Скидки Работа Курсы Блоги
Купоны Biggeek Купоны AliExpress Купоны М.Видео Купоны YandexTravel Купоны Lamoda
Мобильное приложение

Delphi

С этим тегом используют

Программирование Игры Помощь Разработка Инди игра Android Gamedev Все
144 поста сначала свежее
272
herrausberg
5 лет назад

Делаю игрушку под ZX Spectrum⁠⁠

Решил на самоизоляции осуществить детскую мечту, научиться кодить на Ассемблере под ZX Speсtrum )

Пока простенький движок с анимацией спрайтов и поддержкой Kempston mouse . Спрайты рисую в Gimp 2 и конвертирую их прямо в код при помощи простенькой тулзы на Delphi.

[моё] Zx Spectrum Gamedev Z80 Assembler GIMP Delphi Самоизоляция Видео
67
webprogrammer
webprogrammer
5 лет назад
Программирование на PHP

DevelStudio и DevelNext. О судьбе этих проектов рассказывает автор - Дмитрий Зайцев на своём канале в YouTube⁠⁠

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

Это мой первый пост на Pikabu, поэтому если я что то делаю не правильно - рассчитываю на нисхождение, пожалуйста так же если что то не так напишите в комментариях - обязательно приму к сведению.


Для начала о себе, я Web программист с более чем 10 летним стажем с PHP, так же немного знаком с NodeJS, бывает под Windows пишу на Delphi, отлично администрирую CentOs(знаком с ним начиная аж с 4-ой версии, это примерно ещё 2005 год). Тем не менее в этом посте речь пойдёт не о мне, а о одном разработчике - Дмитрие Зайцеве, который как оказалось сделал на мой взгляд отличный продукт, который он сам считает провалившимся, не смотря на такое мнение автора я пользуюсь им до сих пор. Сам я не считаю проект провальным, и очень жаль что DevelStudio не развивается(хотя может быть я не рублю фишки ведь существует DevelNext).


Что такое DevelNext - это среда разработки Windows приложений с возможностью компиляции в EXE на языке PHP с GUI. PHP достаточно лёгкий в изучении язык, обладая небольшими знаниями о PHP среда DevelStudio уже позволяла создавать полезные Windows программы. Не смотря на то что я больше изучаю Delphi для этого, существуют задачи когда я понимаю что мне проще зайти на сайт студии, скачать инсталятор размером порядка 30 мегабайт, установить студию и сделать ещё за 15,30  минут- ну час, задуманное, и это часто гораздо быстрее чем альтернативные варианты(не буду спорить возможно лично для меня). Хотя в данном случаи я говорю о разработке программы для себя, поскольку для продакшен есть у студии проблемы, одна из которых на мой взгляд заключается в том что библиотека которую таскает с собой будущее EXE приложение, а именно phpts5.dll определяется как вирус, хотя я возможно просто не разобрался, автор говорил по этому поводу что то в видео, может быть есть возможность сделать поведенеи антивирусов лояльным к этой библиотеке.

Кстати DevelStudio можно скачать по адресу - http://develstudio.ru

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


Так вот пользуюсь я средой DevelStudio до сих пор с периодическим успехом, и только на прошлой неделе узнал, что оказывается эту среду сделал 1 человек, узнал я это когда случайно наткнулся на его канал в YouTube который существует с начала 2020 года. Лично мне было очень интересно послушать про то как создавалась студия, и про то почему автор считает проект провалившимся, хотя повторюсь я не считаю.

Адрес канала Дмитрий Зайцева - https://www.youtube.com/channel/UCsz2PGAd7qAa0cx5xiVSBSQ

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

Кроме того на ютуб канале Дмитрия ещё не так много подписчиков, поэтому есть возможность пообщаться с разработчиком среды в комментариях.


Те, кто считают что написание Windows программ на PHP - это извращением, такое мнение имеет право на существование, лично я его не разделяю, и на практике знаю когда применение DevelStudio более чем оправдано.


Ещё момент на который я прошу обратить внимание! Я не Дмитрий, и Дмитрий никак не просил меня писать этот пост. Мой IP адрес с другого региона, более того у меня есть свой канал на YouTube и он на юридическую тематику, пока я не хочу его публиковать.

Пост я публикую по 2-м причинам: 1) действительно лично мне было интересно узнать что среда разрабатывалась 1 человеком, и узнать как это было, видео увлекательное и я как программист считаю оно зайдёт другим программистам.

2) интерес к SMO. У меня достаточно большой опыт в SEO, и SMO для меня не ограничение, поэтому одна из причина на которых я зарегистрировался на Pikabu и пишу этот пост - понимание какие возможности дают SMO технологии.


Ещё в комментариях к посту я попросил бы,е ли Вы знаете YOuTube каналы других программистов, напишите по Вашему мнению кого стоит посмотреть: интересует Ваше мнение как о каналах содержащих насыщенных информационный контент, так и видео которые можно посмотреть после работы для отдыха.


Прошу сильно не минусовать, повторюсь - это первый пост, ну и правила сообщества я конечно же ещё не прочитал :)

Показать полностью
[моё] PHP Java Delphi Develnext Зайцев Видео Длиннопост
175
953
severn64
5 лет назад

Delphi - 25 лет⁠⁠

Надо же, уже 25 лет прошло с тех пор, как появился Delphi.

Уже никто и не помнит, что тогда ни одна СУБД не содержала толкового языка программирования. И еще не существовало средств быстрой разработки пользовательского интерфейса. Т.е. те окошки, которые сейчас программист может нарисовать за 5 минут, требовали нескольких часов (а то и дней) программирования.

А еще - все ждали появления толкового средства разработки для Windows.

И вот - появился Delphi. Для Windows. C обновленным Паскалем. C фантастическими на тот момент возможностями по разработке интерфейса. С фантастически удобной средой.

И с возможностью работать с базами данных. Практически любыми! Что тогда тоже было почти фантастикой.

Само название - Delphi - намекало на то, что даже для самой мощной на тот момент СУБД - Oracle - это средство позволит построить всю нужную инфраструктуру. Как Дельфы вокруг Дельфийского оракула.

И сколько программистов перешло тогда с С и С++ на Delphi, вы бы видели!

Хочется сказать за это спасибо Филиппу Кану, основавшему Borland и выпустившему этот продукт.

Delphi - 25 лет Программирование, Delphi, Net
[моё] Программирование Delphi Net
386
kirilloptimist
kirilloptimist
5 лет назад

Очень интуитивная игра Змейка на делфи⁠⁠

Тонкая, быстрая, при приближении к еде видимость ухудшается.

Клавиши-читы:

AB - zoom

CD  - timer



space - pause


https://yadi.sk/d/fqGfHerK_ZlwpA
Очень интуитивная игра Змейка на делфи Игры, Delphi, Длиннопост, Игра змейка
Очень интуитивная игра Змейка на делфи Игры, Delphi, Длиннопост, Игра змейка
Очень интуитивная игра Змейка на делфи Игры, Delphi, Длиннопост, Игра змейка
Показать полностью 3
[моё] Игры Delphi Длиннопост Игра змейка
0
AlSoh8vne
AlSoh8vne
5 лет назад
IT-юмор

"Комментарный" стиль оформления кода)⁠⁠

Delphi'сты признавайтесь, кто еще так делает?)
"Комментарный" стиль оформления кода) Delphi, Засечки, Программирование, Читабельность

Собстно на днях получил задание дописать прогу за одним men'ом, скинули исходники, а там такое во всех ёлочках_

Суть в том, что в основных ide под delphi (borland, lazarus, embarcadero) курсор в строке можно поставить в её любое место вне зависимости от того, если ли в ней пробели или табуляция или нет и сколько, и начать писать в любом её месте, хоть с середины, а потом переставить курсор на начало и писать там, а тем временем текст в середине начнёт отступать на соответствующий отступ. Редактор кода при сохранении потом сам доставляет нужные tab или пробелы.

И т.о. получается, что если ты, стараясь создать читабельный код, при создании просто табуляции в строке пустой, иногда просто немного размечаешь отступы, чтоб потом просто щёлкнуть мышью в конце строки и оказаться там где надо - то здесь это не сработает.

И при этом автоматическая разметка кода, которой он старался видимо придерживаться, чтоб не сбиваться с стиля, делает так:

[пишем]

if {условие} then [жмём Enter]

_[автоматом получаем tab->]

_[пишем] begin [жмём Enter]

__[автоматом получаем второй tab-> и еще иногда сразу end; на третьей строке]

_end;

И если мы после этого end; нажмём Enter, то всё еще будем на его _ [Tab->] отступе, вровень с ним, хотя должны быть вровень с if, по логике, ну не беда, стираем tab и идём дальше. Но иногда это не нужно, а участок кода в итоге добавляешь много потом, а находясь между двумя end мы стираем автоматически 2 tab и приравниваемся к последнему, опять не удобно, теперь добавляем еще один tab и пишем.

Потом бывают ситуации, когда последний end намного дальше, а код к которому выровнять выше экрана и ты начинаешь путаться сколько tab'ов тебе надо в итоге выставить. Вот тут уже сложновато.

И что придумал этот интересный человек) Он просто на каждый отступ делает вот такие вот засечки на автомате, чтоб не путаться)

Я дооолго думал нафига) В итоге привык, даже сам потихоньку начинаю так делать)

Но позабавила, такая фишка.

Что скажите на её счёт?) ...мб он зря так делает и можно тупо где то отключить эту фичу редактора?

Показать полностью
Delphi Засечки Программирование Читабельность
28
123
AfterBefore
5 лет назад

Вторая жизнь старому стрелочному мультиметру⁠⁠

Бывает, что у радиолюбителей есть старый стрелочный мультиметр советских времен, лежит где-то далеко на полке. По прямому назначению его уже использовать не хочется, а выкинуть жалко. Так и лежит. В этой статье мы сделаем его модернизацию, а именно – добавим USB, для возможности анализа данных и построения графиков.

Вторая жизнь старому стрелочному мультиметру Мультиметр, Новая жизнь старых вещей, Схемотехника, Микроконтроллеры, Arduino, Stm32, Delphi, Программирование, Видео, Длиннопост
Вторая жизнь старому стрелочному мультиметру Мультиметр, Новая жизнь старых вещей, Схемотехника, Микроконтроллеры, Arduino, Stm32, Delphi, Программирование, Видео, Длиннопост

Из курса школьной физики вспоминаем принцип работы такого измерительного прибора – ток течет по обмотке, находящейся в магнитном поле, пытается покрутиться и отклоняет стрелку. Первым делом вскрываем мультиметр и смотрим на подключение стрелки.

Вторая жизнь старому стрелочному мультиметру Мультиметр, Новая жизнь старых вещей, Схемотехника, Микроконтроллеры, Arduino, Stm32, Delphi, Программирование, Видео, Длиннопост

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

Вторая жизнь старому стрелочному мультиметру Мультиметр, Новая жизнь старых вещей, Схемотехника, Микроконтроллеры, Arduino, Stm32, Delphi, Программирование, Видео, Длиннопост

Выбираем провод с более резким наклоном прямой. В моем случае получилось что при максимальном отклонении стрелки напряжение равно 96,4 мВ. Для оцифровки микроконтроллером мало, но ничего страшного, это напряжение можно усилить операционным усилителем. Подойдет любой ОУ, я взял LM2904, просто потому что у меня такой был. Смотрим документ на микросхему – два ОУ в одном корпусе, максимальное выходное напряжение Vcc-1.5v. Запитывать будем от 3.3 вольт, значит надо подобрать коэффициенты усиления так, чтобы при зашкаливающей стрелке ОУ выдавал максимально возможное напряжение.

Вторая жизнь старому стрелочному мультиметру Мультиметр, Новая жизнь старых вещей, Схемотехника, Микроконтроллеры, Arduino, Stm32, Delphi, Программирование, Видео, Длиннопост

Готово. Первый каскад усиливает напряжение со стрелки мультиметра в 10 раз, второй каскад усиливает выход первого в зависимости от настройки потенциометра. Для тестов я собрал все на старом кусочке текстолита.

Вторая жизнь старому стрелочному мультиметру Мультиметр, Новая жизнь старых вещей, Схемотехника, Микроконтроллеры, Arduino, Stm32, Delphi, Программирование, Видео, Длиннопост

Проверяем напряжение на выходе усилителя при разных положениях стрелки. Нужно настроить так, чтобы когда стрелка зашкаливает, напряжение продолжало увеличиваться пока она не упрется в ограничитель хода. Теперь это напряжение надо оцифровать. Я взял китайскую платку с STM, купленную на Али.

Вторая жизнь старому стрелочному мультиметру Мультиметр, Новая жизнь старых вещей, Схемотехника, Микроконтроллеры, Arduino, Stm32, Delphi, Программирование, Видео, Длиннопост

На борту у нее микроконтроллер STM32F103C8T6. Есть АЦП и USB. Подходит. Для первоначальной настройки предлагаю воспользоваться STM32CubeMX. Включаем тактирование, настраиваем кварцевые резонаторы.

Вторая жизнь старому стрелочному мультиметру Мультиметр, Новая жизнь старых вещей, Схемотехника, Микроконтроллеры, Arduino, Stm32, Delphi, Программирование, Видео, Длиннопост

Включаем и настраиваем АЦП, не забываем про прерывание по готовности.

Вторая жизнь старому стрелочному мультиметру Мультиметр, Новая жизнь старых вещей, Схемотехника, Микроконтроллеры, Arduino, Stm32, Delphi, Программирование, Видео, Длиннопост

АЦП будет запускаться по событию таймера, настраиваем таймер.

Вторая жизнь старому стрелочному мультиметру Мультиметр, Новая жизнь старых вещей, Схемотехника, Микроконтроллеры, Arduino, Stm32, Delphi, Программирование, Видео, Длиннопост

Таймер тактируется частотой 48 МГц, с предделителем 24 и периодом 2000 получится, что он будет запускать АЦП каждую 1 мс. В принципе так часто нет смысла, но мы будем использовать усреднение значений, поэтому пусть будет. Включаем USB, выбираем Custom HID.

Вторая жизнь старому стрелочному мультиметру Мультиметр, Новая жизнь старых вещей, Схемотехника, Микроконтроллеры, Arduino, Stm32, Delphi, Программирование, Видео, Длиннопост

Генерируем проект и переходим к написанию кода. Я использовал System Workbench for STM32. Добавляем в «main.c» запуск таймера и АЦП, и несколько глобальных переменных.


/* USER CODE BEGIN PV */

//uint16_t adc_arr[ADC_MAX_CONVERSATIONS];

uint16_t adc_to_send;

uint32_t adc_sum;

uint8_t adc_counter;

uint8_t send_flag;

volatile uint16_t x;

/* USER CODE END PV */

/* USER CODE BEGIN 2 */

HAL_ADC_Start(&hadc1);

HAL_ADC_Start_IT(&hadc1);

HAL_TIM_Base_Start(&htim3);

/* USER CODE END 2 */


В прерывании прибавляем к переменной значение с АЦП и увеличиваем счетчик. Когда счетчик достигнет 200, усредняем значение и перекладываем в буфер для отправки по USB. Поднимем флаг, что пора отправлять.


/* USER CODE BEGIN 4 */

void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc){

adc_sum+=HAL_ADC_GetValue(hadc);

adc_counter++;

if(adc_counter==ADC_MAX_CONVERSATIONS){

HAL_GPIO_TogglePin(LD_1_GPIO_Port,LD_1_Pin);

adc_to_send=adc_sum/ADC_MAX_CONVERSATIONS;

adc_counter=0;

adc_sum=0;

send_flag=1;

}

}

/* USER CODE END 4 */


В основном цикле все время проверяем флаг, если поднят опускаем и отправляем буфер. Получится что мы будем отправлять значения каждые 200 мс.


/* USER CODE BEGIN WHILE */

while (1)

{

// HAL_GPIO_TogglePin(LD_1_GPIO_Port,LD_1_Pin);

if(send_flag){

send_flag=0;

..USB_Send_report(adc_to_send);

}

/* USER CODE END WHILE */

/* USER CODE BEGIN 3 */

}


Дескриптор USB устройства уже создался стм кубом, его трогать не будем, только проверим интервал опроса, должно быть не больше наших 200 мс.


/* 34 */

0x07, /* bLength: Endpoint Descriptor size */

USB_DESC_TYPE_ENDPOINT, /* bDescriptorType: */

CUSTOM_HID_EPOUT_ADDR, /*bEndpointAddress: Endpoint Address (OUT)*/

0x03, /* bmAttributes: Interrupt endpoint */

CUSTOM_HID_EPOUT_SIZE, /* wMaxPacketSize: 2 Bytes max */

0x00,

0x20, /* bInterval: Polling Interval (20 ms) */

/* 41 */


Далее составим «HID Report» дескриптор в программке HID Descriptor Tool.

Вторая жизнь старому стрелочному мультиметру Мультиметр, Новая жизнь старых вещей, Схемотехника, Микроконтроллеры, Arduino, Stm32, Delphi, Программирование, Видео, Длиннопост

Тут мы говорим, что наше устройство сообщает температуру в комнате (Usage). Report Size=8 и Report Count=4 означают, что 32 бита посылается от устройства к компьютеру (Input) и столько же от компьютера к устройству (Output). Нам из этого всего понадобится только 2 байта, остальное на будущее. Сохраняем как заголовочный файл, и копируем в наш код (куб там оставил место в файле usbd_custom_hid_if.c). Так же надо проверить соответствие размеров репорт дескриптора 35 байт и размер буфера под отправку (тут должно быть 5 байт, потому что мы еще указали Report ID – это еще 1 байт в самом начале). Прошьем и проверим, что устройство правильно определилось в системе.

Вторая жизнь старому стрелочному мультиметру Мультиметр, Новая жизнь старых вещей, Схемотехника, Микроконтроллеры, Arduino, Stm32, Delphi, Программирование, Видео, Длиннопост

Раскомментируем функцию отправки в файле «usbd_custom_hid_if.c» и заполняем, указав первым байтом Report ID, дальше наше значение АЦП.


/* USER CODE BEGIN 7 */

/**

* @brief Send the report to the Host

* @Param report: The report to be sent

* @Param len: The report length

* @retval USBD_OK if all operations are OK else USBD_FAIL

*/

static uint8_t USBD_CUSTOM_HID_SendReport_FS(uint8_t *report, uint16_t len)

{

return USBD_CUSTOM_HID_SendReport(&hUsbDeviceFS, report, len);

}

uint8_t USB_Send_report(uint16_t data){

Rep_buffer[0]=0x01;//report id

Rep_buffer[1]=data>>8;

Rep_buffer[2]=data;

Rep_buffer[3]=0xFF;

Rep_buffer[4]=0xFF;

return USBD_CUSTOM_HID_SendReport_FS(Rep_buffer,5);

}

/* USER CODE END 7 */


Проверяем в какой-нибудь утилитке что пакеты действительно идут.

Вторая жизнь старому стрелочному мультиметру Мультиметр, Новая жизнь старых вещей, Схемотехника, Микроконтроллеры, Arduino, Stm32, Delphi, Программирование, Видео, Длиннопост

Осталось написать программку под Windows, которая бы все это обрабатывала. Берем любимую среду программирования и библиотеку для работы с HID устройствами. Я взял старенькую Delphi 7 и библиотеку компонентов JEDI VCL. Из нее нужны «TJvHidDeviceController» и «TJvHidDevice». Добавляем обработчик «OnEnumerate» у девайс контроллера, в него по очереди прилетают все HID устройства при вызове энумерации. Остается отфильтровать наше устройство по VID и PID, затем связать с компонентом «TJvHidDevice».


function TUSBMeter.HidControllerEnumerate(HidDev: TJvHidDevice; const Idx: Integer): Boolean;

begin

if (IntToHex(HidDev.Attributes.VendorID,4)=VID)and

(IntToHex(HidDev.Attributes.ProductID,4)=PID) then

begin

if (HidDev.Caps.OutputReportByteLength=OUT_REPORT_COUNT_AMPERAGE) then

HidController.CheckOutByIndex(HidAmperage,Idx);

usb_ready:=true;

end;

Result := True;

end;


Данные будут приходить в обработчик «OnDeviceData». В нем вычисляем из посылки значение АЦП и выводим куда-нибудь для проверки.


procedure TUSBMeter.HidControllerDeviceData(HidDev: TJvHidDevice; ReportID: Byte; const Data: Pointer; Size: Word);


var

buf:^byte;

begin

if (IntToHex(HidDev.Attributes.VendorID,4)<>VID)or((IntToHex(HidDev.Attributes.ProductID,4)<>PID)) then exit;

buf:=Data; // rep

adc_abs:=buf^;

adc_abs:= adc_abs shl 8;

inc(buf);

adc_abs:=adc_abs+(buf^);

inc(buf);

callback;

end;


Теперь надо сделать пересчет, добавим на форму RadioGroup и настроим как на переключателе мультиметра. Я не стал добавлять шкалу сопротивлений, не нужна.

Вторая жизнь старому стрелочному мультиметру Мультиметр, Новая жизнь старых вещей, Схемотехника, Микроконтроллеры, Arduino, Stm32, Delphi, Программирование, Видео, Длиннопост

Заведем так же масштабирующий массив для пересчета и массив с единицами измерений.


const

scale_arr: array[1..18] of real = (600,300,150,60,30,15,6,3,0.75,1500,300,60,15,3,0.6,0.12,0.000012,1);

scale_arr_symb: array[1..18] of string[2] = ('V','V','V','V','V','V','V','V','V','mA','mA','mA','mA','mA','mA','mA','uA','');


Для пересчета еще понадобятся два граничных значения acd_min и adc_max. Подключаем потенциометр к мультиметру, выставляем стрелку на 0 и смотрим, что присылается в программу. Если тоже 0 – хорошо, если нет – не беда, подкорректируем. Потом выставляем стрелку на максимум и так же смотрим. Важно чтобы когда стрелка «зашкаливала» значение продолжало увеличиваться, так будет запас. Если этого нет, надо подкрутить потенциометр ОУ. У меня получилось 0 и 2365. Пересчитываем и выводим уже на основное табло.


procedure TMainForm.HID_Callback;

var

s:string;

buf:string;

rec_s:string;

begin

s:=floattostr(((meter.ADC-adc_min)/(adc_max-adc_min))*scale_arr[RadioGroup1.ItemIndex+1]);

buf:=copy(s,1,5);

buf[pos(',',buf)]:='.';

Label2.Caption:=buf;

end;

Вторая жизнь старому стрелочному мультиметру Мультиметр, Новая жизнь старых вещей, Схемотехника, Микроконтроллеры, Arduino, Stm32, Delphi, Программирование, Видео, Длиннопост
Вторая жизнь старому стрелочному мультиметру Мультиметр, Новая жизнь старых вещей, Схемотехника, Микроконтроллеры, Arduino, Stm32, Delphi, Программирование, Видео, Длиннопост
Вторая жизнь старому стрелочному мультиметру Мультиметр, Новая жизнь старых вещей, Схемотехника, Микроконтроллеры, Arduino, Stm32, Delphi, Программирование, Видео, Длиннопост

Большая часть готова, теперь надо прикрутить запись в файл, страницу настроек с сохранением и красивый GUI. Формат файла я взял CSV, так как из него будет легко строить графики в Экселе.

Вторая жизнь старому стрелочному мультиметру Мультиметр, Новая жизнь старых вещей, Схемотехника, Микроконтроллеры, Arduino, Stm32, Delphi, Программирование, Видео, Длиннопост
Вторая жизнь старому стрелочному мультиметру Мультиметр, Новая жизнь старых вещей, Схемотехника, Микроконтроллеры, Arduino, Stm32, Delphi, Программирование, Видео, Длиннопост
Вторая жизнь старому стрелочному мультиметру Мультиметр, Новая жизнь старых вещей, Схемотехника, Микроконтроллеры, Arduino, Stm32, Delphi, Программирование, Видео, Длиннопост
Вторая жизнь старому стрелочному мультиметру Мультиметр, Новая жизнь старых вещей, Схемотехника, Микроконтроллеры, Arduino, Stm32, Delphi, Программирование, Видео, Длиннопост
Вторая жизнь старому стрелочному мультиметру Мультиметр, Новая жизнь старых вещей, Схемотехника, Микроконтроллеры, Arduino, Stm32, Delphi, Программирование, Видео, Длиннопост

Все, готово. Осталось собрать все в корпус мультиметра, свободного места там полно. Прорезать отверстие под USB шнурок и убрать обратно на самую дальнюю полку до тех пор, пока не понадобится снять долгий график разряда аккумулятора или график потребления тока каким-нибудь устройством.


Надеюсь, кому-нибудь будет полезно.

Показать полностью 23 1
[моё] Мультиметр Новая жизнь старых вещей Схемотехника Микроконтроллеры Arduino Stm32 Delphi Программирование Видео Длиннопост
45
vitalneponimaet
5 лет назад
Лига программистов

Ай нид хэлп⁠⁠

Ребята кто-нибудь разбирается в delphi и access нужен листинг программы. Для диплома нужно. Знакомых программистов нету( поэтому рискнул написать сюда. Может быть найдутся добрые люди.

Delphi Access Текст
23
Rock9
Rock9
6 лет назад

ПОМОЩЬ В ДЕЛФИ 7⁠⁠

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

ПОМОЩЬ В ДЕЛФИ 7 Delphi, Help!i need somebody, Delphi7
Delphi Help!i need somebody Delphi7
19
Посты не найдены
О Нас
О Пикабу
Контакты
Реклама
Сообщить об ошибке
Сообщить о нарушении законодательства
Отзывы и предложения
Новости Пикабу
RSS
Информация
Помощь
Кодекс Пикабу
Награды
Команда Пикабу
Бан-лист
Конфиденциальность
Правила соцсети
О рекомендациях
Наши проекты
Блоги
Работа
Промокоды
Игры
Скидки
Курсы
Зал славы
Mobile
Мобильное приложение
Партнёры
Промокоды Biggeek
Промокоды Маркет Деливери
Промокоды Яндекс Путешествия
Промокоды М.Видео
Промокоды в Ленте Онлайн
Промокоды Тефаль
Промокоды Сбермаркет
Промокоды Спортмастер
Постила
Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии