Russian Qt Forum
Ноябрь 25, 2024, 02:57 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Реализация нескольких вопросов.  (Прочитано 7116 раз)
altVis
Гость
« : Апрель 01, 2008, 14:19 »

День добрый.
От работодателя поступили требования.
И хотелось бы узнать, существуют ли какие-нибудь решения, которые могут послужить хотя бы базой для создания, т.к. нет времени на создание с 0.
1) нужно решения для стандартизации запросов к разным БД,т.е. например есть 5 разных СУБД с идентичными БД, таблицами.
И если введнный запрос например для sybase, не подходит для oracle, то нужно этот запрос конвертировать в понятный для oracle.
Что-то похожее,как я понимаю реализовано в sqlways. Может существует библиотека предназначенная для такого?

2) нужно решение для информативного вывода ошибки во время исполнения программы. И решение расстановки сообщений в "местах-бобмах" кода не подходит, т.к. надо будет подгонять под каждую программу. Нужен шаблон для разных программ.

3) динамическая смена layouts на виджете(что-то на подобии qdockwidget), как в Qt дзайнере. Т.е. во время исполнения программы, пользователь мог бы поменять расстановку компонентов на виджете( не mainform )

4) последнее требование самое странное. В оффисе 2007 создали новое меню вверху слева( выглядит,как шар или пузырь Улыбающийся ) , оно ещё наполовину "залазит" на обрамление оконного менеджера. Не успел я ужаснуться, как мне сообщили, что такое меню приняли уже чуть ли не за стандарт и тыкнули в готовую реализацию на  .net и vcl. Может есть что-нибудь на Qt?

Вот и всё Грустный
« Последнее редактирование: Апрель 01, 2008, 14:21 от altVis » Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #1 : Апрель 01, 2008, 16:46 »

Попробуй зайти на qt-apps.org, может что и найдешь...
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Tonal
Гость
« Ответ #2 : Апрель 02, 2008, 08:02 »

1) Есть 3 варианта:
а) Попытаться ограничится минимальным общем подмножеством SQL.
б) Писать проблемные запросы в 5ти экземплярах.
в) Нарисовать свой DSL - некое промежуточное представление, в котором ты описываешь запрос какие данные тебе нужны, а движёк, в зависимости от типа сервера конвертирует это в конкретный формат. (такая возможность точно есть в BDE, и вроде в ODBC)

2) Исключения.

3) В Qt есть докинг

4) Геометрию окна ты можешь задать - см examples/widgets/shapedclock
Записан
altVis
Гость
« Ответ #3 : Апрель 02, 2008, 09:31 »

1) Есть 3 варианта:
а) Попытаться ограничится минимальным общем подмножеством SQL.
б) Писать проблемные запросы в 5ти экземплярах.
в) Нарисовать свой DSL - некое промежуточное представление, в котором ты описываешь запрос какие данные тебе нужны, а движёк, в зависимости от типа сервера конвертирует это в конкретный формат. (такая возможность точно есть в BDE, и вроде в ODBC)

2) Исключения.

3) В Qt есть докинг

4) Геометрию окна ты можешь задать - см examples/widgets/shapedclock

Спасибо, но как реализовать я знаю  Улыбающийся
Я спрашивал о готовых решениях Подмигивающий
А докинг - это qdockwidget?Так они только на qmainwindow расставляются  Грустный
Записан
Tonal
Гость
« Ответ #4 : Апрель 02, 2008, 10:21 »

Ну а готовые я тоже сказал. Смотри BDE, ODBC, ADO - в них вроде должен быть "универсальный" режим.
Смотри.
Поищи по ключевым словам ORM, C++ - мож что нароешь - расскажешь потом. Улыбающийся

Ну и докинг допилить вполне реально. Улыбающийся

Какая вообще задача стоит?
Если выбирается платформа для разработки серии приложений, то под свои нужды можно Qt и подзаточить. Улыбающийся

Да, про SQL, ещё можно встроить в приложение ту жа Java или Python - пушай они с базами разбираются, благо для каждого из них такие либы есть в большом количестве. Веселый
Записан
altVis
Гость
« Ответ #5 : Апрель 02, 2008, 11:18 »

На фирме решается проблема "на чём же программировать?".
Моя задача предложить некий шаблон( кроссплатформенный, работа с 5 определёнными БД, юникод и т.д. ).
Я решил взяться за Qt.  Улыбающийся
А вот другие языки программирования хорошая идея  Подмигивающий
Но! Какие плюсы даёт разработка на java/Qt перед java/ Swing/AWT? Я думаю, что этот вопрос зададут первым  Улыбающийся
Записан
Tonal
Гость
« Ответ #6 : Апрель 02, 2008, 11:29 »

Ну, это отдельный флейм - поищи в сети полно материалов.
Мы, вот, выбрали Qt + python.
С++ - только в случаях тяжёлых вычислений или работы со странными библиотеками/устройствами.

Скорость и удобство разработки больше на порядок.
Скорость выполнения меньше. :-)
Записан
Mikhail
Программист
*****
Offline Offline

Сообщений: 587


Просмотр профиля
« Ответ #7 : Апрель 02, 2008, 16:59 »

На фирме решается проблема "на чём же программировать?".
Моя задача предложить некий шаблон( кроссплатформенный, работа с 5 определёнными БД, юникод и т.д. ).
Я решил взяться за Qt.  Улыбающийся
А вот другие языки программирования хорошая идея  Подмигивающий
Но! Какие плюсы даёт разработка на java/Qt перед java/ Swing/AWT? Я думаю, что этот вопрос зададут первым  Улыбающийся

Ну а мы выбрали Qt/C++ вместе с QSA( сейчас это QtScript ). Вся графика и взаимодействие с железом, базами и т.п. с использованием
драйверов и плагинов на Qt/C++, а вся логика программ в скриптах.
Практически необходимо только написать логику в скриптах и нарисовать визуальный интерфейс любой сложности встроенным редактором. Да работает помедленнее чистого Qt/C++, но задача реализуется за пару дней, а чаще и часов.
Записан
Tonal
Гость
« Ответ #8 : Апрель 03, 2008, 08:58 »

... но задача реализуется за пару дней, а чаще и часов.
Вместе с изменением структуры базы данных?
Записан
Вячеслав
Гость
« Ответ #9 : Апрель 03, 2008, 12:16 »

Ой блин ! Какую тему пропустил Подмигивающий Все ДСП-шники клятые работу другим придумывают:(
1) Tonal тебя правильно послал - Змей рулит (Python) Есть такой приятный штук SQLAlchemy - ну собственно жрет
Цитировать
Postgres: psycopg2
SQLite: pysqlite, sqlite3 (included with Python 2.5 or greater)
MySQL: MySQLdb
Oracle: cx_Oracle
MS-SQL: pyodbc (recommended), adodbapi or pymssql
Firebird: kinterbasdb
Informix: informixdb
+ DB2
Хватит ?
Скорость работы змея- выше чем QSA ( проверял когда искал скриптовый язык для проги) + Возможность использовать байт-код (меньше размер + нет исходников в которых могут покапаться шаловливые ручки пользователя).
2)except'ионы в зубы как уже сказали и вперед Подмигивающий Продумать иерархию классов (опять-таки посмотреть на змея\или Stl) и все (почти) будет пучком.... Ну и еще перехватить core-dump etc Подмигивающий
3) Хм ну а руками наследника QLayout'а написать ?И пример есть ....
4) Для _М$_ может быть .... работать с ним .... ну на любителя .... И все зависит от конечной направленности продукта Подмигивающий IMHO в том-же ворде ,если есть голова на плечах - крыс вообще нафиг не сдался ( и делаеться все в разы быстрее - нет переключение руки на крыса).Но если юзер работает в режиме абезьяна "дебет у окна и ЭТО ПРИХОД!!!" , то ..... начальству(менеджеру по продаже продукта) может и виднее ......
Записан
Mikhail
Программист
*****
Offline Offline

Сообщений: 587


Просмотр профиля
« Ответ #10 : Апрель 03, 2008, 12:41 »

... но задача реализуется за пару дней, а чаще и часов.
Вместе с изменением структуры базы данных?

Ну а в чем вопрос?
Естественно
Записан
Mikhail
Программист
*****
Offline Offline

Сообщений: 587


Просмотр профиля
« Ответ #11 : Апрель 03, 2008, 12:51 »


Скорость работы змея- выше чем QSA ( проверял когда искал скриптовый язык для проги) + Возможность использовать байт-код (меньше размер + нет исходников в которых могут покапаться шаловливые ручки пользователя).


При использовании QtIOCompressor можно и размер уменьшить и затруднить копание шаловливых ручек пользователей.

А скорость QtScript проверял? Интересно...
Записан
Вячеслав
Гость
« Ответ #12 : Апрель 03, 2008, 13:00 »


Скорость работы змея- выше чем QSA ( проверял когда искал скриптовый язык для проги) + Возможность использовать байт-код (меньше размер + нет исходников в которых могут покапаться шаловливые ручки пользователя).


При использовании QtIOCompressor можно и размер уменьшить и затруднить копание шаловливых ручек пользователей.

А скорость QtScript проверял? Интересно...
QtScript - нет ....
А скорость - все равно меньше будет - QSA парсит файл при каждой загрузке , а змей умеет сохранять уже готовый байт-код Подмигивающий Который дальше можно пожать zip'ом и скормить ему-же Подмигивающий
Записан
altVis
Гость
« Ответ #13 : Апрель 03, 2008, 15:20 »

Всем спасибо!
Тема конечно превращается больше во флуд, но хотелось бы попросить не удалять сообщения из неё, т.к. весьма интересно почитать о том, что выбрали другие и как этот выбор окупается Улыбающийся
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.057 секунд. Запросов: 23.