Страницы

11 апреля 2012 г.

C++. Компилятор "VS 2005/2008". Ошибка LNK2019

Добрый день.

       Класс описанный в предыдущем посте я изначально писал с использованием IDE Code::Blocks 10.5 , Компилятор gcc. После этого функционал был отлажен, я перенес его в библиотеку которая компилится VC 2005/2008 на базе все того же Code::Blocks.
Попытался сделать билд и приплыл... Повалились ошибки:

w_registry.obj||error LNK2019: unresolved external symbol __imp__RegQueryValueExA@24 referenced in function "private: void __thiscall 
 win_reg::Registry::SysGetValue(char const *,unsigned char *,unsigned long *)" (?SysGetValue@Registry@win_reg@@AAEXPBDPAEPAK@Z)|
 

w_registry.obj||error LNK2019: unresolved external symbol __imp__RegSetValueExA@24 referenced in function "private: void __thiscall win_reg::Registry::SysSetValue(char const *,unsigned long,unsigned char const *,unsigned long)" (?SysSetValue@Registry@win_reg@@AAEXPBDKPBEK@Z)|
 

w_registry.obj||error LNK2019: unresolved external symbol __imp__RegOpenKeyExA@20 referenced in function "public: void __thiscall win_reg::Registry::OpenKey(struct HKEY__ * *,char const *,bool)" (?OpenKey@Registry@win_reg@@QAEXPAPAUHKEY__@@PBD_N@Z)|
 

w_registry.obj||error LNK2019: unresolved external symbol __imp__RegCreateKeyExA@36 referenced in function "public: void __thiscall win_reg::Registry::OpenKey(struct HKEY__ * *,char const *,bool)" (?OpenKey@Registry@win_reg@@QAEXPAPAUHKEY__@@PBD_N@Z)|
 

w_registry.obj||error LNK2019: unresolved external symbol __imp__RegCloseKey@4 referenced in function "public: void __thiscall win_reg::Registry::CloseKey(struct HKEY__ *)" (?CloseKey@Registry@win_reg@@QAEXPAUHKEY__@@@Z)|

C++. Работа с реестром Windows. Создание собственного класса.

       Доброго времени суток. Рад видеть Вас в своем блоге.
       Сегодня хотелось бы обсудить работу с реестром Windows. Да, эта тема далеко не новая, информации по ней в интернете куча. НО, я решил подойти к вопросу как новичок. Новичок, т.к. с недавнего времени заинтересовался C++ и на данном этапе стараюсь впитать как можно больше полезной и качественной инфы, чтобы пользоваться возможностями этого языка наиболее оптимально. Соответственно, касаемо работы с реестром "голый" Windows API я никогда не использовал.
       Вернемся к реестру... Я буду рассматривать работу с реестром Windows средствами Windows API. Возможно есть и другие способы, но я их не рассматривал.
       Как человек, несколько лет просидевший на паскале, я конечно же не мог не написать свой класс который будет иметь менее обширный интерфейс нежели голый API интерфейс описанных ниже функций. Об этом позже...

7 апреля 2012 г.

Metastock - TAutoTraderDLL. Впечатления после небольшого периода работы

       Доброго времени суток.
       Вот более недели я периодически ковыряюсь в метастоке и библиотеке (TAutoTraderDLL) с внешними функциями для взаимодействия с Quik. За это время я реализовал пару стратегий предоставленных мне финансовым аналитиком на работе. Я не могу сказать, что разобрался до конца в этой системе, но сейчас работать куда проще чем в начале и вопросов с каждым разом становится все меньше. Чтобы разобраться со всеми возможностями метастока необходимо намного больше временных ресурсов. Хотя мне как программисту, задача которого - техническая реализация стратегий роботов, знать там все вовсе не обязательно. :)


5 апреля 2012 г.

Округление числа. Когда нету Round()...

       Доброго времени суток в блоге "Будни программиста".
       Сегодня что-то стало скучно решил что-нибудь почитать. Взял в руки учебник по математике. :) Читал раздел про обыкновенные дроби, и десятичные дроби с бесконечной периодичностью.
       Сразу же вспомнилась простая операция округления чисел в большую сторону. А именно, заинтересовал вопрос, есть ли какая-либо математическая формула для преобразования числа к необходимой точности? Единой формулы я, к сожалению, не нашел. Конечно я далеко не математик, но навскидку накидал алгоритм преобразования:

1 апреля 2012 г.

pgScript. Генераторы случайных последовательностей. Строки.

Приветствую Вас в своем блоге.

       Сегодня пойдет речь о создании и использовании случайных последовательностей типа STRING в pgScript, а так же использование регулярных выражений.
       pgScript имеет функционал быстрого создания массивов рандомных последовательностей нескольких типов данных. Области применения таких последовательностей ограничиваются только фантазией разработчиков скриптов, но чаще всего их используют как генераторы случайных данных для тестирования различных единиц функционала базы данных, либо генерации уникальных ключей. Тут уже дело вкуса.
       Итак, генераторы последовательностей строк...
Строковая последовательность определяется следующим образом:

set @Gen = string(Min,Max,[Count], [Seed]);
где,
Min - Минимальное количество символов в одной единице последовательности.
Max - Максимальное количество символов  в одной последовательности.
Count - Количество возвращаемых последовательностей. Т.е. другими словами - количество слов в предложении. (не обязательный параметр, по умолчанию - "1").
Seed - Параметр фиксирующий последовательность созданную при инициализации переменной, и не позволяющий менять ее при последующем использовании.