crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

История благодарностей участнику trdm ::: Спасибо сказали: 21 раз(а)
Дата поста: В теме: За сообщение: Спасибо сказали:
21.12.2009, 2:29 требуется кросплатформенный счётчик "тиков"
Цитата(Litkevich Yuriy @ 20.12.2009, 23:50) *
Цитата(ViGOur @ 21.12.2009, 2:03) *
потому тики будут точными на каждые 100 мс
для системного (низкоуровнего) счётчика, тики будут соответствовать точности кварцевого резонатора (с соответствующим коэфф. деления).

Меня не интересует ширпотребный таймер/часы. именно счётчик тиков

GetTickCount
ы?
+
#include <sys/time.h>
unsigned long GetTickCount()
{
    struct timeval tv;
    gettimeofday(&tv,NULL);
    return (tv.tv_sec*1000+tv.tv_usec/1000);
}
Litkevich Yuriy,
6.12.2009, 16:12 Вывод даты в определенном формате
Я как-то запарился с разными форматами и соорудил на 1С вот такой велосипед:
Раскрывающийся текст

//******************************************************************************
/// глДатаФормат(_дата,"№Нед (ДД.ММ.ГГГГ)")
Функция глДатаФормат( нДата, нФормат)  Экспорт
    
    ЗначВозврата = ""+нФормат;
    Если ПустоеЗначение(нДата) = 1 Тогда
        Возврат "<..>";
    КонецЕсли;
    тМесяцСтр = Формат(нДата,"Д ДДММММГГГГ");
    тМесяцСтр = глСправаОт(тМесяцСтр," ");
    тМесяцСтр = глСлеваОт(тМесяцСтр," ");
    /// заменим и время...
    вЧЧ = 0;    вММ = 0;    вСС = 0;
    вТекВремяСтр = ТекущееВремя(вЧЧ,вММ,вСС);
    вЧЧ = Лев(вТекВремяСтр,2);
    вММ = Сред(вТекВремяСтр,4,2);
    вСС = Прав(вТекВремяСтр,2);
    
    вНомНедели = НомерНеделиГода(нДата);

    
    СписЗамен = СоздатьОбъект("СписокЗначений");

    Если Найти(ЗначВозврата,"ГГГГ")>0     Тогда СписЗамен.ДобавитьЗначение("ГГГГ",""+ДатаГод(нДата)); КонецЕсли;
    Если Найти(ЗначВозврата,"ГГ")>0     Тогда СписЗамен.ДобавитьЗначение("ГГ",    Прав(""+ДатаГод(нДата),2)); КонецЕсли;
    Если Найти(ЗначВозврата,"ММММ")>0     Тогда СписЗамен.ДобавитьЗначение("ММММ",тМесяцСтр); КонецЕсли;
    Если Найти(ЗначВозврата,"ММ")>0     Тогда СписЗамен.ДобавитьЗначение("ММ",    Формат(ДатаМесяц(нДата),"Ч(0)2")); КонецЕсли;
    Если Найти(ЗначВозврата,"мМ")>0     Тогда СписЗамен.ДобавитьЗначение("мМ",    ""+ДатаМесяц(нДата)); КонецЕсли;
    Если Найти(ЗначВозврата,"ДД")>0     Тогда СписЗамен.ДобавитьЗначение("ДД",    Формат(ДатаЧисло(нДата),"Ч(0)2")); КонецЕсли;
    Если Найти(ЗначВозврата,"ДД")>0     Тогда СписЗамен.ДобавитьЗначение("ДД",    ""+ДатаЧисло(нДата)); КонецЕсли;
    Если Найти(ЗначВозврата,"НН")>0     Тогда СписЗамен.ДобавитьЗначение("НН",    Формат(НомерНеделиГода(нДата),"Ч(0)2")); КонецЕсли;
    Если Найти(ЗначВозврата,"нН")>0     Тогда СписЗамен.ДобавитьЗначение("нН",    ""+НомерНеделиГода(нДата)); КонецЕсли;
    Если Найти(ЗначВозврата,"КК")>0     Тогда СписЗамен.ДобавитьЗначение("КК",    ""+глНомерКварталаДаты(нДата)); КонецЕсли;
    
    Если Найти(ЗначВозврата,"ЧЧ")>0     Тогда СписЗамен.ДобавитьЗначение("ЧЧ",    вЧЧ); КонецЕсли;
    Если Найти(ЗначВозврата,"WW")>0     Тогда СписЗамен.ДобавитьЗначение("WW",    вММ); КонецЕсли; /// минуты уже есть, чуток меревернем ММ>>WW
    Если Найти(ЗначВозврата,"СС")>0     Тогда СписЗамен.ДобавитьЗначение("СС",    вСС); КонецЕсли;
    Если Найти(ЗначВозврата,"№Нед")>0     Тогда СписЗамен.ДобавитьЗначение("№Нед",    вНомНедели); КонецЕсли;
    
    СЦ = 0;
    Для СЦ = 1 По СписЗамен.РазмерСписка() Цикл
        тПатернЗамн = "";
        тПатернЗнач = СписЗамен.ПолучитьЗначение(СЦ,тПатернЗамн);
        ЗначВозврата = СтрЗаменить(ЗначВозврата,тПатернЗнач,тПатернЗамн);
    КонецЦикла;
    Возврат ЗначВозврата;
КонецФункции // лДатаФормат()

++Norton++,
16.8.2009, 13:28 BRE
Оупс!
Зема, с прошедшими!
Пусть в твоем стакане чаще бывает какая-нить фруктовая полезняшка, чем водочка!
И долгих лет!
BRE,
9.8.2009, 16:13 Qt + Bison, ошибки компиляции. решения/предостережения.
Решил поработать с Bison на Qt, собрать парсер для языка подобного 1С.
Воспользовался грамматикой отсюда: 1CLangParser (респозитарий cvs.alterplast.ru)
при попытке собрать начал получать кучу непонятного вида ошибок, справиться с которыми по
причине малого опыта и непонятного происхождения было затруднительно.
Вот приблизительные ошибки:
Раскрывающийся текст

mingw32-make.exe[1]: Entering directory `D:/Progekts/_Linux/unNStudio/Lang/Src'
g++ -c -O2 -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I"..\..\..\..\Qt\4.3.4\include\QtCore" -I"..\..\..\..\Qt\4.3.4\include\QtCore" -I"..\..\..\..\Qt\4.3.4\include\QtGui" -I"..\..\..\..\Qt\4.3.4\include\QtGui" -I"..\..\..\..\Qt\4.3.4\include" -I"." -I"..\..\..\..\Qt\4.3.4\include\ActiveQt" -I"release" -I"." -I"..\..\..\..\Qt\4.3.4\mkspecs\win32-g++" -o release\uoLang.tab.o uoLang\uoLang.tab.cpp
In file included from ../../../../Qt/4.3.4/include/QtCore/qglobal.h:1,
from ../../../../Qt/4.3.4/include/QtCore/../../src/corelib/tools/qchar.h:47,
from ../../../../Qt/4.3.4/include/QtCore/qchar.h:1,
from ../../../../Qt/4.3.4/include/QtCore/../../src/corelib/tools/qstring.h:47,
from ../../../../Qt/4.3.4/include/QtCore/qstring.h:1,
from ../../../../Qt/4.3.4/include/QtCore/QString:1,
from uoLang\/uoLangParser.h:11,
from uoLang\uoLang.tab.cpp:137:
../../../../Qt/4.3.4/include/QtCore/../../src/corelib/global/qglobal.h:1697: error: expected unqualified-id before numeric constant
../../../../Qt/4.3.4/include/QtCore/../../src/corelib/global/qglobal.h:1697: error: abstract declarator `const char*' used as declaration
../../../../Qt/4.3.4/include/QtCore/../../src/corelib/global/qglobal.h:1697: error: `$_4' declared as an `inline' field
../../../../Qt/4.3.4/include/QtCore/../../src/corelib/global/qglobal.h:1697: error: expected `;' before numeric constant
../../../../Qt/4.3.4/include/QtCore/../../src/corelib/global/qglobal.h:1697: error: expected `;' before '}' token
../../../../Qt/4.3.4/include/QtCore/../../src/corelib/global/qglobal.h:1698: error: expected unqualified-id before numeric constant
../../../../Qt/4.3.4/include/QtCore/../../src/corelib/global/qglobal.h:1698: error: abstract declarator `const char*' used as declaration
../../../../Qt/4.3.4/include/QtCore/../../src/corelib/global/qglobal.h:1698: error: `$_6' declared as an `inline' field
../../../../Qt/4.3.4/include/QtCore/../../src/corelib/global/qglobal.h:1698: error: expected `;' before numeric constant
../../../../Qt/4.3.4/include/QtCore/../../src/corelib/global/qglobal.h:1698: error: expected `;' before '}' token
../../../../Qt/4.3.4/include/QtCore/../../src/corelib/global/qglobal.h:1699: error: expected unqualified-id before numeric constant
../../../../Qt/4.3.4/include/QtCore/../../src/corelib/global/qglobal.h:1699: error: abstract declarator `const char*' used as declaration
../../../../Qt/4.3.4/include/QtCore/../../src/corelib/global/qglobal.h:1699: error: `$_8' declared as an `inline' field
../../../../Qt/4.3.4/include/QtCore/../../src/corelib/global/qglobal.h:1699: error: expected `;' before numeric constant


после N-ного час битья головой апстену наконец-то дошло, что терминальные символы, которые бизон потом швыряет в дефайны, используются в других дефайнах Qt и из-за этого вылазиет куча совершенно непонятного вида ошибок.
Вышел из проблемы следующим образом, добавил по 2 подчеркивания терминальным символам:
    label__        /* Метка ('~ИмяМетки') */
    number__        /* Число (без + -) */
    date__        /* Дата (любая однострочная последовательность символов между двух апострофов ) */
    literal__        /* Строка (для простоты '|asdhsd"' тоже считается строкой) */
    name__        /* Любой идентификатор */
    func__        /* Функция */

После этого компиляция прошла.
Публикую как рецепт и предостережение будующим девелоперам, которые возможно будут возиться с Qt+Bison.
Фишка в том, что MS VS 6.0 проглотила эту грамматику и не пикнула.
AD,
25.5.2009, 22:39 QODBC и MySQL vanvo,
19.4.2009, 18:55 QTableWidget+isHiddenColumn
Цитата(LE0N @ 19.4.2009, 16:19) *
Всё ещё вожусь с распечаткой. Требуется распечатать только то, что видит пользователь. Не затрагивая служебные данные в этой таблице...

QPixmap QPixmap::grabWidget ( QWidget * widget, const QRect & rectangle )
igor_bogomolov, LE0N,
26.3.2009, 12:43 International developing company searches for Linux Developer in the Moscow office/Qt
Цитата(Litkevich Yuriy @ 26.3.2009, 4:14) *
Цитата(ViGOur @ 26.3.2009, 2:31) *
Я тоже переодически подумываю об этом, но как и где взять работодателей?
я вот сходил по ссылке на sql.ru, и почитал их правила в форуме вакансии. Правила там продуманые и серьёзные.
Но если следовать этим правилам ты не имел права постить эту вакансию, т.к. она не твоя (т.е. ты неможешь ее сопровождать).

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

я расцениваю свой пост как возможно-полезную информацию.
SABROG,
19.3.2009, 21:30 Вышел релиз тулкита wxWidgets 2.8.10
Вышел релиз кроссплатформенного тулкита для построения графических интерфейсов wxWidgets 2.8.10, а также представлен предварительный выпуск оболочки для визуального проектирования интерфейса wxDesigner, основанной на пререлизе wxWidgets 3.0.

В версии 2.8.10 отмечается только исправление ошибок. Из новшеств wxWidgets 3.0 можно отметить поддержку Unicode/UTF-8, возможность использования прозрачности в пиктограммах, порт wxDFB для вывода через FrameBuffer на устройствах без X-сервера, новый класс wxDataViewCtrl, поддержка автодополнения текста в классах wxTextCtrl и wxComboBox, значительное улучшение в порте wxGTK.
Iron Bug,
2.3.2009, 23:10 Массив объектов, размерность неизвестна
Цитата(FladeX @ 2.3.2009, 22:39) *
Не помогло...
Код не весь, взял только ключевые моменты.

private:
int [color="#FF0000"]triangle.id[/color];
double [color="#FF0000"]triangle.x1[/color];

так никто не делает.
кури страуструпа описание членов класса.

ПС. выделяй код тегами: [ code ] [ / code ] а не ... ну ты понял, что твои не работают...
ПС2. Делают так:
private:
int m_id;
double m_x1;



и это.... того....
внутренним переменным префикс "m_" присобачь,
автокомплит будет в студии лучше работать ;)
и вообще типа венгерская нотация.

http://lib.ru/CPPHB/cpptut.txt
FladeX,
2.3.2009, 22:59 Массив объектов, размерность неизвестна
Цитата(FladeX @ 2.3.2009, 22:39) *
Не помогло...
Код не весь, взял только ключевые моменты.

CODE

private:
int triangle.id;
double triangle.x1;

так никто не делает.
кури страуструпа описание членов класса.
FladeX,
28.2.2009, 12:58 Создание простого окнаа с кнопкой.
Цитата
void Test::cr() {
    QPushButton b("TEXT", this);
    b.show();
}

ты создаешь кнопку в стеке, а после выхода из функции она у тебя благополучно тут же и умирает.
а тут:
void Test::cr() {
    QPushButton* b = new QPushButton("TEXT", this);
    b->show();
}

живет, пока жив предок (поскольку передаешь парента в конструкторе, без этого была бы утечка...).
Кури области видимости переменных.
Antrix,
17.2.2009, 17:44 Как ускорить создание таблицы (через QSqlQuery)?
а я что :) недостоин плюсика? :) волки :)
нас тупых 1С-ников нихто не любит ))))
Rocky,
25.11.2008, 14:49 ToolBars
Вопрос.. как убрать это меню?
QMenu* uoConfigMainWnd:: createPopupMenu(){
return NULL; // пока просто вырубим
}
svetlana,
30.9.2008, 15:32 Qtscript и его мето обектная информатция
Цитата(ViGOur @ 30.9.2008, 13:31) *
Опиши на пальцах, что ты хочешь сделать. Просто я например не совсем понял, что ты хочешь.

интеллиценз и автодополнение он хочет сделать.
разве непонятно :)
вообще задачка сложная.
есть у меня парочка реализаций, только для 1С-ного кода и 1C++-SQL на регулярках.
http://www.1cpp.ru/forum/YaBB.pl?num=1152628533
вот тут куча скриптов: http://1c.alterplast.ru/files/ocs/ocs_last.dos.zip
смотри папку: "ocs_last.dos.zip\OpenConf_Scripts\Скрипты\Intellisence\"
и покопайся в проекте вообще.
поможет по крайней мере решить 40% задачи..


ээээ...
проект называтся "Опенконф" / "openconf"
http://www.1cpp.ru/forum/YaBB.pl?num=1150707341
В свое время плотно поучаствовал... %)

если нужны будут консультации, велком.
что-бы вьехать в проект прочти тут:
http://www.script-coding.info/
раздел: "Проект OpenConf (Открытый Конфигуратор)"
fsMark,
11.9.2008, 12:39 Непонятки с QPainter
#include <QPainter>
Mystdeim,
31.8.2008, 22:29 Просьба дать ссылочку на доки по QScintilla
в дистребе/сорцах есть нагенеренная доксигеном документаха.
molchanoviv,
18.8.2008, 9:04 Как осуществить преобразование число (в частности типа int) в строку средствами QT?
QString.setNum
berserk, Delphist,

RSS Текстовая версия Сейчас: 18.9.2018, 18:09