Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Клуб профессиональных программистов :: Выпуск #77


Клуб профессиональных программистов "Весельчак У"
Информационная рассылка сайта и форума.  Выпуск No77 (2009-09-13).

Здравствуйте, уважаемые читатели!

Сегодня в выпуске — подборка актуальных на нашем форуме тем за последнюю неделю.


Отдельно хочется отметить следующие темы:


  • «Принципы самотестирования» в разделе «Практические разделы::Железо».
    Тема о повышении надежности микропроцессорных систем путем самотестирования. Первоначально речь шла о древней микро-ЭВМ VAX-11, где возможности самотестирования были заложены разработчиками изначально. Хотя система VAX была разработана более 30-и лет назад, потребность в надежности есть и сейчас, в современных микропроцессорных разработках.

  • «День программиста» в разделе «Общение».
    Поздравляем всех нас с 256-м днем года! В России официально зарегистирован наш профессиональный праздник именно на этот день — 13 сентября или, если год високосный — 12 сентября.


  • Программирование :: Общий
  • Посылаю из ПО миди-сообщение, выходное устройство - виртуальный миди рутер (midi yoke, maple midi... без разницы, одинаковые). При этом записываю все это дело в Nuendo, параллельно проигрывая дорожку метронома оттуда же. Задержка записанного (если сделать вывод на синтезатор - то же самое, очень даже слышно невооруженным ухом) 100-120 мс!!! Откуда? Это же просто сообщение, оно даже не озвучивается! Пробовал и DirectSound 8 и Api, результат один (ну, они в конце концов через один драйвер и работают).
    Но суть в том, что в том же нюэндо, поставив дорожку метронома (проигрываемую) на выход вирт рутера, а другую (записываемую) - на вход, все замечательно, и задержка менее 1 мс точно. Подскажите, пожалуйста, как попытаться побороть? Видимо, стейнберг знает что-то интересное... Может, еще кто-то знает? )
  • Программирование :: Общий :: Алгоритмы и математические задачи.
  • Алгоритм перестановок

    В 256 значной системе счисления дано число, состоящее из 2-50 пар цифр, нужно выдать число, состоящее из тех же самых цифр, такое, что сумма цифр первой половины равна сумме цифр второй половины, или указать, что подобного числа не существует

    Пример:

    1234 = 4123 или 1432

    {100}234 = imposible

    Каким алгоритмом можно решить?
  • Программирование :: .NET технология от и до
  • Пробую сделать простенький почтовый клиент. Система win XP, msvs c++ 2008.
    При подключении к серверу выскакивает исключение "удаленный хост принудительно разорвал подключение"

    Вот мой код:
    Код:
    String ^ ssTemp = nullptr; 
    TcpClient ^ server = nullptr;
    NetworkStream ^ netStrm = nullptr;
    StreamReader ^ rdStrm = nullptr;

    server = gcnew TcpClient ("pop.gmail.com", 995);
    netStrm = server->GetStream ();
    rdStrm = gcnew StreamReader (netStrm);

    String ^ ssData = "USER " + "myusername@gmail.com" + "\r\n";
    cli::array<unsigned char> ^ clicData = System::Text::Encoding::ASCII->GetBytes (ssData->ToCharArray ());
    netStrm->Write (clicData, 0, clicData->Length);
    ssTemp = rdStrm->ReadLine ();

    Как раз на последней строчке при попытке ReadLine (ssTemp = rdStrm->ReadLine ( ); ) и выскакивает исключение. Помогите, пожалуйста, разобраться, в чем тут дело.

    Почтовый ящик существует, POP3 в нем включен, настройки перепроверял ("pop.gmail.com", 995)  :-/
  • Программирование :: С/С++
  • Привет!
    Помимо С++ хочу выбрать второй язык (и почитывать литературку не спеша, потому как литературы по С++ две плотно забитые полки :) ), на котором можно писать web-приложения.

    С точки зрения С++ (если привык (или собираешься)) программиста, какой для этого наиболее подходит?

    Я думаю между Python и C#. Больше склоняюсь к C#.
    Посоветуйте, пожалуйста.

    Ещё смотрю на ActionScript, сугубо из-за флеша. Но это отлельная история.
  • Господа,
    может, кто-то помнит, где находятся эти установки? я когда-то их уже находила, но теперь опять не помню где...

    Установила на компе студию 2005, стартовала. Окно для solution explorer (class view аналогично) автоматом было размещено справа, а мне надо слева (ну привыкла я так, не бейте).
    И как его перекинуть? Посмотрела в tools->options, но там,м ничего подходящего не нашла...
  • Программирование :: С/С++ :: WinAPI & Visual C++
  • Вопрос в следующем. Есть ли возможность у самой IDE VS определять события (действия пользователя) в DesignTime. К примеру, в Delphi есть классы-нотификаторы, позволяющие отследить момент загрузки проекта, сохранения файла, событие перед компиляцией, после компиляции и т. п. Это зачастую нужно при работе с компонентами в DesignTime. Так вот есть ли такая возможность в VS?
  • Здравствуйте, господа программисты.

    Собственно, у меня вот такой вопрос .
    Есть приложение. В нём есть кнопки. Я их хочу программно нажимать.
    Если вы расскажете, как их найти - будет чудесно.
    А если ещё добавите, как их нажать, я, наверно, даже обрадуюсь.

    Благодарю за внимание.

    Ваш Гоша.
  • Программирование :: С/С++ :: C/C++ Unix
  • Линковка шаблона

    Код:
    #ifndef intrusive_list__HHHH
    #define intrusive_list__HHHH
    struct link_err {
    string s;
    link_err(const char* pc):s(pc){}
    };
    struct slink { //base class for intrusive single linked list
    slink* next;
    slink(slink* p=0):next(p) {}
    };
    template<class T> class intrusive_list {
    T *head;
    T *last;
    unsigned int s;
    // size_t s;
    public:
    class iterator {
    T* p;
    public:
    iterator(T* pp):p(pp) {}
    iterator& operator++(int ) { p=static_cast<T*>(p->next); return *this; }
    T& operator*() { return *p; }
    bool operator==(const iterator& i) { return p==i.p; }
    bool operator!=(const iterator& i) { return p!=i.p; }
    };
    intrusive_list():head(0),last(0),s(0) {}
    iterator begin() { return iterator(head); }
    iterator end() { return iterator(0); }
    void push_front(T& t) ;
    void push_back(T& t) ;
    iterator& erase(iterator& i) {
    if (!s) throw link_err("empty error");
    s--;
    if (!s)  {
    head=last=0;
    return 0;
    }
    if ( head == i.p ) {
    head=i.p->next;
    i.p->next=0;
    i++;
    return i;
    }
    }
    };


    template<class T> void intrusive_list<T>::push_front(T& t) {
    s++;
    t.next=head;
    if(! last) last=&t;
    head=&t;
    return;
    }
    template<class T> void intrusive_list<T>::push_back(T& t) {
    s++;
    if(! last)  head=last=&t;
    else {
    last->next=&t;
    last=&t;
    }
    return;
    }
    #endif

    как вынести erase за пределы объявления класса? (чтобы получилось как push_front,push_back)

    как вынести определения push_front,push_back,erase в отдельный translation unit?
  • Программирование :: Delphi
  • Еще раз здравствуйте!

    Мне нужно, чтобы шла проверка на одинаковые значения в dbgrid. Например, если я  ввел значение в edit (которое уже есть в dbgrid) и нажал на кнопку ДОБАВИТЬ, то выходило бы сообщение, типа "такое уже есть". 
  • Здравствуйте всем!

    У меня вопрос: как определить тип данных вводимого значения. Например, есть Tedit и TButton. После ввода значения в поле Edit и после нажатия на кнопку button чтобы выходило сообщение:"Тип - реал"(если тип реал) или "Тип - integer"(если тип integer).


    Спасибо!
  • Программирование :: Программирование 1С
  • Здравствуйте. У меня конечно нубский вопрос, но все же. Вот когда в 1с-ке пишешь свою конфигурацию, то она создается в виде базы. а самой этой конфигурации нет в окошке "создать базу из шаблона" и я не могу получается ни еще одну базу создать на основе моей конфигурации, ни на другой компьютер эту конфигурацию установить. Как мне это сделать? Спасибо.
  • Надо было сделать документ заказ наряд! для автомобильного сервиса!
    Я его всё сделал (содрал модуль с реализация в розницу они, по сути, похожи!) все работает ,но единственная проблема в том, что в столбике В.Т.Ч. НДС не ведётся автоматический расчёт значения этого ндс! Хотелось бы узнать, как это сделать!
    Вернее, какая процедура отвечает за это!???

  • Программирование :: Программирование 1С :: 1С 8.x
  • Есть набор формул, по которым должны вычисляться значения в Документе 1С, каким образом реализовать алгоритм вычисления?
    Например, есть формула W=(Q1-Q2)*100/Q1-Q где Q - вес пустой емкости, Q1 - вес с навеской до высушивания емкости, Q2 - вес с навеской после высушивания емкости.
    Как сделать, чтобы значения с "Поле ввода" подставлялись в формулу?
  • Проблема в следующем: Есть Форма, на форме табличное поле, связанное с таблицей значений. ТЗ заполняется программно результатами запроса. Затем по кнопке в ТЗ добавляются пользователем колонки. При добавлении новой колонки для всех колонок устанавливается ширина 10. Но при большом количестве добавленных колонок ширина уже не изменяется, а уменьшаеся сама и полоса прокрутки не работает. Как быть?
  • Нужен пример конфигурации crm-системы на 1с. Хочу посмотреть примерную систему создания таких конфигураций. Подскажите, где можно скачать.
  • Программирование :: Общие проекты
  • всем привет!
    Я работаю в типографии, занимаюсь препрессом (допечатная подготовка). Программирование - хобби, выучил с++, чтобы написать игрушку, написал, потом еще одну, а потом стал делать всякие маленькие программулинки, чтобы упростить свою работу (в основном - автоматизация всякой рутины, типа спусков сборных тиражей). И вот однажды ко мне подошла одна девчушка-менеджер и попросила написать для нее мастер заполнения технологических карт. С того дня и понеслось. Идея маленькой программки переросла в идею большой системы управления типографскими заказами, которая упростила бы оформление техкарт, освободила бы менеджеров-технологов и прочих от разнообразного софта (который они используют сейчас), позволила бы планировать заказы, а также отслеживать их продвижение по технологическим участкам.
    Проект сложный, но очень интересный.
    Работаю над этим проектом чуть меньше полугода. За это время определился с инструментарием (Eclipse и Qt), провел аналитику для отдельных модулей, выстроил схему системы и уже почти реализовал один из основных ее модулей (тот самый мастер оформления технологических карт). Тьму времени трачу на непосредственное общение с теми, для кого эта система, собственно, создается. Наблюдаю за их работой, терзаю вопросами, ну и т.д.
    Подобный проект можно было бы с успехом реализовать как коммерческий, но я - по определенным причинам и после очень долгих раздумий - остановился на open source. И буду очень рад, если найдутся те, кого заинтересует данный проект и кто захочет ко мне присоединиться.
    Сейчас я привожу в порядок наработанную за все это время документацию и доделываю модуль менеджера (с которого вся система собственно и начинается).
    В общем, если кого-то эта тема заинтересует и возникнут вопросы - задавайте.
  • Операционные системы :: Windows
  • Постоянно виснет компьютер... Просто останавливается все и тупо висит... Температура процессора нормальная. Что могло случиться, никто не знает?
  • В общем-то, сабж

    После некорректного выключения компьютера при загрузке появляется сообщение

    disk error occurred
    Ctrl+Alt+Del для перезагрузки (перевел :)

    fixmbr + fixboot делал, шлейфы менял, втыкал в другой контроллер
    chkdsk /p (разве что, не менял размер секторов)

    В BIOS галочки защиты от вирусов нет

    Может, кто сталкивался?

    Информация уже скопирована. Лень все нужное заново устанавливать.


  • Направления программирования :: Drivers
  •  Я занимался программированием уже один год!
     Но я постоянно себе задаю вопросы:

     1. В мире есть много таких хороших специалистов по программированию драйверов, и они работают в основном какой-нибудь компании изготовителей различных плат для КП и устройств, и обычно эти компании располагают в западных странах. Если я занимаюсь программированием драйверов, то есть ли возможность найти потом для меня работу?

    2. Программирование драйвера для Windows на новые ОС (7, Vista) сильно ли отличается от этого на XP? Поскольку я работаю на Vista на уровне Пользователя, то тут очень много ограничений доступа, и сильно ли это влияет на установку драйверов и их написание?

    3. У меня есть возможность программирования на микроконтроллерах (and Embedded system).  Это тоже сложное направление, так что если я пошел заниматься этим направлением?

     Очень спасибо всем за ответы.
  • Направления программирования :: Сети
  • В общем, докатился до такой жизни: сейчас стоит VirtualBox, запущена Windows server 2003 и Windows XP.
    Выставил IP-адреса
    192.168.0.1 - для сервера
    192.168.0.11 - для ХР
    маска 255.255.255.0
    Рабочая группа - одна (хотя не знаю, имеет ли это значение).

    С 2003 до ХР пинг проходит без проблем.
    С ХР до 2003 - 1 из 5 пакетов доходит (и то, как повезет). А в чем дело может быть, даже не знаю. (
    Может быть, есть какие-нибудь догадки?
    Спасибо заранее всем.
  • Направления программирования :: Web :: Серверные скрипты
  • У меня такая проблема. Есть база в MySQL. В ней 7 таблиц.  На главной странице сайта форма для поиска (html, передача данных методом post).  Нужно сделать поиск по базе. Я пишу вот такой код:

    Код:
    <?php


    /* Соединение, выбор БД */


    $link mysql_pconnect(localhostnwautoru_shop260479)

    or die(
    "Не соединилось!!!");

    print 
    "";

    mysql_select_db(nwautoru_shop) or die("Не найдена БД");

    print 
    "";

    ob_start();

    /* Выполнение SQL запроса */

    $query "SELECT *FROM `Bmw` WHERE Sort LIKE '%nSort%' LIMIT 0, 30";   
    $result mysql_query($query)
    or die(
    "Запрос ошибочный");

    if (
    mysql_num_rows($result)!=0) {

    /* Печать результатов в HTML */
    print "<table bgcolor=\"#3399FF\">
    <tr>
    <td><strong>№ Запчасти</strong></td>
    <td><strong>Название по-немецки</strong></td>
    <td><strong>Цена в EUR</strong></td>
    </tr>

    \n"
    ;
    while (
    $line mysql_fetch_array($resultMYSQL_NUM))
    {

    print 
    "\t<tr class=\"txt\">\n";
    for (
    $i=0;$i<=2;$i++)
    {
    print 
    "\t\t<td>$line[$i]</td>\n";
    }
    print 
    "\t</tr>\n";

    }
    print 
    "</table>\n";}
    else print 
    "Задайте правильно номер!<BR>";


    /* Освобождение памяти, занятой результатом запроса */
    mysql_free_result($result);

    /* Закрытие соединения */
    mysql_close($link);
    ?>

    не работает скрипт

    Выдает сообщение: Задайте правильно номер!

    в данный момент какой бы номер в строке поиска не забил, выдаёт сообщение:"Задайте правильно номер"

    во всех таблицах три столбца:
    Sort(по которому идёт поиск)-номер запчасти
    Название запчасти
    Прайс-цена
    Читал посты созданные Татьяной, вроде немного понятно, но начинаю применять на практике .........не работает и всё тут
  • Практические разделы :: Базы данных
  • Привет! Помогите пожалуйста!
    Нужно с помощью оператора insert вставить одно и тоже значение !!
    Пример: есть календарный месяц (любой) нужно с помощью запроса вставить значение.
    Есть таблица curce, в нем два поля date типа datetime (содержит собственно дату 01.09.2009) и rub типа numeric (содержит число).
    Нужно одним запросом вставить скажем значение 30 автоматически  в поле rub на весь месяц!!
    Я знаю стандартный дедовский способ,  где нужно каждый раз подставлять вручную следующую дату, может быть кто- нибудь подскажет более интересный вариант, буду признательна за помощь... :)
  • Практические разделы :: Железо
  • Есть компьютер с двумя сетевыми картами, к одной подключен Internet, к второй карте хочу подключить второй компьютер. Как это сделать, и возможно ли использовать первый компьютер как роутер общего подключения к Internet?
  • Практические разделы :: Программы
  • Firefox словари

    После установки английского словаря на русскую версию Firefox полностью пропала проверка по русскому словарю

    Как заставить браузер проверять правописание сразу по двум словарям?
  • У меня стоит Виста и не показывает IPTV. На XP сразу включилось, через VLC плеер, я нашёл, что нужно отключить межсетевой экран (The gateway screen or to switch it in training mode (they though pass UDP, but can block proceeding IGMP)). Подскажите, пожалуйста, как исправить эту проблему. Спасибо.
  • Практические разделы :: Графика и дизайн
  • У меня:

    1. Microsoft Visual C++ 6.0 Standard Edition
    2. DirectX 9c SDK ноябрь 2008

    А так начинается мой код

    Код:
    #define DIRECTINPUT_VERSION 0x0800

    #include <windows.h>
    // подключаем заголовочный файл DirectX 9 SDK
    #include <d3d9.h>
    #include <d3dx9.h>
    // Для работы с mesh
    #include <d3dx9mesh.h>

    // Для работы с DirectInput
    #include <dinput.h>
    #include <math.h>
    #include "camera.h"

    #pragma comment(lib, "d3d9.lib")
    #pragma comment(lib, "d3dx9.lib")
    // Для работы с DirectInput
    #pragma comment (lib, "dinput8.lib")
    #pragma comment (lib, "dxguid.lib")

    // Для того, что бы работала функция timeGetTime()
    #pragma comment(lib, "winmm.lib")

    LPDIRECT3D9 pDirect3D = NULL;
    LPDIRECT3DDEVICE9 pDirect3DDevice = NULL;

    // Указатель на Mesh
    LPD3DXMESH pMesh = NULL;
    // Указатель на буфер mesh-а
    LPD3DXBUFFER pMeshBuffer = NULL;
    // Указатель на буфер материалов
    D3DMATERIAL9 *pMeshMaterial = NULL;
    // Указатель на буфер текстур
    LPDIRECT3DTEXTURE9 *pMeshTexture = NULL;
    // Указатель на интерфейс DirectInput
    LPDIRECTINPUT8 pInput = NULL;
    //  Указатель на устройство ввода
    LPDIRECTINPUTDEVICE8 pInputDevice = NULL;
    // Количество материала и текстур
    DWORD dwNumber = 0;

    DWORD OneTick = 0;

    HINSTANCE hInstance;
    ...
    ...
    ...

    Ошибки:

    --------------------Configuration: di - Win32 Debug--------------------
    Compiling...
    di.cpp
    c:\di\di.cpp(38) : error C2146: syntax error : missing ';' before identifier 'pInput'
    c:\di\di.cpp(38) : error C2501: 'LPDIRECTINPUT8' : missing storage-class or type specifiers
    c:\di\di.cpp(38) : fatal error C1004: unexpected end of file found
    Error executing cl.exe.

    Подключить директории я не забыл, вот printscreen-ы

    (http://twinpix.nu/uploads/full/7690.jpg)

    (http://twinpix.nu/uploads/full/7691.jpg)

    Я как-то не так задал библиотеки для работы DirectInput, а как правильно, не знаю, в Интернете по-разному пишут, но всё не работает.
    Помогите, пожалуйста, избавиться от этих ошибок.

А теперь прощаемся с Вами до следующего выпуска.


С уважением, команда Клуба.


В избранное