• Как сделать такое?

    HemulGM
    @HemulGM
    Delphi Developer, сис. админ
    Два прямоугольника со скрытыми частично сторонам. У левого скрыт правый бордер, у правого левый
    Ответ написан
    Комментировать
  • Когда не выполнится блок finally?

    HemulGM
    @HemulGM
    Delphi Developer, сис. админ
    Он выполнится всегда, даже если в try finally будет исключение
    Ответ написан
  • Как установить Devexpress компоненты для RAD Studio Delphi XE8?

    HemulGM
    @HemulGM Куратор тега Delphi
    Delphi Developer, сис. админ
    Component - > Install Package -> Add
    Выбираешь bpl
    Ответ написан
  • Что передаёт windows form этим методам?

    HemulGM
    @HemulGM
    Delphi Developer, сис. админ
    У каждого события, а это у тебя именно обработчик событий свой набор параметров. Но как правило в нем всегда присутствует sender. Sender - Это ссылка на объект, который сгенерировал событие. Т.е. например, если обработчик событий на кнопке - sender будет кнопкой. Т.е. можно кастить к типу Button и работать с кнопкой которую нажали.
    Это полезно, если у тебя один обработчик событий на несколько кнопок, например.

    После sender идут полезные параметры, которые зависят от события. Если это просто OnClick, то там ничего не будет, если OnMouseMove - то будут данные о мыши (что нажато (ЛКМ, ПКМ, СКМ, Шифт и т.д.), координаты куда нажали и т.д.)
    Ответ написан
    Комментировать
  • Не загружается windows, что делать?

    HemulGM
    @HemulGM Куратор тега Windows
    Delphi Developer, сис. админ
    У тебя очевидно проблемы с железом. Возможно с видеокартой. Твоя "кубунту" чхать хотела на видеокарту, а даже лайвовая винда пыталась запустить драйвер на видеокарте и летела к чертям.
    Ответ написан
    Комментировать
  • Как можно сократить решение задачи?

    HemulGM
    @HemulGM Куратор тега Python
    Delphi Developer, сис. админ
    sch_2 = 0
    sch_3 = 0
    sch_4 = 0
    sch_5 = 0
    sch_6 = 0
    sch_7 = 0
    sch_8 = 0
    sch_9 = 0
    sch_10 = 0
    sch_11 = 0
    sch_12 = 0


    Вот эту хрень сделай массивом
    Ответ написан
    Комментировать
  • Как узнать что запись удалена через Vk APi python?

    HemulGM
    @HemulGM Куратор тега Python
    Delphi Developer, сис. админ
    Запроси запись на сайте обычным http клиентом (если к ней есть общий доступ)
    Ответ написан
    Комментировать
  • Как создать таймер и ввод одновременно?

    HemulGM
    @HemulGM Куратор тега Python
    Delphi Developer, сис. админ
    Делай GUI, а не терминал
    Ответ написан
    Комментировать
  • Как вывести названия связанных таблиц из Sqlite?

    HemulGM
    @HemulGM Куратор тега Python
    Delphi Developer, сис. админ
    Что такое связанная таблица? Это таблица, которая связывает две другие таблицы. Как она их связывает? Имеет два столбца, которые ссылаются на PK других таблиц.
    Так что ищи таблицы, у которых есть два FK ключа на PK ключи других таблиц.

    И вот тебе ещё прикол. Таблица может не иметь явной связи одной таблицы с другой. Она может просто хранить числа, которые по "счастливой случайности" являются ID записей других таблиц
    Ответ написан
  • Какой язык выбрать для простой обучающей программы?

    HemulGM
    @HemulGM
    Delphi Developer, сис. админ
    Один день (чтоб вспомнить и написать) на Делфи и готово. Можешь написать мне, набросать небольшое ТЗ, а я сделаю тебе эту программку в свободное время
    Ответ написан
    3 комментария
  • Как написать данный паскаль код на асемблере?

    HemulGM
    @HemulGM
    Delphi Developer, сис. админ
    Запиши решение обычным способом и в отладке забери сгенерированный асм. Debug -> CPU Window
    Ответ написан
    Комментировать
  • Как вывести слова в алфавитном порядке в моем коде?

    HemulGM
    @HemulGM
    Delphi Developer, сис. админ
    В массив их все помести, потом отсортируй массив и выведи
    Ответ написан
  • Почему в буфер вставляется только первый символ?

    HemulGM
    @HemulGM Куратор тега Delphi
    Delphi Developer, сис. админ
    Используй стандартный модуль clipbrd. Там в одну строку поместишь текст в буфер
    uses Clipbrd;
    
    Clipboard.AsText := 'text';
    Ответ написан
  • Почему не строится график?

    HemulGM
    @HemulGM Куратор тега Delphi
    Delphi Developer, сис. админ
    код
    uses Math, System.Types;
    
    procedure TForm4.FormCreate(Sender: TObject);
    begin
      Arr := [
        TPointF.Create(10, 150),
        TPointF.Create(5, 50),
        TPointF.Create(150, 50),
        TPointF.Create(140, 140),
        TPointF.Create(150, 50),
        TPointF.Create(150, 50),
        TPointF.Create(150, 50)
        ];
    end;
    
    function TForm4.Fuctorial(n: Integer): Integer; // Функция вычисления факториала
    begin
      var res := 1;
      for var i := 1 to n do
        res := res * i;
      Result := res;
    end;
    
    function TForm4.polinom(i, n: integer; t: Single): Single; // Функция вычисления полинома Бернштейна
    begin
      Result := (Fuctorial(n) / (Fuctorial(i) * Fuctorial(n - i))) * Math.Power(t, i) * Math.Power(1 - t, n - i);
    end;
    
    procedure TForm4.Draw();// Функция рисования кривой
    begin
      var j := 0;
      var step := 0.01; // Возьмем шаг 0.01 для большей точности
    
      var res: TArray<TPoint>;
      SetLength(res, 101); //Конечный массив точек кривой
    
      var t: Single := 0;
      while t < 1 do
      begin
        t := t + step;
        var ytmp := 0.0;
        var xtmp := 0.0;
        for var i := 0 to High(Arr) do
        begin // проходим по каждой точке
          var b := polinom(i, Length(Arr) - 1, t); // вычисляем наш полином Бернштейна
          xtmp := xtmp + Arr[i].X * b; // записываем и прибавляем результат
          ytmp := ytmp + Arr[i].Y * b;
        end;
        res[j] := TPoint.Create(Round(xtmp), Round(ytmp));
        Inc(j);
      end;
    
      for var i := 0 to High(res) - 1 do
      begin
        Canvas.MoveTo(res[i].X, res[i].Y);
        Canvas.LineTo(res[i + 1].X, res[i + 1].Y); // Рисуем полученную кривую Безье
      end;
    end;
    
    procedure TForm4.FormPaint(Sender: TObject);
    begin
      Draw;
    end;


    637f97cd8d0c7133132952.png

    стандартный проект vcl со сглаживанием (меняется только процедура Draw())

    uses Direct2D, Winapi.D2D1;
    
    procedure TForm4.Draw();// Функция рисования кривой
    begin
      var j := 0;
      var step := 0.01; // Возьмем шаг 0.01 для большей точности
    
      var res: TArray<TD2DPoint2f>;
      SetLength(res, 101); //Конечный массив точек кривой
    
      var t: Single := 0;
      while t < 1 do
      begin
        t := t + step;
        var ytmp := 0.0;
        var xtmp := 0.0;
        for var i := 0 to High(Arr) do
        begin // проходим по каждой точке
          var b := polinom(i, Length(Arr) - 1, t); // вычисляем наш полином Бернштейна
          xtmp := xtmp + Arr[i].X * b; // записываем и прибавляем результат
          ytmp := ytmp + Arr[i].Y * b;
        end;
        res[j].x := xtmp;
        res[j].y := ytmp;
        Inc(j);
      end;
      with TDirect2DCanvas.Create(Canvas, ClientRect) do
      try
        BeginDraw;
        for var i := 0 to High(res) - 1 do
          DrawLine(res[i], res[i+1]);
        EndDraw;
      finally
        Free;
      end;
    end;



    637f9ce29d069377716122.png

    вот на FMX со сглаживанием (меняется только немного процедура Draw()
    код

    procedure TForm4.Draw();// Функция рисования кривой
    begin
      var j := 0;
      var step := 0.01; // Возьмем шаг 0.01 для большей точности
    
      var res: TArray<TPointF>;
      SetLength(res, 101); //Конечный массив точек кривой
    
      var t: Single := 0;
      while t < 1 do
      begin
        t := t + step;
        var ytmp := 0.0;
        var xtmp := 0.0;
        for var i := 0 to High(Arr) do
        begin // проходим по каждой точке
          var b := polinom(i, Length(Arr) - 1, t); // вычисляем наш полином Бернштейна
          xtmp := xtmp + Arr[i].X * b; // записываем и прибавляем результат
          ytmp := ytmp + Arr[i].Y * b;
        end;
        res[j] := TPointF.Create(xtmp, ytmp);
        Inc(j);
      end;
      Canvas.BeginScene;
      Canvas.Stroke.Kind := TBrushKind.Solid;
      Canvas.Stroke.Color := TAlphaColorRec.Red;
      for var i := 0 to High(res) - 1 do
      begin
        Canvas.DrawLine(res[i], res[i+1], 1); // Рисуем полученную кривую Безье
      end;
      Canvas.EndScene;
    end;


    637f99ead5c4a101937108.png
    под андроид
    637f9b25c8d6a912753313.jpeg
    Ответ написан
    5 комментариев
  • Как подсчитать количество строк в текстовом файле?

    HemulGM
    @HemulGM Куратор тега Delphi
    Delphi Developer, сис. админ
    Приведенный код не понятно для чего, а подсчитать строки можно так (если их не много)

    var LinesCount: Integer;
    var List: TStringList;
    try
      List.LoadFromFile('filename.txt');
      LinesCount := List.Count;
    finally
      List.Free;
    end;
    writeln(LinesCount);


    или так

    writeln(Length(TFile.ReadAllLines('filename.txt')))


    или так (можно для большого файла, если длина одной строки не огромная)

    var LinesCount := 0;
    with TFile.OpenText('filename.text') do
    try
      while not EndOfStream do begin ReadLine; Inc(LinesCount); end;
    finally
      Free;
    end;
    Writeln(LinesCount);
    Ответ написан
    Комментировать
  • Как написать это на паскале с ассемблерной вставкой?

    HemulGM
    @HemulGM
    Delphi Developer, сис. админ
    Запиши решение обычным способом и в отладке забери сгенерированный асм. Debug -> CPU Window
    Ответ написан
  • Как создать цикл для того чтоб заменять 0 на 1 и 1 на 0?

    HemulGM
    @HemulGM
    Delphi Developer, сис. админ
    Длину строки раздели на 10 (целочисленное деление). И заводи цикл от 1 до этого числа. И обращайся к элементам строки с домножением на 10. В чем проблема?
    Ответ написан
    Комментировать
  • С++. Как сложить элементы двух массивов по индексу?

    HemulGM
    @HemulGM
    Delphi Developer, сис. админ
    Ну так создай третий массив, установи ему длину равную длине исходных массивов (надеюсь, понимаешь, что длина исходных массивов должна быть одинакова).
    Запускаешь один цикл и складываешь.

    c[i] = a[i] + b[i]
    Ответ написан
  • Pywin32 манипуляции с программами в трее (NotifyIcon)?

    HemulGM
    @HemulGM Куратор тега Python
    Delphi Developer, сис. админ
    Иконка в трее - это отдельный, независимый объект. Его можно создать несколько для одной программы. И не важно, есть у программы окна или нет.

    Нужно изучать winapi и искать, есть ли функции для получения списка иконок трея. Либо, получить окно трея и перечислить дочерние элементы - иконки трея.

    Вот тут на шарпе это делали. Ты уверен, что оно тебе надо?
    https://social.msdn.microsoft.com/Forums/vstudio/e...
    Ответ написан
    9 комментариев
  • Как одновременно запустить hypercorn и discord bot'a?

    HemulGM
    @HemulGM Куратор тега Python
    Delphi Developer, сис. админ
    Запускай в разных потоках. У тебя и сервер и бот запускают бесконечный цикл и не выходят из него до завершения. Сколько по твоему бесконечных чиклов может работать одновременно в одном потоке?
    Ответ написан