Контакты
Местоположение
Россия, Калужская обл., Калуга

Наибольший вклад в теги

Все теги (6)

Лучшие ответы пользователя

Все ответы (10)
  • Как правильно вывести значения из бд Mysql node js?

    Azamat_Lee
    @Azamat_Lee
    Работаю с Wordpress
    Для работы с MySQL в Node.js и использования async/await для асинхронных операций, вы можете использовать библиотеку mysql2/promise, которая поддерживает промисы и позволяет использовать async/await. Вот пример того, как можно реализовать ваш запрос:

    const mysql = require('mysql2/promise');
    
    async function getData() {
      const connection = await mysql.createConnection({
        host: "127.0.0.1",
        user: "root",
        password: "",
        database: "mania"
      });
    
      try {
        const [rows, fields] = await connection.execute('SELECT * FROM price_history_1d');
        for (let row of rows) {
          console.log(`ID: ${row['birza']}, NAME: ${row['symbol']}, PRICE: ${row['price']}`);
          // Теперь вы можете работать с каждой строкой данных как с объектом
          // Например, вы можете сохранить данные в переменные или отправить их куда-либо
        }
      } catch (err) {
        console.error(err);
      } finally {
        await connection.end();
      }
    }
    
    getData();


    Этот код создает асинхронную функцию getData, которая устанавливает соединение с базой данных, выполняет запрос и выводит результаты. Каждая строка результатов обрабатывается в цикле, и вы можете сохранять данные в переменные или использовать их для других операций внутри цикла.

    Обратите внимание, что для использования mysql2/promise вам нужно будет установить этот пакет через npm:

    npm install mysql2

    Использование async/await позволяет писать асинхронный код, который выглядит как синхронный, и делает его более читаемым и удобным для отладки.
    Ответ написан
    21 комментарий
  • Как сделать цикл в PyQt5?

    Azamat_Lee
    @Azamat_Lee
    Работаю с Wordpress
    Для решения вашей проблемы с бесконечным циклом в PyQt5, вы можете использовать механизм многопоточности, чтобы цикл выполнялся в фоновом потоке, и это не блокировало главный интерфейс пользователя. Также вам понадобится добавить кнопку для остановки цикла. Вот пример кода, который демонстрирует, как это можно сделать:

    from PyQt5 import QtCore, QtGui, QtWidgets
    import pyautogui
    import threading
    
    class Ui_MainWindow(object):
        # ... ваш предыдущий код ...
    
        def add_functions(self):
            self.pushButton.clicked.connect(self.start_autoswap)
            self.stopButton.clicked.connect(self.stop_autoswap)  # Добавьте кнопку остановки в ваш интерфейс
    
        def start_autoswap(self):
            self.autoswap_thread = threading.Thread(target=self.autoswap, daemon=True)
            self.autoswap_thread.start()
    
        def stop_autoswap(self):
            self.running = False
    
        def autoswap(self):
            self.running = True
            while self.running:
                x = 459
                y = 1402
                Color = pyautogui.screenshot().getpixel((x, y))
                print(Color)
                if Color == (185, 185, 185):
                    pyautogui.press("2", presses=4, interval=0.01)
    
    # ... остальная часть вашего кода ...


    В этом примере:

    Метод start_autoswap запускает метод autoswapв отдельном потоке.
    Переменная self.running используется для контроля выполнения цикла.
    Метод stop_autoswap изменяет значение self.running на False, что приводит к остановке цикла.
    Не забудьте добавить кнопку остановки в ваш пользовательский интерфейс и соединить её с методом stop_autoswap. Также убедитесь, что вы используете daemon=True при создании потока, чтобы он завершался вместе с основной программой.
    Ответ написан
    Комментировать