Форум программистов, компьютерный форум CyberForum.ru

midi плеер в консоли - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ qsort http://www.cyberforum.ru/cpp-beginners/thread326904.html
Вот код: #include <cstdio> #include <algorithm> int compare(const void *s1, const void *s2) { return strcmp((char *)s1, (char *)s2) < 0; } #define N 4
C++ текстовый файл В текстовом файле содержатся положительные целые числа, разделенные пробелами. Перепишите в другой текстовый файл максимальное количество чисел из первого файла, но чтобы их сумма не превышала заданного значения. http://www.cyberforum.ru/cpp-beginners/thread326898.html
C++ Вывод кириллицы
каким компилятором лучше пользоваться.я пользуюсь dev c++, но он в консоле не отображает все что написаное в скобках(тольуо на англиском отображает корректно).пример (i != j) cout << " i ne ravno j\n "; заранее благодарен.
метод класса во внешней функции C++
подскажите как во внешней функции, если в нее как параметр передан элемент класса, вызвать метод класса для этого самого элемента класса? пишу вот это: void ShowZaryad(Chastica A,Chastica B,Chastica C) //выводит на консоль данные по заряду частицы { int N; cout<<"zaryad_kakoi_chastici_vivisti? "<<A.ShowName<<" najmite 1; "<<B.ShowName<<" najmite 2; "<<C.ShowName<<" najmite 3;"<<endl;...
C++ РАБОТА С ЭКРАНОМ В ГРАФИЧЕСКОМ РЕЖИМЕ http://www.cyberforum.ru/cpp-beginners/thread326882.html
Ребята, целый день решал никак не могу понять почему у меня график не правильно прорисовывается? Написать программу которая строит графики функции y=f(x,a) на интервале -10<=x<=10 аргумента x при значениях параметра a, взятых из интервала 0<=a<=10 отрисовывает сетку и оси, обозначает и оцифровывает оси снабжает графики пояснениями (выражение для функции, значений параметра с указанием связи с...
C++ Считать строку из txt-файла Unicode и преобразовать ее в число - это реально? Допустим у вас в txt-файле несколько чисел: 309 5 512 Если бы файл был в кодировке ANSI: 1) Вы считали строчку с помощью fgets() 2) Преобразуете полученное с помощью atoi() к числу. Но у нас Unicode: подробнее

Показать сообщение отдельно
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
20.07.2011, 00:52     midi плеер в консоли
проигрывает миди из ресурсов
resource.rc
C
1
mySound RCDATA "file.mid"
main.cpp
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#include <windows.h>
#include <windowsx.h>
#include <cstdio>
#include <process.h>
 
// Handlers declarations
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
BOOL OnCreate(HWND, LPCREATESTRUCT);
void OnDestroy(HWND);
 
// Global variables
HINSTANCE hInst;
char szMainWndClassName[MAX_PATH]="MainWndClassName";
HANDLE hThread;
 
void Play(void*){
    if(mciSendString("play tmp.mid wait", NULL, 0, NULL)){
        MessageBox(NULL, "mciSendString failed", "Error", MB_OK);
    }
}
 
// Main procedure
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE , LPSTR, int){
    hInst=hInstance;
    WNDCLASS wc;
    ZeroMemory(&wc, sizeof(WNDCLASS));
    wc.hInstance=hInstance;
    wc.lpfnWndProc=WndProc;
    wc.lpszClassName="MainWndClassName";
    wc.hCursor=LoadCursor(NULL, IDC_ARROW);
    wc.hIcon=LoadIcon(NULL, IDI_APPLICATION);
    wc.hbrBackground=GetStockBrush(LTGRAY_BRUSH);
    RegisterClass(&wc);
    HWND hMainWnd=CreateWindow(szMainWndClassName, "Viewer", WS_OVERLAPPEDWINDOW
                , 100, -10, 700, 580, HWND_DESKTOP, NULL, hInstance, NULL);
    ShowWindow(hMainWnd, SW_SHOWNORMAL);
    MSG msg;
    while(GetMessage(&msg, NULL, 0, 0)){
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }
    return 0;
}
 
// Handlers definitions
LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam){
    switch(msg){
        HANDLE_MSG(hwnd, WM_CREATE, OnCreate);
        HANDLE_MSG(hwnd, WM_DESTROY, OnDestroy);
        default: return DefWindowProc(hwnd, msg, wParam, lParam);
    }
}
 
BOOL OnCreate(HWND hwnd, LPCREATESTRUCT){
    HGLOBAL hResource=LoadResource(hInst, FindResource(hInst, "mySound", RT_RCDATA));
    if(!hResource){
        MessageBox(NULL, "LoadResource failed", "Error", MB_OK);
        SendMessage(hwnd, WM_DESTROY, 0, 0);
    }
    LPVOID hFile=LockResource(hResource);
    if(!hFile){
        MessageBox(NULL, "LockResource failed", "Error", MB_OK);
        SendMessage(hwnd, WM_DESTROY, 0, 0);
    }
    FILE* f=fopen("tmp.mid", "wb");
    fwrite((char*)hFile, 1, 67827, f); //67827 - размер midi-файла
    fclose(f);
    UnlockResource(hResource);
    FreeResource(hResource);
    hThread=(HANDLE)_beginthread(Play, 0, NULL);
    return TRUE;
}
 
void OnDestroy(HWND hwnd){
    PostQuitMessage(0);
}
 
Текущее время: 19:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru