Задать вопрос
  • Как дополнить дополнить скетч для Ардуино что бы светодиоды включались только при нужном условии(ниже)?

    @kalapanga
    Rinat_2001, вижу, уже поправили. До форматирования там отсутствовали имена библиотек.
    За платными услугами Вам на фриланс или к одногруппникам. Меня это не интересует.
  • Как дополнить дополнить скетч для Ардуино что бы светодиоды включались только при нужном условии(ниже)?

    @kalapanga
    Rinat_2001, причем тут "написать int"? Это вы что имеете ввиду?
    Я Вам написал, что в логике скетча изменить нужно. Сейчас при температуре > 35 градусов Вы что-то делаете только с красным индикатором, а нужно ещё и выключить зелёный. Точно также при температуре < 20 градусов Вы только включаете зелёный индикатор, а нужно ещё и выключить красный.
    А уж синтаксис в любой книжке поглядите...
    Кстати, что в скетче делает куча #include которые ничего не "инклюдят"?
  • Реализация автополива с Arduino, если ты ничего не знаешь?

    @kalapanga
    s1vemod, Если Вашей системе потребуется связь с внешним миром, наличие веб-сервера, то возможно удобнее будет ESP или микрокомпьютер. По ссылке Владимир Коротенко собственно ардуин и вообще нет. Может потребоваться своего рода сеть из нескольких простейших микроконтроллеров и одного более продвинутого устройства. Посмотрите побольше подобных проектов, просто чтобы увидеть - что в принципе бывает.
    Если какая-то связь, удалённые контроль и управление нужны, то сразу возникает вопрос - а что имеется? Проводной интернет, wifi, сотовая связь... В зависимости от этого потребуются различные компоненты. И т.д.
  • Реализация автополива с Arduino, если ты ничего не знаешь?

    @kalapanga
    s1vemod, если основная цель - освоение микроконтроллеров, значит её и решаем. А то, что в принципе есть практическая задача - ещё лучше. Тогда действительно приобретайте ардуинку хотя бы "на потрогать", светодиодиком помигать. А там видно будет.
    Я имел ввиду, что если главным ставить проект, то после уточнения требований возможно лучше подошли бы
    ESP или даже микрокомпьютеры типа Малинки. Тем более, что последнее программисту на питоне наверное даже ближе.
  • Почему программа не может внести изменения в файл hosts.sys?

    @kalapanga
    alinaparamonova1, убедитесь, что в программе ничего не перепутали. Из других возможных причин, ещё у антивирусников вроде такая опция бывает - защищать hosts от изменений. Сторонний антивирус не установлен?
  • Компьютер зависает при просмотре видео, фото. Как исправить?

    @kalapanga
    advancesss, думаю, Вы прекрасно поняли, что я имею ввиду. Одно дело производство комплектующих в Китае известными фирмами. Другое дело покупка неизвестно чего неизвестно у кого. С какой помойки Вам этот процессор продали? И у материнки небось качество как у всего китайского ширпотреба. Какое получится.
    Я же написал - лотерея. Вы сэкономили, сыграли в лотерею, проиграли. Кому-то везёт больше.
  • Оболочка под PowerPoint?

    @kalapanga
    Вам бы с такими вопросами на фриланс куда-нибудь... Вы на учениках деньги зарабатываете, а за советами на бесплатный ресурс пришли - ловко!
  • Как можно оптимизировать код?

    @kalapanga
    Alertoso, Нюанс этот с интерфейсом я заметил и даже вроде написать об этом хотел, но мы на него (интерфейс) особо внимания не обращали - так и забыл.
    Нужно как следует подумать, что Вы хотите достигнуть. По-моему, "клик в секунду" тут совсем ни при чём.
    Мне кажется, здесь нужно сделать, чтобы если запущен расчёт, то новый запускать нельзя и всё. А реализуется просто изменением Enabled нужных контролов. Грубо говоря, в процедуре обработки нажатия кнопки "Начать расчёт" первое действие должно быть установка у этой самой кнопки Enabled := False. А в True оно возвращается в обработчике нажатия кнопки "Стоп". Я примерно пишу, уже не помню точно весь Ваш интерфейс. Я бы что-то такое сделал.
  • Почему система требует большой размер файла подкачки?

    @kalapanga
    nApoBo3, c hiberfil.sys не путаете?
    Антон, сами по себе 32 GB оперативы ни к чему систему не обязывают. У меня тоже 32, при этом вот сейчас файл подкачки всего 5 гигов. Значит у Вас кому-то надо было больше.
  • Если в трансформаторе просверлить отверстие в сердечнике, получится соленоид?

    @kalapanga
    aspirantes, Я же написал - считать надо!
    А Ваш подход похож на следующее. Нужно решить сложное уравнение. Но я не буду. Пусть решением будет число 5! Вдруг подходит! Вероятность не нулевая! :)
    Но хотя бы уж тогда Бобби Шифер послушайте - вместо сверления выкинте сердечник совсем.
  • Если в трансформаторе просверлить отверстие в сердечнике, получится соленоид?

    @kalapanga
    aspirantes, если Вам нужен соленоид "чтобы был", то сверлите на здоровье, раз так хочется!
    Но обычно соленоид нужен, чтобы выполнять определённую работу, допустим, с какой-то силой воздействовать на сердечник. Так вот чтобы обеспечить эту силу соленоид должен быть определённой формы, с определённым количеством витков, по которым течёт определённый ток, не превышающий допустимый для данного провода. Всё это рассчитывается, а не берётся от балды случайная хреновина с проводом.
    Так что с практической точки зрения у Вас будет не соленоид, а трансформатор с дыркой.
  • Как можно оптимизировать код?

    @kalapanga
    Alertoso, Привет! Да собственно с точки зрения именно алгоритма - ни в чём. Это только удобство написания кода. У Вас же был пример с полностью "самодельным" стеком. Сколько там всякого геммороя с указателями накручено было. И не уверен, что всё это без переработки подойдёт в другой задаче для другого типа данных. Если бы стояла задача самому реализовать работу со структурой типа стек - так бы и пришлось писать. А в используемом классе System.Generics.Collections.TStack уже всё написано за нас, нужно только сказать - работаем с типом Integer. В этом собственно и плюс дженериков, что одинаково работаем с данными практически любых типов. Ещё один класс, реализующий стек System.Contnrs.TStack - это скорее всего нечто более старое, а по функционалу - промежуточное. Работает с указателями, а уж на что они указывают - надо самому заботиться.
  • Компонент для изменения мета данных в JPG для Delphi 7?

    @kalapanga
    Олег М, Вот именно для программирования для себя, для обучения очень рекомендую перейти на Delphi Community Edition. Семёрке почти двадцать лет уже - это слишком много.
  • Какими способами можно провод присоединить к нескольким контактам?

    @kalapanga
    А проблема-то в чём? Есть провод, есть ножка светодиода - зачистили, залудили, припаяли. Или Вы что имеете ввиду? Вы бы хоть какой-то контекст вопроса давали. А то непонятно, что рассказывать.
    Или подходит ответ к Вашему прошлому вопросу - присоединять можно любым способом. Главное, чтобы был контакт где нужно и не было где не нужно.
  • Почему не запускается программа, служба?

    @kalapanga
    Может вирусяка? Не просто же так Вам Malwarebytes потребовался? :)
  • Почему не работают usb порты на Windows, в то время, как на Linux всё исправно?

    @kalapanga
    Что с usb портами в диспетчере устройств?
    Установлены ли драйвера от производителя материнской платы?
    Всё-таки, не работает только эта мышь или ни одна мышь, ни одна флешка, ни что-то ещё ни в одном порту (ни в выносных на передней панели ни сзади на материнской плате)?
  • Как правильно сделать панель приборов автомобиля на arduino (или другой платформе)?

    @kalapanga
    Сразу говорю, что я не автомобилист, поэтому ничего конкретного не подскажу. Но Вы бы добавили в вопрос, о каком автомобиле идёт речь! Ответ вон уже есть и формально правильный, но он подразумевает наличие в автомобиле всех необходимых цифровых датчиков общающихся по стандартной шине по стандартным протоколам, показания от которых нужно только поймать и отобразить. А оно у Вас точно есть? Просто желание сделать свою панель, наводит на мысли о какой-то старой или нестандартной технике.
    И ещё, фраза
    Сейчас эти данные отображаются на аналоговых датчиках
    некорректна. Датчики только измеряют/контролируют что-то, отображают индикаторы.
  • Как можно оптимизировать код?

    @kalapanga
    Alertoso, С буквами прикол в том, что у меня они нормально, сглаженными рисуются. Я рисую буквы в TfrmMain.grdChessBoardDrawCell вот так:
    grdChessBoard.Font.Size:= 20+trunc(grdChessBoard.DefaultRowHeight/QueensCount)-1;
      grdChessBoard.Font.Style:=[fsBold];
      grdChessBoard.Font.Name:='Times New Roman';
    
      if ACol = 0 then
        grdChessBoard.Canvas.TextRect(grdChessBoard.CellRect(ACol, ARow), grdChessBoard.CellRect(ACol, ARow).Left, grdChessBoard.CellRect(ACol, ARow).Top, IntToStr(QueensCount - ARow))
      else if ARow = QueensCount then
        grdChessBoard.Canvas.TextRect(grdChessBoard.CellRect(ACol, ARow), grdChessBoard.CellRect(ACol, ARow).Left, grdChessBoard.CellRect(ACol, ARow).Top, char(96+ACol))
      else
       // а тут уже отрисовка клеточек собственно доски

    У меня фиксированные колонки убраны, просто сетка на 1 больше в обе стороны. Цифры слева, буквы снизу. Ну и соответственно в DrawSolution коэффициенты настроены.
    И красивые буковки. Я поэтому никаких "фокусов" и не пробовал.
  • Как можно оптимизировать код?

    @kalapanga
    Alertoso, чего-то мы проигнорировали, что рекурсивный вызов внутри цикла for осуществляется, и после возврата цикл продолжаться должен. Ну значит сложнее будет! Надо тщательнее представить алгоритм на бумажке, пройтись пошагово отладчиком, тогда будет понятно, что ещё добавить нужно.
  • Как можно оптимизировать код?

    @kalapanga
    Alertoso, Саму процедуру Solve я примерно так и представлял. А вот этот кусочек совсем странный получился, скорее всего в нём и дело. В самой процедуре RecursiveSolution вот это совсем не так:
    if RestoreLastSolution then
      begin
        For i := 1 to QueensCount do
          x[i] := TmpArr[i];
          a[Cout1] := True;
          b[Cout2 + Cout1] := True;
          c[Cout2 - Cout1] := True;
          i:=Cout2;
          Solve(i);
      end;

    Массивы a, b, c должны заполняться так же, как мы это делали для прошлого случая. Сначала все значения True (это есть), а потом нужные элементы в False. А здесь сейчас что-то странное написано. В каждом массиве какому-то одному элементу присваивается опять же True. Тут не надо ничего придумывать - всё как для другого метода делали - здесь так же.
    Эти две строчки просто выкинуть.
    i:=Cout2;
    Solve(i);
    И получится вроде как я и имел ввиду.