5736
|
Qt / Базы данных / Re: Написание СУБД или какую БД выбрать
|
: Сентябрь 20, 2007, 11:33
|
Ура!!! Заработало!!! Придумал как кинуть базу на сервак - есть возможность запуска птицы как службы, а админ не настолько умный чтобы увидеть лишнюю службу. Только нужно установить ее куда поглубже. А теперь, уважаемые господа, помогите разобраться во всем этом. В общем поставил я на своей машине суперсервер и в течении 2 часов поковырял енту БД. 1. Соединяется только если указываешь логин и пароль. Если вшить в софтину login=SYSDBA и password=masterkey это не отразится на многопользовательской работе? Или нужно создать аккаунты? 2. Как сделать автоувеличение поля? У меня 20 таблиц с полем id INTEGER и мне нужно, чтобы они автоматом увеличивались. 3. Как сказать базе, что она работает в utf8 и нужно ли это? 4. Как указывать правильно хост? Сейчас стоит localhost, а как связаться с машиной \\server\ с айпихой 192.168.0.3? 5. Как работать с базой (т.е. как указывать имя) если она лежит на серваке на диске e:\arm\base.fdb? 6. Есть ли булевы значения? 7. Чем отличается CHAR от VARCHAR?
|
|
|
5737
|
Qt / Общие вопросы / Re: Создание браузера в Qt
|
: Сентябрь 19, 2007, 18:25
|
Как мне кажется, нужно наследоваться от QTextBrowser и наворачивать его. Если использовать ActiveQt (т.е. насколько я понимаю это встраивание в прогу ослика) то зачем вообще делать проект? Допустим, мне нравится Опера из-за того, что в ней все компоненты (насколько я знаю) написаны с нуля, т.е. не стандартные. Это большой плюс.
|
|
|
5739
|
Qt / Пользовательский интерфейс (GUI) / Re: Глюк или прикол? :)
|
: Сентябрь 19, 2007, 13:47
|
Закинул бы скрины, но не знаю как. Не нашел функции вставки файла. Даты выставляю так: for (int i=0; i<12; i++) { QDate qdDate=qdCurrentDate.addMonths(i-5); qlqcwCalendar.at(i)->setCurrentPage(qdDate.year(),qdDate.month()); }
|
|
|
5740
|
Qt / Базы данных / Re: Написание СУБД или какую БД выбрать
|
: Сентябрь 19, 2007, 11:38
|
У нас на работе основная СУБД написана на фоксе и работает через шару. Глючит страшно, но ничего не поделаешь. Что значит версионник? Tonal, спасибо, походу дело в этом. Завтра проверю.
|
|
|
5742
|
Qt / Базы данных / Re: Написание СУБД или какую БД выбрать
|
: Сентябрь 18, 2007, 20:06
|
Эта , никогда не приходилось работать с (не sql) 1с на сетевом диске ? Sqlite и то лучше .... А если как сказано много клиентов - сделать сначала времмено сервер БД на клиентской машине, а потом аднину по рогам настучать чтоб на сервер перенес и бэкап настроил Твои бы слова...
|
|
|
5743
|
Программирование / Алгоритмы / Re: Срочно нужна помощь по алгоритму
|
: Сентябрь 18, 2007, 19:59
|
Походу сделал. Код еще не чистил, так что не смейтесь struct People { int number; double money; }; QStringList MainWindowImpl::findMinSumm (const QList<People> qlstIn, const double dSumm, const double dPogr) { static int index=0; index++; qlLabel->setText( QString().setNum(index)); QCoreApplication::processEvents(); QList <People> qlstTmp=qlstIn; QStringList qslReturnList; while(qlstTmp.count()>0) { if (qlstTmp.count()==1) if ((qlstTmp.at(0).money<=dSumm) && (qlstTmp.at(0).money>=dSumm-dPogr)) { qslReturnList << QString().setNum(qlstTmp.at(0).number); qlstTmp.removeAt(0); continue; } People people=qlstTmp.at(0); qlstTmp.removeAt(0); QStringList qslTmpList=findMinSumm(qlstTmp,dSumm-people.money,dPogr); if (qslTmpList.isEmpty()) continue; for (int j=0; j < qslTmpList.count(); j++) { qslReturnList << QString().setNum(people.number)+" "+qslTmpList.at(j); } } qlLabel->setText( QString().setNum(index)); QCoreApplication::processEvents(); return qslReturnList; }
Выходное значение список строк типа 1 5 10 - номера строк
|
|
|
5744
|
Программирование / Алгоритмы / Срочно нужна помощь по алгоритму
|
: Сентябрь 18, 2007, 16:58
|
Заранее извиняюсь, что вопрос не по куте. Очень нужно на завтра придумать алгоритм, а то придется вручную шерстить список на 300-400 человек. В общем задача такая: Есть список людей с з/п. Денег не хватает и нужно убрать людей, сумма з/п которых будет наиболее приближена к недостаче. Список из 300-400 фамилий. Величина з/п нестабильна, т.е. варьируется от 0.10 р до 3000 р.
|
|
|
5745
|
Qt / Базы данных / Re: Написание СУБД или какую БД выбрать
|
: Сентябрь 18, 2007, 16:53
|
Соответственно для многопользовательской работы в сети тебе нужен запущенный сервер. А прикрутить совсем просто - собираешь плагин и вперёд. ;-)
Прикрутить как раз таки не так легко. 2 дня пытался собрать плагин, да так и не собрал. Одна из проблем - либы в птице не подходят для mingw. Всё довольно просто: 1) Ставишь себе птица полнстью (лучше SuperServer 2.0.1) 2) В директории $(QT4)\src\plugins\sqldrivers\ibase\ заменяешь файл ibase.pro на вот это: TARGET = qsqlibase
HEADERS = ../../../sql/drivers/ibase/qsql_ibase.h SOURCES = main.cpp \ ../../../sql/drivers/ibase/qsql_ibase.cpp
unix:!contains( LIBS, .*gds.* ):!contains( LIBS, .*libfb.* ):LIBS *= -lgds
win32:!contains( LIBS, .*gds.* ):!contains( LIBS, .*fbclient.* ) { INCLUDEPATH += C:\Lang\Firebird\Firebird_2_0\include LIBS += -LC:/Lang/Firebird/Firebird_2_0/lib !win32-borland:LIBS *= -lfbclient_ms win32-borland:LIBS += fbclient_bor.lib }
include(../qsqldriverbase.pri)
3) Меняешь пути в строках с INCLUDEPATH и LIBS на свои 4) Собираешь плагин и радуешься. ;-) По поводу сервера и базы - ты можешь поставить сервер firebird-а на любую машину в сети. Главное выбери такую чтоб сама машина была поживче, а её загрузка - поменьше. Остальные будут обращаться к ней за данными. А когда твоя система станет большой и необходимой всей конторе, у тебя появятся реальные доводы в споре с админом. ;-) Попробовал собрать, но не получилось. Мне нужен статический плагин, поэтому конфигурю кутю с -qt-sql-ibase. Изменил ibase.pro как описано, но при сборке выпало с ошибкой. Подправил файлик src/sql/drivers/drivers.pri, т.е. прописал INCLUDEPATH += C:\Lang\Firebird\Firebird_2_0\include LIBS += -LC:/Lang/Firebird/Firebird_2_0/lib !win32-borland:LIBS *= -lfbclient_ms win32-borland:LIBS += fbclient_bor.lib Все собралось без проблем, но!!! Софтины, которые используют QtSql4.dll перестали запускаться. Т.е. что-то пошло не так и либа сформировалась неверно. Что делать??? Qt 4.3.1 Mastdie XP Pro
|
|
|
|
|