Задать вопрос
  • Как на c# отправить https GET или POST запрос, используя из параметров только url и raw(тело запроса)?

    VoidVolker
    @VoidVolker Куратор тега C#
    Dark side eye. А у нас печеньки! А у вас?
    Конечно можно:
    1. Берем из ссылки хост
    2. Получаем IP адрес
    3. По этому адресу открываем обычно соединение через обычный сокет
    4. Отправляем нужные данные через сокет
    5. Закрываем соединение
    Ответ написан
    4 комментария
  • Почему функция не работает?

    VoidVolker
    @VoidVolker Куратор тега JavaScript
    Dark side eye. А у нас печеньки! А у вас?
  • Как получить доступ к переменной из другого метода (ES6 JavaScript)?

    VoidVolker
    @VoidVolker Куратор тега JavaScript
    Dark side eye. А у нас печеньки! А у вас?
    • Создать переменную в области видимости обоих методов.
    • Создать статическую переменную.
    • Создать глобальную переменную.
    Ответ написан
    Комментировать
  • Как преобразовать string выражение?

    VoidVolker
    @VoidVolker Куратор тега C#
    Dark side eye. А у нас печеньки! А у вас?
    мне нужно общее решение
    Введите выражение у = [*ожидание ввода выражения]
    Введите x = [*ввод x]
    Значение Выражения в точке X = [значение выражение в точке]

    1. Получить выражение
    2. Проверить корректность выражения
    3. Получить дополнительные данные
    4. Проверить корректность введенных данных
    5. Распарсить выражение
    6. Распарсить введенные данные
    7. Произвести вычисления выражения с учетом введенных ранее данных
    8. Показать результат вычисления
    Ответ написан
    Комментировать
  • Как редактировать файлы сразу на сервере?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Ответ написан
    Комментировать
  • Вопрос по характеристикам моего ПК, менять или не менять?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Менять на что? С какой целью? Какой бюджет? Какие требования к ПК? Если хотите поменять — таки поменяйте.
    Ответ написан
    2 комментария
  • Как начальник может контролировать фрилансера по часам удалённо?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Эта программа называется тайм трекер или трекер активности (time tracker), один из примеров - https://hubstaff.com/ . Тут рядом еще TimeDoctor советуют — тоже отличный вариант.
    Ответ написан
    Комментировать
  • Запуск программы в изолированной среде Linux?

    VoidVolker
    @VoidVolker Куратор тега Windows
    Dark side eye. А у нас печеньки! А у вас?
    https://www.virtualbox.org/
    Запускаем интерфейс в хостовой винде, а ядро приложения в VB и связываем их через обычное сетевое соединение (сокеты, веб-сокеты, хттп и т.п.).
    Ответ написан
    5 комментариев
  • Как исправить размытый текст в Windows Forms?

    VoidVolker
    @VoidVolker Куратор тега C#
    Dark side eye. А у нас печеньки! А у вас?
    Гуглите DpiAware — изучите проблемы и выберете оптимальное решение для себя. Тут проблема в диком легаси наследии, реализованном через костыли и которое пытаются сохранить, добавляя исправления в виде костылей, которые генерируют новые баги и в новых версиях это пытаются исправить опять костылями. Кроме того, алгоритм работы масштабирования немного отличается в разных версиях ОС. Так что очень рекомендую проверять работу приложения в разных версиях ОС (7, 8.1, 10 Home, 10 Enterprise LTS) и с выключенным и включенным масштабированием. Да-да, в домашней десятке и в корпоративной долгосрочной десятке можно получить разный результат.

    Вариант 1 — вызов специальной функции в коде (реальный код, который я использую — плюс вторая функция для масштабирования шрифтов, тык — примерно так получается в 4к):
    const int WinDefaultDPI = 96;
    
    /// <summary>
    /// Исправление блюра при включенном масштабировании в ОС windows 8 и выше
    /// </summary>
    public static void DpiFix()
    {
        if (Environment.OSVersion.Version.Major >= 6)
        {
            SetProcessDPIAware();
        }
    }
    
    /// <summary>
    /// WinAPI SetProcessDPIAware 
    /// </summary>
    /// <returns></returns>
    [DllImport("user32.dll")]
    private static extern bool SetProcessDPIAware();
    
    /// <summary>
    /// Исправление размера шрифтов
    /// </summary>
    /// <param name="c"></param>
    public static float DpiFixFonts(Control c)
    {
        Graphics g = c.CreateGraphics();
        float dx = g.DpiX
            , dy = g.DpiY
            , fontsScale = Math.Max(dx, dy) / WinDefaultDPI
        ;
        g.Dispose();
        return fontsScale;
    }


    Плюс все формы имеют следующий конфиг (код, вызываемый в конструкторах форм):
    this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
    this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;


    Учтите, что AutoScaleDimensions — в конструкторе выставляется автоматически в зависимости от разрешения и DPI вашего монитора. Поэтому я не использую конструкторы. Иначе, при запуске приложения на разных машинах с разным DPI можно получить очень неожиданные результаты.

    Вариант 2 (v4.7):
    app.config
    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      <configSections>
      </configSections>
      <startup>
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7" />
      </startup>
      <System.Windows.Forms.ApplicationConfigurationSection>
        <add key="DpiAwareness" value="PerMonitorV2" />
        <add key="EnableWindowsFormsHighDpiAutoResizing" value="true" />
      </System.Windows.Forms.ApplicationConfigurationSection>
    </configuration>


    Вариант 3 (v4.7):
    app.config
    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      <configSections>
      </configSections>
      <startup>
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7" />
      </startup>
      <System.Windows.Forms.ApplicationConfigurationSection>
        <add key="DpiAwareness" value="PerMonitorV2" />
        <add key="EnableWindowsFormsHighDpiAutoResizing" value="false" />
      </System.Windows.Forms.ApplicationConfigurationSection>
    <configuration>


    Вариант 4:
    app.manifest
    <!-- Указывает, что приложение поддерживает определение DPI и не будет автоматически масштабироваться Windows при более высоких
           значениях DPI. Приложения Windows Presentation Foundation (WPF) по умолчанию поддерживают определение DPI, им не нужно 
           специально включать параметр для этого. Для приложений Windows Forms на платформе .NET Framework 4.6, для которых задан этот параметр, необходимо 
           также задать для "EnableWindowsFormsHighDpiAutoResizing" значение "true" в файле app.config.-->
      <application xmlns="urn:schemas-microsoft-com:asm.v3">
        <windowsSettings>
          <dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
        </windowsSettings>
      </application>
    Ответ написан
    6 комментариев
  • Откуда взять JS-объект для AJAX?

    VoidVolker
    @VoidVolker Куратор тега JavaScript
    Dark side eye. А у нас печеньки! А у вас?
    var formData = {
        data1: 'data 1',
        dataN: 'data N',
    }
    
    btn.onmousedown  = function(e) {
        $.ajax({
            type: "POST",
            url: 'url', 
            dataType: 'json',
            data: formData,  // отравляемые данные
            success: function (data, textStatus, jqXHR) {
                //
            },
            error: function(xhr, status, error){
                //
            }
        });
    };

    Чё-то это как-то нудно...

    От нудных вещей никуда не деться. Смените деятельность на не нудную.
    Ответ написан
    Комментировать
  • Черный экран после установки видеодрайвера. Как исправить?

    VoidVolker
    @VoidVolker Куратор тега Железо
    Dark side eye. А у нас печеньки! А у вас?
    Установите более старый видеодрайвер. Скачивайте драйвер с официального сайта производителя данной видеокарты и перед скачиванием укажите к какой именно видеокарте вам нужен драйвер.
    Ответ написан
    Комментировать
  • Почему undefined + 1 = NaN?

    VoidVolker
    @VoidVolker Куратор тега JavaScript
    Dark side eye. А у нас печеньки! А у вас?
    Потому что таковы спецификации языка. Вот тут полная таблица: https://dorey.github.io/JavaScript-Equality-Table/
    И не дублируйте вопросы, пожалуйста, — читайте спецификации языка, там все есть.
    Ответ написан
    Комментировать
  • Возможно ли изменить цвет нарисованной с помощью DrawingVisual фигуры?

    VoidVolker
    @VoidVolker Куратор тега C#
    Dark side eye. А у нас печеньки! А у вас?
    Вы бы почитали как вообще в ПК работают изображения и каким образом оно показывается на экране. Если говорить простыми словами: есть контекст рисования (изображение/виртуальный экран), который состоит из двухмерного массива пикселей. Когда какая-то функция рисует какую-то фигуру в этом экране — то она просто меняет цвет пикселей там. Если надо нарисовать фигуру другого цвета — то просто берем и вызываем эту функцию с теми же параметрами, но другим цветом.
    Ответ написан
  • Почему 0 == null // false?

    VoidVolker
    @VoidVolker Куратор тега JavaScript
    Dark side eye. А у нас печеньки! А у вас?
    Потому что таковы спецификации языка. Вот тут полная таблица: https://dorey.github.io/JavaScript-Equality-Table/
    И не дублируйте вопросы, пожалуйста, — читайте спецификации языка, там все есть.
    Ответ написан
    Комментировать
  • Как обратиться к элементу объекта?

    VoidVolker
    @VoidVolker Куратор тега JavaScript
    Dark side eye. А у нас печеньки! А у вас?
    let wall1 = [          
     { color: '#5A6FDA', range: [0, 25] },
     { color: '#52DA33', range: [26, 35] },
     { color: '#DA2278', range: [36, 56] },
     { color: '#B955DA', range: [57, 79] },
     { color: '#2D1ADA', range: [80, 102] },
     { color: '#33B9DA', range: [103,152] },
     { color: '#DA6E15', range: [153, 200] }
    ]
    
    let wall2 = {
     { 0: { '#5A6FDA': [0, 25] } },
     { 1: { '#52DA33': [26, 35] } },
     { 2: { '#DA2278': [36, 56] } },
     { 3: { '#B955DA': [57, 79] } },
     { 4: { '#2D1ADA': [80, 102] } },
     { 5: { '#33B9DA': [103,152] } },
     { 6: { '#DA6E15': [153, 200] } }
    }
    Ответ написан
    1 комментарий
  • Как управлять одной частю клиента из другой?

    VoidVolker
    @VoidVolker Куратор тега JavaScript
    Dark side eye. А у нас печеньки! А у вас?
    Точно так же, как и с сервером: клиент-1 отправляет данные на сервер, а сервер отправляет данные с клиента-1 на клиент-2. Точно так же и второй клиент. Можно юзать как стандартный HTTP, так и веб-сокеты.
    Ответ написан
    Комментировать
  • Как настроить mongoDB на AWS?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Ответ написан
    Комментировать
  • Какая причина падения производительности приложения?

    VoidVolker
    @VoidVolker Куратор тега C#
    Dark side eye. А у нас печеньки! А у вас?
    А вы каким образом изображения обрабатываете, выводите и какие функции используете? Дело в том, что C# для таких вещей не очень хорошо подходит и стандартные механизмы работы с отдельными пикселями там очень медленные. Для работы с изображениями следует использовать как минимум неуправляемый код, а в вашем случае еще лучше вывести все функции обработки и вывода изображения в отдельный модуль, написанный на C/C++ или на чем-то еще типа такого.
    Ответ написан
  • Есть ли преимущества передачи данных через webscoket?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Конвертация 100мб файла в 64-битную кодировку приведет к значительному увеличению объема передаваемых данных. Передавать бинарный файл таким образом не эффективно. Используйте стандартный механизм. Да, через веб-сокеты можно передавать файлы. Но это имеет смысл если вам нужно больше контроля над процессом передачи или надо реализовать какие-то специфические вещи.
    Ответ написан
    2 комментария