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

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


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

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

  • Программирование :: Общий
  • Помогите, пожалуйста, построить конечный автомат для перевода дробных двоичных чисел в десятичные
  • Гененератор случайных чисел:

    #include "stdafx.h"
    #include <iostream.h>
    #include <cstdlib>
    int main()
    {
        int x;
       for (x=0; x<5; x++)
             cout << '#' << x << '=' << rand()<<endl;
    return 0;
    }

    Возможно вы скажите, что тут всё нормально, но есть две интересные для меня проблеммы:
    1) Сама функция rand(), а именно:
        после запуска программы она выводит случайные значения - это     верно, (допустим 45, 346, 5888, .....), если запустить программу   повторно то получим те же самые числа !? (Хотя по-моему они не    должны быть равны).  

    Если можно, обьясните пожалуста эту проблемму и ещё, чтобы числа генерировались в определённом диапазоне (я не знаю стандартный диапазон).

    2) У меня, когда запускается программа (описанная выше) в     консольном приложении она существует считанные миллисекунды.
        Ну эту проблему я научился обходить по-своему:
              cout << '#' << x << '=' << rand()<<endl;
              cin >> x;
              return 0;
        Но мой метод не очень актуален. Приходится постоянно вводить
        какое-то значение, чтобы программа "вылетела".
        Пока писал текст вспомнил cin.get.
         char a[2];  cin.get(a,2,'\n');
       Так уже лучше, но не достаточно красиво.

    Можно ли сделать что бы окно акрывалось с нажатием клавиши Enter
    и что бы в программе не было такой ерунды как у меня ?
  • Подскажите,пожалуйста,как моделировать в матлабе с помощью нейронных сетей? Может литературу какую-нибудь подскажете? Основная проблема в том, как выбрать из большого количества сетей несколько самых оптимальных для моделирования(с самой большой скоостью работы и т.д.). Их надо как-то протестировать в матлабе... А вот как,я не знаю. Подскажите,что-нибудь!
  • Программирование :: .NET технология от и до
  • Вот создал я XML-документацию к проекту, файл создался. Все хорошо. А вот как бы теперь так сделать, чтобы этот файл ХМЛ мне представили в каком-то более красивом/читабельном ввиде, чисто уже для пользования человеком?
  • Программирование :: .NET технология от и до :: WinForms
  • Как воспроизвести звуковой файл MP3 или какие нибудь другие форматы на С#?

    Пожалуйста если можно пример с кодом.

    Заранее благодарен.
  • Программирование :: С/С++
  • Задание:
    разработать программу, обеспечивающую изображение на экране дисплея определенного набора плоских и пространственнных геометрических фигур.
    Предусмотреть в программе возможности масштабирования фигур или их изображения по задаваемым размерам и построения 3-х проекций для определенной фигуры.
    Все предоставляемые услуги оформить в сервисное меню с библиотекой геометрических фигур.

    Не знаю даже, с какой стороны подойти.
    Можно писать в борланд С++ (т.е. консоль), в билдере и визуале. Что лучше выбрать?
    Какие библиотеки лучше и проще использовать?
    Какие книги по теме посоветуете почитать?
    Язык Си изучаю только 2 семестр, т.е. знания еще не очень глубокие. Можно использовать С++, но будут лишние вопросы при сдаче.
  • На своем компьютере собрал Qt -  версию 4.4.3. Собрал с модулем phonon. Сделал программу, которая использует модуль phonon. Эта программа проигрывает звуковые и видео файлы. На своем компьютере работае все отлично. А на других компьютерах программа запускается, но работает некорректно - ничего не проигрывает. То есть все dll-ки есть, запускается, не не работает.  Подскажите, пожалуйста, что делать.
  • Программирование :: С/С++ :: WinAPI & Visual C++
  • Наверное, избитая тема, но никак не "разгрызается". Поиск в ответ дал единственную тему про .NET, который для меня пока еще слишком сложен.

    Работа идет в чистом Win API, никаких MFC или Дотнетов. В своей DLL'ке я делаю вызов диалога "About":

    DialogBox(UtilsR2_hModule, MAKEINTRESOURCE(IDD_DIALOG_Main), *pMainProgInterf->phMainWindow, (DLGPROC)About_Main_proc);

    Этот диалог показывает версию программы, перечисляет подключенные модули, другую вспомогательную информацию, - в общем, обычная рутина. Мне хотелось бы при нажатии клавиши 'H' вызвать другой диалог с описанием "железа" (ну там версии прошивок и т.п.). Для этого в диалоге "About" я ловлю WM_NOTIFY. Определил, что клавиши опознаются по LVN_KEYDOWN (у меня в "About" несколько статичных строк и список присоединенных модулей в виде листбокса).

    Но когда я точно так же поступаю во втором диалоге, вызванном из первого, (в том, который про описание "железа") - никаких WM_NOTIFY я вообще не вижу! Т.е. в первом диалоге (пока не вызван второй диалог) я еще вижу что-то типа:

    [40.18839] WM_NOTIFY: Control = 1001, hwndFrom = 00020A24, idFrom = 1001, code = -155
    [40.18858] LVN_KEYDOWN

    А во втором - вообще тишина...

    Хотел спросить: как же все-таки добраться до цикла сообщений диалогового окна? Моя процедура диалога получает только какие-то остаточные сообщения. Я пробовал применить SetWindowLong на окне диалога - получил в точности те же сообщения, что и диалоговая процедура (что для меня совершенно непонятно: ведь процедура окна должна получить все, что этому окну посылается!).

    Что делать, друзья?! Как мне добраться до очереди сообщений диалога, чтобы узнать, что пользователь нажал злосчастную клавишу 'ESC'? :-) Идеалом было бы получение аналога PreTranslateMessage из MFC.

    Спасибо!

    P.S. Да, забыл сказать, я пробовал в качестве родительского окна (который *pMainProgInterf->phMainWindow) использовать NULL. Эффект тот же самый. Т.е. нулевой...
  • Привет!

    Есть задача написать программу "в среде Win32 Console Application Visual Studio 2005".
    При этом "создать систему меню, помощи, обработчик ошибок".
    Вопрос: консольное приложение подразумевает все-таки работу только в текстовом режиме или имеется в виду все-таки создание окон? Если последнее, то подскажите, плиз, где посмотреть примеры?
  • Программирование :: С/С++ :: C/C++ Unix
  • Есть задача написать HTTP parser. Ни разу, у меня лично, не было задач работать с HTTP протоколом на уровне разбора, поэтому не знаю, на какую библиотеку стоит смотреть? Основное требование: парсер должен выдерживать достаточно серьезную нагрузку >=100 Mb/s.

    Сейчас рассматриваю библиотеку libcurl. Есть ли у кого опыт по данной теме.

    Спасибо.

    UPD: куда и как укладывать не принципиально, пока допустим в XML.
    UPD2: libcurl рассматриваю не как инструмент для решения задачи, а для того что бы посмотреть как парсить.
  • Программирование :: Delphi
  • Кто может  дать модуль Graph.tpu и сказать, как подключить к компилятору?
  • Я использую для воспроизведения WAV:

    USES mmsystem;
    sndPlaySound('C:\TEST.WAV',SND_ASYNC); // PLAY
    sndPlaySound('C:\TETS.WAV',SND_ASYNC+SND_LOOP); // Loop Mode (зацикливание)
    sndPlaySound(Nil,SND_ASYNC); //STOP


    Но у меня в процессе создания программы возникла проблема. Если на воспроизведение приходит команда проигрывать другой файл, предыдущий прерывается  :-/, что нежелательно. Как узнать что предыдущий файл еще проигрывается?  :confused:
  • Программирование :: Java
  • Помню, у Java есть специальное окошко с одним Label'ом и двумя кнопками (Yes и No). Его можно использовать так (для примера назовем его DialogBox):

    Код:
    if([b]DialogBox[/b] = yes) {
        выполнить, что надо...
    }
    else {...}

    Но как именно этот DialogBox записывается - не помню. Помогите, пожалуйста.
  • Не могу найти библиотеку для построения трехмерных графиков функций. (всегда пользовал jfreechart, но вней по-моему, нет такой возможности).
  • Как у MenuShortcut называется кнопка Esc? Спасибо.
  • Программирование :: Программирование 1С :: 1С 7.x
  • В 1с столкнулся с проблемой добавления нового реквизита "ДатаНакладной" в шапку документа "Приходная накладная". Как обычно, добавляю новый реквизит шапки ДатаНакл, вставляю его в форму, но в программе, при сохранении накладной, именно этот реквизит не сохраняется. Подскажите, кто чем может!!!
  • Программирование :: Программирование 1С :: 1С 8.x
  • Используется 1С 8.1

    1. Имеется элемент "ТабличноеПоле", рядом кнопка, по нажатию на кнопку в таблице должно появиться десять строк и десять столбцов, причем, каждая ячейка должна быть пронумерованна (<номер строки><номер столбца>) : например (1.1) (1.2).


    Я пишу цикл, чтобы вставить десять строк и столбцов, но как ячейки пронумеровать? Можете привести пример того, что должно быть написано в кнопке?

    Код:
    Процедура заполнитьНажатие(Элемент)
    //рисует десять строк и колонок
    перем кв;
    кв=0;
    пока кв<10 цикл
    ЭлементыФормы.ТП1.ДобавитьСтроку();
        ЭлементыФормы.ТП1.Колонки.Добавить();
    кв=кв+1;
    КонецЦикла;

    вот, а нумеровать как?

  • Операционные системы :: Windows
  • Нужно создать групповую политику, которая добавляет ключ реестра с многострочным параметром. В редакторе реестра он называется REG_MULTI_SZ. Если я определяю тип вводимой информации EDITTEXT в файле adm, то в Редакторе объектов групповых политик вводится только одна строка.

    Очень рассчитываю на Вашу помощь.
  • Направления программирования :: Drivers
  • Мне в драйвере необходимо реализовать возможность отправки данных по TCP (с помощью TDI ) Но не могу найти примеры исходников, где подобное было бы сделано. Нашёл такой отрывок
    Цитировать
    Для Windows до Vista задача сводится к написанию TDI-клиента. Порядок действий примерно такой:
    1. ZwOpenFile ( \Device\Tcp или \Device\Udp ) - локальный адрес
    2. ZwOpenFile ( \Device\Tcp или \Device\Udp ) - удалённый узел
    3. ObReferenceObjectByHandle - на удалённый узел

    4. TdiBuildAssociateAddress, IoCallDriver
    5. TdiBuildSetEventHandler ( TDI_EVENT_RECEIVE ), IoCallDriver
    6. TdiBuildConnect, IoCallDriver
    7. TdiBuildSend, IoCallDriver

    8. Ждём данные. Будет вызвана наша функция, зарегистрированная на шаге 5.

    9. TdiBuildDisconnect, IoCallDriver
    10. TdiBuildDisassociateAddress, IoCallDriver
    11. TdiBuildSetEventHandler ( TDI_EVENT_RECEIVE == NULL ), IoCallDriver

    12. ObDereferenceObject - на удалённый узел
    13. ZwClose - удалённый узел
    14. ZwClose - локальный адрес
    Но не совсем понимаю, как это сделать. На сайте rootkits.com нашёл библиотеку "Kernel mode sockets library for the masses" но и в ней нет точного порядка действий + не все типы определены (не компилируется).
    Может кто-нибудь выложить какой-нибудь полный образ, который передаёт данные по Tcp из ядра.
    Заранее спасибо
  • Занимаюсь изучением различного рода программирования чуть более года.
    За это время успел изучить html/js/php/c-c++/ASM/, создавал вэб-, Windows приложения.
    Месяца 1.5-2 назад решил поизучать создание драйверов под Windows, программирование в режиме ядра, да и вообще найти применения своим знаниям на этом непростом занятии. Почему именно драйвера? Наверное, не мне вам объяснять, насколько это интереснее, занятнее и перспективнее программирования окошек в пользовательском уровне.
    Так вот. Успел прочитать пол книги WDM от Oney, также пытался читать Солдатова, Сорокину, Комиссарову, различные статьи на Васме и других подоных источниках. Документацию WDK читать не начинал( но думаю на днях начну, так как в любом случае понимаю, что это наиболее обильный источник информации по сабжу).
     Наибольшую сложность я испытываю в отсутствии живых примеров. То есть количество теоретических знаний с каждой прочитаной страницей документации все больше и больше превосходит количество практических навыков. То бишь теория без практики в моей голове не укладывается никак.
     Хотел бы попросить вас выложить какой-нибудь полный комментированный код простого драйвера, чтобы мне было, что разобрать.
     Просто я никак не могу понять, вот есть драйвер, загружается, инициализируется функцией DriverEntry, а вот что дальше происходит, мне неведомо. Поступают всякие IRP пакеты, но откуда и как они обрабатываются, что должны делать фунуции их обработки понять не могу.
     
     Надеюсь, вы поняли, что я попытался вам донести своим постом. Заранее спасибо за советы и подсказки!
     
  • Наткнулся на пару ссылок, думаю, будут полезны тем, кто до сих пор мучается с утилитой build.exe и 70-килобайтным мейк-файлом из DDK :wow:

    Настройки проекта Microsoft Visual Studio для сборки драйвера:
    Building NT kernel mode drivers in MS Visual C 6.0
    http://alter.org.ua/ru/docs/nt_kernel/vc6_proj/
    - мельком проглядел, вроде похоже на правду.

    Building NT kernel mode drivers in MS Visual Studio 8.0 (VS 2005)
    http://alter.org.ua/ru/docs/nt_kernel/vc8_proj/

    и то, что я, собственно, сам искал:
    исправление ошибок компляции проекта портированного из предыдущей VC6-VC2003 версии в VS2005:

    "Портирование проекта драйвера из VC6 в VC8 с DDK 2003
    http://alter.org.ua/ru/docs/nt_kernel/vc6_to_vc8/
    (VC8 - это VC2005. 7.1 - 2003 соответственно)

    на тех же страницах еще несколько весьма полезных и интересных ссылок... изучаю)

  • Направления программирования :: Сети
  •    Есть 2 компьютера, соединенные по ЛВС. Можно ли осуществить обмен между ними (из программы, С++), используя только МАС-адреса их сетевых карт, без использования сетевых протоколов (IP и др.)? Если кто знает, как это сделать, поделитесь, пожалуйста.
  • Пишу программу "обработка сетевого трафика" на основе библиотеки winpcap. Подскажите, существует ли функция в этой библиотеке, чтобы блокировать трафик с конкретного ip адреса, если нет, то подскажите, с помощью чего реализовать задачу.
    Заранее извиняюсь если поднял тему уже существующую, если да то дайте, пожалуйста, ссылку, где почитать.
  • Направления программирования :: Web
  • Помогите, пожалуйста, прикрутить к DLE крон.

    Воспользовался поиском, но ничего не нашел, кроме одной темы, где обсуждается моральная сторона граббинга и ни слова по делу.
  • Направления программирования :: Web :: Серверные скрипты
  • Давным-давно уже в разработке проект.
    Скрипты живут на сервере, и им там хорошо.
    В php.ini на том сервере есть такие строки:
    Код:
    error_reporting  =  E_ALL
    display_errors = On
    Ну то есть все ошибки чтобы всегда выводил. Мне так приятнее отлаживать, если что.
    И никаких ошибок в реальной работе естественно не было.

    В этом проекте встречаются в нескольких местах такие конструкции:
    Страница содержит таблицу с выборкой из БД, а по нажатию нужной кнопки аяксом подгружается на эту же страницу ещё одна таблица.
    И скрипт основной части страницы, и скрипт подгружаемой аяксом части содержат одинаковую строку require_once("settings.php"). В этом файле содержатся определения констант, как несложно догадаться.

    Ради удобства разработки (ну и чтобы не править на живую на действующей системе) скопировала я проект себе на локальный компьютер.
    И на локальном творятся чудеса.
    Сама страница выглядит нормально, а вот в начале подгружаемой части вылезают ошибки, типа таких:
    Код:
    Notice: Use of undefined constant SITE_ROOT - assumed 'SITE_ROOT' in /Users/shilgya/htdocs/settings.php on line 19
    Notice: Undefined index: type in /Users/shilgya/htdocs/sattelitereport.php on line 164
    Я в глубокой задумчивости.

    Строка 19 из settings.php:
    Код:
    define(SITE_ROOT,"/");

    Строка 164 из sattelitereport.php:
    Код:
    if(!$result['type']) {

    Люди добрые! Помогите пожалуйста.
  • Практические разделы :: Базы данных
  • На главном компе стоит субд Oracle, на мобильных терминалах - базы Excess. Необходимо написать программу, которая позволяла бы синхронизировать эти базы, т.е. в Oracle вносить все изменения из аксессовских бд. Синхронизация будет производиться на том же компе, где стоит Oracle. Возможно ли это вообще реализовать? И если да, то как? Заранее, спасибо
  • Практические разделы :: Железо
  • У меня с незапамятных времён имеется лишь одна такая - на 512 Мб. С переключателем на флешке (вроде переключателя на 3,5'' дискете) для железной защиты от записи

    Существуют ли в природе ещё такие, поновее и побольше объёмом? Нигде не могу найти, даже в интернете, хотел на заказ найти (
  • При загрузке выводится сообщение, что не подключен винчестер, вернее, не найден, хотя подключено все верно
  • Практические разделы :: Программы
  • После лечения компа от вирусов появился глюк в MyIE2 (соответственно, и в IE) - например, хочу ответить на форуме кому-то, нажимаю на его имя, оно не вставляется в форму быстрого ответа. В mail.ru не работает подсказка выбора е-мейла при написании нового письма, и еще масса подобных глюков, связанных с Java Script. В Firefox все работает без проблем. Но. Хочется починить MyIE. У кого-нибудь есть мысли, что можно сделать?

    P.S. Советы, типа, "выкинь IE, юзай FF, Оперу и т.д." - прошу не предлагать, это я и сама знаю.
  • Tсть необходимость разбить блок данных по вертикали, например, когда реквизиты двух сторон в конце докуменгта пишут в два столбика.

    сейчас это сделано в виде таблицы с двумя ячейками.
    можно ли как-то сделать то же самое но без таблицы и без ручного подгона пробелами?

    пример из интернета
    (http://www.cityexpress.ru/i/ills/dog-signs.gif)
  • На компьютере после работы одного товарища определяются не все флешки, а только строго определенные. Как это человек сделал? И можно это как-нибудь обойти?

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


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


В избранное