Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Клуб программистов > Свободное общение
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.01.2012, 19:26   #21
#include <Markus>
Неистово негодуэ
Пользователь
 
Аватар для #include <Markus>
 
Регистрация: 11.09.2011
Сообщений: 61
По умолчанию

8Observer8, спасибо =)

и массив там не переполнен, помоему. там нет места для символа "\0". В борланде все спокойно воспринимает, а вот в вижле уже беспокоиться начинает. а проект-то не большой, поэтому делал в борланде.
Жёстко негодую и тупю на всех.

Последний раз редактировалось #include <Markus>; 02.01.2012 в 19:29.
#include <Markus> вне форума Ответить с цитированием
Старый 02.01.2012, 20:42   #22
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
и массив там не переполнен, помоему. там нет места для символа "\0".
да, но консоль то 25*80.

а зачем дочерний процесс? поток не проще для музыки то?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 02.01.2012, 21:16   #23
#include <Markus>
Неистово негодуэ
Пользователь
 
Аватар для #include <Markus>
 
Регистрация: 11.09.2011
Сообщений: 61
По умолчанию

Пепел Феникса, Знаю, что это нимного вводит в негодование, но это оправдывается тем, что если я ввиду 25 строк, то курсор самовольно переместится ниже на один столбец(горькая правда о жизнив консоле. Никогда не ожидаешь, что произойдет в любой момент)
Жёстко негодую и тупю на всех.
#include <Markus> вне форума Ответить с цитированием
Старый 03.01.2012, 12:44   #24
8Observer8
Старожил
 
Аватар для 8Observer8
 
Регистрация: 02.01.2011
Сообщений: 3,323
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
а зачем дочерний процесс? поток не проще для музыки то?
То что нужно! Спасибо! Поток здесь уместнее

#include <Markus>, пример я взял отсюда --> ссылка

И ещё, по следующей ссылке хорошо о потоках написано --> ссылка

Код:
int main(void)
{
    DWORD WINAPI music( LPVOID lpParam );
    HANDLE hThreadMusic;
    DWORD dwThreadIdMusic;

    // Create the thread to begin execution on its own.

    hThreadMusic = CreateThread( 
        NULL,                   // default security attributes
        0,                      // use default stack size  
        music,                  // thread function name
        NULL,                   // argument to thread function 
        0,                      // use default creation flags 
        &dwThreadIdMusic);      // returns the thread identifier 


    // Check the return value for success.
    // If CreateThread fails, terminate execution. 
    // This will automatically clean up threads and memory. 

    if (hThreadMusic == NULL) 
    {
       ExitProcess(3);
    }
    else {
        // Close thread handle
        CloseHandle(hThreadMusic);
    }

    MapClear();
    while(1) 
    { 
        //clrscr();
        system("clr");
        Background();
        snow_printer();
        gotoxy(2, 1); cprintf("New Year 2012 : Markus Black  :  Snow Card v.1");
        Sleep(400); 
    }
	
    getch();
}

DWORD WINAPI music( LPVOID lpParam )
{   
    Beep(390,700);
    Beep(515,700);
    Beep(515,350);
    // ...
    // ...
    // ...

    return 0;
}

Последний раз редактировалось 8Observer8; 03.01.2012 в 12:51.
8Observer8 вне форума Ответить с цитированием
Старый 03.01.2012, 12:48   #25
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,544
По умолчанию

Можно писать напрямую в видеопамять, тогда курсор никуда перемещаться не будет.
Arigato вне форума Ответить с цитированием
Старый 03.01.2012, 12:53   #26
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Можно писать напрямую в видеопамять, тогда курсор никуда перемещаться не будет.
вы почти правы.
можно напрямую писать в консольный буфер.

а насчет видеопамяти, мы не в ДОСе)

вообще вам подойдет отключение режима ENABLE_WRAP_AT_EOL_OUTPUT
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Самый отмороженный Новый Год. Utkin Свободное общение 1 02.01.2010 14:18
Где вы будете отмечать новый год? Hallo Свободное общение 6 20.12.2007 04:45