Архив за 17 марта 2017

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

8-киловаттный 4-канальный коммутатор AC с измерением потребления. Часть 1 - 1
Читать полностью »

Ученые нашли способ склонить мужчину к браку

Всем известно, что женщины больше хотят вступить в брак, чем мужчины. Первые хотят стать матерями и женами, вторые любят свободу. Но все же рано или поздно браки заключаются. Понятно, что склонить к этому мужчин порой бывает нелегко. Ученые-психологи придумали, как это сделать быстрее. Они создали целый список советов, которые помогут подтолкнуть любимого мужчину к свадьбе.

Читать полностью »

Психологи рассказали, какую семью можно называть счастливой

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

Читать полностью »

в 19:44, , рубрики: Delphi, метки: ,

Использование JNI в Delphi

Приветствую всех. Эта статья рассчитана для Новичков, которые только приступили к изучению JNI для работы с ним в среде Delphi. И так в этой статье мы поговорим как именно использовать JNI в Delphi. И так давайте же приступим.

Для начала вам потребуется компонент JNI. Вы можете его скачать ТУТ. Теперь мы готовы приступить к практической части. Я все буду делать на RAD Studio 10.1 Berlin

Пример №1:
Получаем и изменяем данные типа JInt, JBoolean.

Допустим что у нас есть Класс в котором есть переменная I типа JInt, следовательно нам нужно ее изменить.

public int I = 10;

И есть некий обработчик который использует эту переменную. К примеру Событие нажиния TButton.

 private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
       System.out.println(i);
    }   

При нажатии на Кнопку в консоль выведется сообщение «10» т.к. I = 10; Чтобы нам изменить I на любое другое число, делаем следующее:

var
  JNIEnv: PJNIEnv;
  JC: JClass;
  JF: JFieldID;
 Begin
  JC:= jnienv^.FindClass(JNIEnv, 'example/Main');
  JF:= jnienv^.GetFieldID(JNIEnv, JC, 'I', 'I');
  jnienv^.SetIntField(JNIEnv, JC, JF, 5);
 end;

Что же тут происходит. Для начала мы получаем JavaClass функцией FindClass. 'example/Main' это значит что класс находится внутри JVM по пути exampleMain.class.

Далее мы получаем JField в данном случае это I типа JInt. GetFieldID мы указываем Класс, Имя и Сигнатуру.

И наконец мы передаем свое значение I, в моем случаем оно равно 5. SetIntField мы указываем Класс, JField и значение.

То же самое будет для JBoolean:

 public boolean Stat = false;
 var
  JNIEnv: PJNIEnv;
  JC: JClass;
  JF: JFieldID;
 Begin
  JC:= jnienv^.FindClass(JNIEnv, 'example/Main');
  JF:= jnienv^.GetFieldID(JNIEnv, JC, 'Stat', 'Z');
  jnienv^.SetByteField(JNIEnv, JC, JF, 1);
 end;

Изначально Stat был равен false т.е. 0, а мы его меняем на true т.е. 1;
Читать полностью »

В мире создан гибкий тачпад, аналогов которому пока нет

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

Читать полностью »

image

Сегодня, 17 марта, Госдума РФ должна была рассмотреть в первом чтении поправки в законы «Об информации...», которые позволят быстро блокировать «зеркала» сайтов, нарушающих законодательство, сообщают «Известия». Данные меры необходимы для оперативного внесения в реестр запрещенных сайтов Роскомнадзора «зеркал» ранее заблокированных ресурсов без судебного разбирательства.

Регулятор столкнулся с тем, что после внесения ресурса в список запрещенных сайтов, у последнего достаточно оперативно появляется «зеркало» под измененным доменным именем, формально — другой сайт. При существующем законодательстве для его блокировки необходимо инициировать те же процедуры, что и для основного ресурса. Однако, правовое управление Госдумы усмотрело в новом методе борьбы с запрещенными сайтами серьезный изъян, который сводит на нет весь смысл вносимых поправок.
Читать полностью »

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

Как известно, у компании LeEco в конце прошлого года образовались крупные финансовые проблемы. Несмотря на огромные финансовые запасы, компания слишком быстро бросилась занимать новые рынки и ниши, в связи с чем эти самые запасы практически исчерпались.

Читать полностью »

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

Меньше колёс — больше ответственность: как застраховать мотоцикл - 1Читать полностью »

Ассортимент компании ID-Cooling пополнился интересной процессорной системой охлаждения IS-65. Она любопытна в первую очередь тем, что поставляется без вентилятора, хотя не позиционируется в качестве пассивной.

Процессорный охладитель ID-Cooling IS-65 позволяет пользователю самому выбрать вентилятор

Читать полностью »