Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
Страниц: 1 2 3 4 [5] 6 7 8 ... 10
 41 
 : 28-02-2025 20:52 
Автор mMMdhhdjd - Последний ответ от RXL
Это очень сложный вопрос. Я думаю, вам лучше обратится на форум ардуиньщиков. Я уверен, там вас дадут полный исчерпывающий ответ. Найти такие форумы можно так: https://www.google.com/search?q=arduino+forum
Так же много любителей AVR на radiokot.ru/forum/

 42 
 : 28-02-2025 19:45 
Автор mMMdhhdjd - Последний ответ от mMMdhhdjd
Всем приветик! Занимаюсь написанием лазертака на асемблере, возникла такая проблема, необходимо написать код на единице управления, сделал кодик но в схеме протеуса начинает сама по себе работать в произвольном режиме, хотя должна работать при нажатии на кнопку, у меня кнопка выполняет функцию как фотодиод.
Ломаю голову не понимаю как правильно сделать в коде, при 0 управления все хорошо, когда ставлю единицу управления работает в произвольном режиме, кто знает как исправить данную проблему если не трудно то помогите, сам код и что в протеусе прикреплю ниже. Заранее спасибо огромное!!) рёв в три ручья  Замешательство

#include <avr/io.h>
#define F_CPU 1000000UL
#include <util/delay.h>

// Глобальная переменная для хранения текущего индекса массива
int a = 0;

// Массив значений для вывода на PORTB
int dd[10] = {
0b00000000, 0b00000001, 0b00010010, 0b00010011, 0b00100100,
0b00100101, 0b00110110, 0b00110111, 0b01001000, 0b01001001,
};

int main(void) {
// Настройка PORTC как вход (0x00)
DDRC = 0x00;
// Настройка PORTB как выход (0xff)
DDRB = 0xff;
// Настройка PORTD как выход (0xff) для управления единицей асамбер
DDRD = 0xff;
// Включение подтягивающего резистора на PINC0
PORTC = 0b00000001;

while (1) {
// Вывод значения из массива dd на PORTB
PORTB = dd[a];

// Проверка нажатия кнопки на PINC0
if (0!= (PINC & (1 << 0))) {
// Увеличение индекса массива
a++;
// Задержка для избежания дребезга контактов
_delay_ms(1000);
// Сброс индекса, если он выходит за границы массива
if (a > 9) a = 0;
}

// Управление выводами PORTC в зависимости от значения a
if (a < 5) {
PORTC &= ~(1 << 2); // Выключение PC2
PORTC |= (1 << 3); // Включение PC3
PORTD |= (1 << 0); // Включение PD0 (управление единицей асамбер)
}
if (a > 4 && a <= 8) {
PORTC &= ~(1 << 3); // Выключение PC3
PORTC |= (1 << 1); // Включение PC1
PORTD &= ~(1 << 0); // Выключение PD0
}
if (a > 8) {
PORTC |= (1 << 2); // Включение PC2
PORTC &= ~(1 << 1); // Выключение PC1
PORTD |= (1 << 1); // Включение PD1 (возможно, другое управление асамбером)
}
}

 43 
 : 22-02-2025 14:53 
Автор mikkijon - Последний ответ от mikkijon
Здравствуйте друзья!
  Посоветуйте пожалуйста какой лучше GUI для базы данных.
   Опишу по подробнее ситуацию.....
   Я хочу создать реляционную базу данных где указывается....
Таблица первая "Фамилия"
Таблица вторая "Имя"
Таблица третья "Отчество"
Таблица четвертая "Место рождения"
Таблица пятая Место жительство
На главной форме указаны кнопки
1. Добавить
2.Удалить

Форма "Добавить", поставлены вкладки где первая вкладка добавляет записи, вторая вкладка редактирует но также там стоит запрет на удаление каких либо записей.
Первая вкладка "Добавить записи", поставлены Text
Первый ComboBox добавляет записи в таблицу "Фамилия"
Второй ComboBox добавляет записи в таблицу "Имя"
Третий ComboBox добавляет записи в таблицу "Отчество"
Четвертый ComboBox добавляет записи в таблицу "Место рождения"
Пятый ComboBox добавляет записи в таблицу "Место жительство"
Почему именно ComboBox потому что при вводе пользователем текста Например "Ив" ComboBox ComboBox Автоматически заполнял остальной текст "анов" (как в Excel)
Вкладка "Редактирование записей", есть компонент  Text и Grid. Когда пользователь  открывает эту вкладку Grid сразу selectом выводит все записи из этих таблиц. Компонент Text.. когда пользователь текст например имя, фамилию или другие данные Gride автоматически перескакивает на эту запись
Форма "Удалить"  по молчанию эта кнопка не активирована.  Только пользователь с правами "root" может удалять эти записи.
Я изучал Pyqt6 по книге Прохоренок, там полная ерунда. По моему мнению автор пошел не в ту степь. Если есть какая то толковая литература то посоветуйте пожалуйста.
Надеюсь я подробно описал суть моей проблемы.
Заранее благодарю Вас

 44 
 : 13-02-2025 18:23 
Автор NikVE - Последний ответ от NikVE
Благодарю вас. Не слышал о таком - надо попробовать. А как там с просмотром того, что не нравится одним большим "дядям" в РФ? Есть там возможность что-то подключить, чтобы то, что не любят "большие дяди", можно было бы смотреть?

 45 
 : 11-02-2025 14:44 
Автор NikVE - Последний ответ от darkelf
До сих пор вполне можно использовать. Для выхода в интернет можно пользоваться браузером Supermium - https://github.com/win32ss/supermium.

 46 
 : 31-01-2025 01:21 
Автор mikkijon - Последний ответ от mikkijon
там есть два способа:
1. Табличную часть заполняется только вручную то есть через SQL - запрос
 
Код:
q.exec_("CREATE TABLE category (id INT PRIMARY KEY, catname TEXT);") 
        q.exec_("INSERT INTO category VALUES (1, 'Расходники');")
        q.exec_("INSERT INTO category VALUES (2, 'Носители');")

2 Это тот код который написан выше. Но он работает при условий что в табличной части есть записи

Моя цель - чтобы через программу, пользователь заполнял с нуля. Как и положено в нормальной СУБД

 47 
 : 30-01-2025 17:01 
Автор mikkijon - Последний ответ от RXL
Тут нужно документацию читать. Смотри QtSql.QSqlTableModel и QtWidgets.QTableView. Как работает первый и как он информирует второго, что что-то изменилось.

 48 
 : 30-01-2025 12:33 
Автор mikkijon - Последний ответ от mikkijon
Таблица создана по всем правилам!!!!
Я лично проверил через программу DB Browser for SQLite

 49 
 : 30-01-2025 11:53 
Автор mikkijon - Последний ответ от RXL
Таблицу сперва надо создать, прежде чем в нее вставлять строки. Создание таблицы включает задание имени таблицы, а так же имен и типов колонок. Для SQLite можно не задавать типы, они будут по умолчанию строками.

 50 
 : 30-01-2025 09:41 
Автор mikkijon - Последний ответ от mikkijon
Приветствую Друзья!!!
   Объясните пожалуйста мне, один нюанс в табличной модели. Я уже который день голову ломаю
Начну с самого начала вернувшись обратно к своей любимой теме, "Создание СУБД"..... Изучаю я по книге: Прохорёнок Н.А. Дронов В.А. - Python 3 и PyQt6 Разработка приложений.
там указан листинг:
Код:
from PyQt6 import QtCore, QtGui, QtWidgets, QtSql
import sys
def addRecord():
    if stm.value("category") == []:
        # Вставляем пустую запись, которую пользователь сможет ввести нужные данные
        stm.insertRecord(stm.rowCount())

def deleteRecord():
    # Удаляем запись из модели
    stm.removeRecord(tv.currentIndex().row())
    stm.select

app = QtWidgets.QApplication(sys.argv)
window = QtWidgets.QWidget()
window.setWindowTitle("Добавление и удаление записи")
# Устанавливаем соединение с базой данных
con = QtSql.QSqlDatabase.addDatabase("QSQLITE")
con.setDatabaseName("data.sqlite")
con.open()
# Создаем модель
stm = QtSql.QSqlTableModel(parent=window)
stm.setTable("category")
stm.sort(1, QtCore.Qt.SortOrder.AscendingOrder)
stm.select()
# Задает заголовки
stm.setHeaderData(0, QtCore.Qt.Orientation.Horizontal, "Номер записи")
stm.setHeaderData(1, QtCore.Qt.Orientation.Horizontal, "Категория")
vbox = QtWidgets.QVBoxLayout()
tv = QtWidgets.QTableView()
tv.setModel(stm)
tv.setColumnWidth(1, 60)
tv.setColumnWidth(2, 150)
vbox.addWidget(tv)
btnAdd = QtWidgets.QPushButton("&Добавить запись")
btnAdd.clicked.connect(addRecord)
vbox.addWidget(btnAdd)
btnDel = QtWidgets.QPushButton("&Удалить запись")
btnDel.clicked.connect(deleteRecord)
vbox.addWidget(btnDel)
window.setLayout(vbox)
window.resize(400, 250)
window.show()
sys.exit(app.exec())
  Проблема в том, что если таблице нет записей то при нажатии на кнопке, "&Добавить запись", таблица не переходит в режим редактирования и вsходит сообщение:
Цитата
Process finished with exit code -1073740791 (0xC0000409).
И как не меняй функцию:
Цитата
"addRecord"

 if stm.value("category") == []:
        # Вставляем пустую запись, которую пользователь сможет ввести нужные данные
        stm.insertRecord(stm.rowCount())
или
 if stm.Null == True:
        # Вставляем пустую запись, которую пользователь сможет ввести нужные данные
        stm.insertRecord(stm.rowCount())
все равно выходит сообщение:
Цитата
Process finished with exit code -1073740791 (0xC0000409)

Страниц: 1 2 3 4 [5] 6 7 8 ... 10
Powered by SMF 1.1.21 | SMF © 2015, Simple Machines