Russian Qt Forum

Qt => Общие вопросы => Тема начата: altVis от Апрель 01, 2008, 14:19



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

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

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

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

Вот и всё :(


Название: Re: Реализация нескольких вопросов.
Отправлено: Пантер от Апрель 01, 2008, 16:46
Попробуй зайти на qt-apps.org, может что и найдешь...


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

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

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

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


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

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

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

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

Спасибо, но как реализовать я знаю  :)
Я спрашивал о готовых решениях ;)
А докинг - это qdockwidget?Так они только на qmainwindow расставляются  :(


Название: Re: Реализация нескольких вопросов.
Отправлено: Tonal от Апрель 02, 2008, 10:21
Ну а готовые я тоже сказал. Смотри BDE, ODBC, ADO - в них вроде должен быть "универсальный" режим.
Смотри.
Поищи по ключевым словам ORM, C++ - мож что нароешь - расскажешь потом. :)

Ну и докинг допилить вполне реально. :)

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

Да, про SQL, ещё можно встроить в приложение ту жа Java или Python - пушай они с базами разбираются, благо для каждого из них такие либы есть в большом количестве. :D


Название: Re: Реализация нескольких вопросов.
Отправлено: altVis от Апрель 02, 2008, 11:18
На фирме решается проблема "на чём же программировать?".
Моя задача предложить некий шаблон( кроссплатформенный, работа с 5 определёнными БД, юникод и т.д. ).
Я решил взяться за Qt.  :)
А вот другие языки программирования хорошая идея  ;)
Но! Какие плюсы даёт разработка на java/Qt перед java/ Swing/AWT? Я думаю, что этот вопрос зададут первым  :)


Название: Re: Реализация нескольких вопросов.
Отправлено: Tonal от Апрель 02, 2008, 11:29
Ну, это отдельный флейм - поищи в сети полно материалов.
Мы, вот, выбрали Qt + python.
С++ - только в случаях тяжёлых вычислений или работы со странными библиотеками/устройствами.

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


Название: Re: Реализация нескольких вопросов.
Отправлено: Mikhail от Апрель 02, 2008, 16:59
На фирме решается проблема "на чём же программировать?".
Моя задача предложить некий шаблон( кроссплатформенный, работа с 5 определёнными БД, юникод и т.д. ).
Я решил взяться за Qt.  :)
А вот другие языки программирования хорошая идея  ;)
Но! Какие плюсы даёт разработка на java/Qt перед java/ Swing/AWT? Я думаю, что этот вопрос зададут первым  :)

Ну а мы выбрали Qt/C++ вместе с QSA( сейчас это QtScript ). Вся графика и взаимодействие с железом, базами и т.п. с использованием
драйверов и плагинов на Qt/C++, а вся логика программ в скриптах.
Практически необходимо только написать логику в скриптах и нарисовать визуальный интерфейс любой сложности встроенным редактором. Да работает помедленнее чистого Qt/C++, но задача реализуется за пару дней, а чаще и часов.


Название: Re: Реализация нескольких вопросов.
Отправлено: Tonal от Апрель 03, 2008, 08:58
... но задача реализуется за пару дней, а чаще и часов.
Вместе с изменением структуры базы данных?


Название: Re: Реализация нескольких вопросов.
Отправлено: Вячеслав от Апрель 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 в том-же ворде ,если есть голова на плечах - крыс вообще нафиг не сдался ( и делаеться все в разы быстрее - нет переключение руки на крыса).Но если юзер работает в режиме абезьяна "дебет у окна и ЭТО ПРИХОД!!!" , то ..... начальству(менеджеру по продаже продукта) может и виднее ......


Название: Re: Реализация нескольких вопросов.
Отправлено: Mikhail от Апрель 03, 2008, 12:41
... но задача реализуется за пару дней, а чаще и часов.
Вместе с изменением структуры базы данных?

Ну а в чем вопрос?
Естественно


Название: Re: Реализация нескольких вопросов.
Отправлено: Mikhail от Апрель 03, 2008, 12:51

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


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

А скорость QtScript проверял? Интересно...


Название: Re: Реализация нескольких вопросов.
Отправлено: Вячеслав от Апрель 03, 2008, 13:00

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


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

А скорость QtScript проверял? Интересно...
QtScript - нет ....
А скорость - все равно меньше будет - QSA парсит файл при каждой загрузке , а змей умеет сохранять уже готовый байт-код ;) Который дальше можно пожать zip'ом и скормить ему-же ;)


Название: Re: Реализация нескольких вопросов.
Отправлено: altVis от Апрель 03, 2008, 15:20
Всем спасибо!
Тема конечно превращается больше во флуд, но хотелось бы попросить не удалять сообщения из неё, т.к. весьма интересно почитать о том, что выбрали другие и как этот выбор окупается :)