62944 (588866), страница 5

Файл №588866 62944 (Разработка программного обеспечения для голосового управления трехмерными моделями функционирования промышленных роботов) 5 страница62944 (588866) страница 52016-07-29СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 5)

TEXTMETRIC tm;

dc. GetTextMetrics(&tm);

lpMeasureItemStruct->itemHeight = tm.tmHeight;} void CRecordDlg::SetMode(MODE m) { CClientDC dc(this); if (m = miMode) return; if (m_pWave) m_pWave->Stop(); switch (miMode) {case SAMPLING: case RECORDING: mlnDev.ResetO; m_InDev.Close(); break; case PLAYING: break;

case OPEN:

break;}

miMode = IDLE;

switch (m) {case SAMPLING:

f case RECORDING.

{int iSel = m_cbSource.GetCurSel(); if(iSel = CBERR) return;

WAVEINCAPS* pCaps = (WAVEINCAPS*) m_cbSource.GetItemData(iSeI);

ASSERT(pCaps);

UINT uiBD = pCaps->wMid;

iSel = m_cbFormat.GetCurSel();

if(iSel == CBERR) return;

DWORD dwFormat = mcbFormat.GetltemData(iSel);

ASSERT(dwFormat);

PCMWAVEFORMAT fmt;

BuildFormat(fmt, dwFormat);

if (!m_InDev.Open(uiID, &fmt)) return;

if (m = SAMPLING) {

mSampleWave.DeleteAllO;

mSampleWave. Create(&frnt);

m_SampleWave.Record(&m_InDev, 1024,&m_NotifyObj); } else if (m — RECORDING) { if (!m_pWave) m_pWave = new CWave; ASSERT(m_pWave); mjpWave->Create(&fmt);

m_pWave->Record(&mJnDev,4096,&m_NotifyObj);}

case PLAYING, if (m_pWave) m_pWave->Play(NULL, &m_NotifyObj); break;

case OPEN.

if (m_pWave) m_pWave->OpenData(NULL, &m_NotifyObj,&dc); break;} miMode = m,

if ((mjMode = PLAYING) || (mjMode = RECORDING)! |(m_iMode btnStop.EnableWindow(TRUE);

} else {m_btnStop.EnableWindow(FALSE);}

if (mjMode = PLAYING) { m_btnPlay.EnableWindow(FALSE); } else {mbtnPlay.EnableWindow(TRUE);}

if (m_iMode = OPEN) {mbtnOpenData.EnableWindow(FALSE); } else {mbtnOpenData.EnableWindow(TRUE);} if (mjMode = RECORDING) {m_btnRecord.EnableWindow(FALSE); } else {m_btnRecord.EnableWindow(TRUE);}} void CRecordDlg::NewData(CWave *pWave, CWaveBlock* pBlock) { ASSERT(pWave); ASSERT(pBlock);

PCMWAVEFORMAT* pwf = (PCMWAVEFORMAT*) pWave->GetFormat(); ASSERT(pwf->wf.wFormatTag = WAVEFORMATPCM); int iCount = pBlock->GefNumSamples(); if (pwf->wBitsPerSample = 8) {

BYTE* pData = (BYTE*)pBlock->GetSamplesO; BYTE bMax - 0; while (iCount—) {

if (*pData > bMax) bMax = *pData; pData++;}

if (bMax GetSamples(); int iMax = 0;

while (iCount—) {if (*pData > iMax) iMax = *pData;

pData++;} m_VU.SetValue(iMax, iMax);} if(m_iMode!= RECORDING) { pWave->GetBlockList()->FreeAll();}} void CRecordDlg::EndPlayback(CWave *pWave) { ASSERT(pWave); SetMode(SAMPLjrNG);}

void CRecordDlg::BuildFormat(PCMWAVEFORMAT& fmt, DWORD dwFormat) { ASSERT(dwFormat); fmt.wf.wFormatTag = WAVEFORMATPCM; switch (dwFormat) { case WAVE_FORMAT_1M08: fmt.wf.nChannels = 1; rmtwf.nSamplesPerSec = 11025; fmtwBitsPerSample = 8; break;

case WAVE_F0RMAT_1M16: fmt.wf.nChannels = 1; fmt.wf.nSamplesPerSec = 11025; fmt.wBitsPerSample = 16; break;

case WAVE_FORMAT_1S08: fmt.wf.nChannels = 2; fmt.wf.nSamplesPerSec = 11025; fmt.wBitsPerSample = 8; break;

case WAVE_F0RMAT_1S16: fmt.wf.nChannels = 2; fmtwf.nSamplesPerSec = 11025; fmt.wBitsPerSample = 16; break;

case WAVE_FORMAT_2M08: fmt.wf.nChannels = 1; fmt.wf.nSamplesPerSec = 22050; fmt.wBitsPerSample = 8; break;

case WAVE FORMAT 2M16 fmt.wf.nChannels = 1; fmt.wf.nSamplesPerSec = 22050; fmt.wBitsPerSample = 16; break;

case WAVE_FORMAT_2S08: fmt.wf.nChannels = 2; fmt.wf.nSamplesPerSec = 22050; fmt.wBitsPerSample = 8; break;

case WAVE_FORMAT_2S16: fmt.wfnChannels = 2; fmt.wf.nSamplesPerSec = 22050;

fmt.wBitsPerSatnple = 16; break;

case WAVE_FORMAT_4M08: fmt.wf.nChannels = 1; fmt.wf. nSamplesPerSec = 44100; fmt.wBitsPerSampIe = 8; break;

case WAVE_FORMAT_4M16: fmt.wf.nChannels = 1; fmt.wf.nSamplesPerSec = 44100; fmt.wBitsPerSampIe = 16; break;

case WAVE_FORMAT_4S08. fmt.wf.nChannels = 2; fmt.wf.nSamplesPerSec = 44100; fmt.wBitsPerSampIe = 8; break;

case WAVE_FORMAT_4S 16:

fmt.wf.nChannels = 2;

fmt.wf.nSamplesPerSec = 44100;

fmtwBitsPerSample = 16;

break; default:

ASSERT(O);

return;}

fmt.wf.nAvgBytesPerSec = fmt.wf.nSamplesPerSec;

fmt.wf.nBlockAlign = fmt.wBitsPerSampIe /8;} CRecDlgNotifyObj::CRecDlgNotifyObj() { m_pDlg = NULL;} CRecDlgNotifyObj.:~CRecDlgNotifyObj() {}

void CRecDlgNotifyObj::NewData(CWave *pWave,CWaveBlock* pBlock) { ASSERT(m_pDlg);

m_pDlg->NewData(pWave, pBlock);} void CRecDlgNotifyObj::EndPlayback(CWave *pWave) { ASSERT(m_pDlg);

m_pDlg->EndPlayback(pWave);}

void CRecordDlg.:OnClickedOpenData0

{ SetMode(OPEN);

CClientDC dc(this);} CFilterDlg::CFilterDlg(CWnd* pParent /*=NULL*/): CDialog(CFilterDlg::IDD, pParent)

void CFilterDlg::DoDataExchange(CDataExchange* pDX)

{ CDialog::DoDataExchange(pDX);}

BEGIN_MESSAGE_MAP(CFilterDlg, CDialog)

ONJBN_CLICKED(IDC_FILTER, OnFilter) ENDMES S AGEM AP() void CFiIterDlg::OnFilterO (CCIientDC dc(this);

dc.SelectObject(GetStockObject(WHITE_PEN));

for(inti=0; i<110;i++)

{ dc.MoveTo(lO*i,0);

dc.LineTo(10*i,800);

dc.MoveTo(0,10*i);

dc.LineTo(1100,10*i);} dc.SelectObject(GetStockObject(BLACK_PEN)); dc.MoveTo(0,200); dc.LineTo(l 100,200); m_pOutDev->ShowFilter(&dc);}

void CRecordDlg::OnUpdate{) { CCIientDC dc(this); Update(&dc);}

void CRecordDlg::Update(CClientDC *curDC) (CWnd *win= curDC->GetWindowO; win->Invalidate(TRUE);}

int hspos=0; int curpos=0;

void CRecordDlg::OnHScroll(UTNT nSBCode, UINT nPos, CScrollBar* pScrollBar) { curpos=hspos;

switch (nSBCode) { case SBJLEFT:.

if(hspos>0)

hspos--;

break;

case SBRIGHT: hspos++;

break;

case SBLINELEFT: if(hspos>0) hspos--;

case SBLINEPJGHT: hspos++;

break;

case SBTHUMBPOSITION: hspos = nPos;

break;

case SBTFTUMBTRACK: hspos = nPos; break;

case SBPAGELEFT: if(hspos>0) hspos—;

break;

case SBPAGERIGHT.

hspos++;

break;}

CREATESTRUCT cs;

cs.cx =::GetSystemMetrics(SM_CXSCREEN);

SetScrollPos(SB_HORZ,hspos,TRUE);

curpos=hspos-curpos;

Scroll Window(-curpos* 10,0,NULL,NULL); CDialog::OnHScroll(nSBCode, nPos, pScrollBar);} CGraphicDlg::CGraphicDlg(CWnd* pParent /*=NULL*/): CDialog(CGraphicDlg::IDD, pParent)

(}

void CGraphicDlg..DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX);} BEGLN_MESSAGE_MAP(CGraphicDlg, CDialog)

ON_BN_CLICKED(IDC_GRAPHIC, OnGraphic) END MESSAGEJVIAP() void CRecordDlg::OnGraphicO (CGraphicDlg* a; a = new CGraphicDlgO; if(a!= NULL)

{ BOOL ret = a->Create(IDD_GRAPHIC,this); if(!ret)

AfxMessageBox("Error creating Dialog"); a->ShowWindow(S W_SHOW);} else AfxMessageBox("Error Creating Dialog Object");} void CGraphicDlg..OnGraphicQ

{ CClientDC dc(this);

dc.SelectObject(GetStockObject(WHITE_PEN));

for(int i=0; i<110;i++)

{ dc.MoveTo(10*i,0);

dc.LineTo(10*i,800);

dc.MoveTo(0,10*i);

dc.LineTo(1100,10*i);} dc.SelectObject(GetStockObject(BLACK_PEN)); dc.MoveTo(0,200); dc.LineTo(1100,200); m_pOutDev->Graphic(&dc);} CHammingDlg:.CHammingDlg(CWnd* pParent /*=NULL*/): CDialog(CHammingDlg::IDD, pParent)

0

void CHammingDlg.:DoDataExchange(CDataExchange* pDX)

{ CDialog.:DoDataExchange(pDX);}

BEGIN_MESSAGE_MAP(CHarnmingDlg, CDialog)

ON_BN_CLICKED(IDC_HAMMING, OnHamming) END_MESSAGE_MAP() void CRecordDlg::OnHamming() {CHammingDlg* a; a = new CHammingDlgO; if(a!=NULL)

{ BOOL ret = a->Create(roDJHAMMING,this);

ifTJret) ArxMessageBox("Error creating Dialog");

a->ShowWindow(SW_SHOW); } else AfxMessageBox("Error Creating Dialog Object");}

void CHammingDlg::OnHamming() (CClientDC dc(this);

dc.SelectObject(GetStockObject(WHITE_PEN));

for(inti=0; i<110;i-H-)

{ dc.MoveTo(10*i,0);

dc.LineTo(10*i,800); dc.MoveTo(0,10*i); dc.LineTo(l 100,10*i); } dc.SelectObject(GetStockObject(BLACK_PEN)); dc.MoveTo(0,250); dc.LineTo(l 100,250); m_pOutDev->ShowHamming(&dc);} void CRecordDlg::OnFilter() {CFilterDlg* a;

a = new CFilterDlg(); if(a!=NULL)

{ BOOL ret = a->Create(TDDJFILTER,this);

if(!ret) AfxMessageBox("Error creating Dialog");

a->ShowWindow(SW_SHOW);} else

AfxMessageBox("Error Creating Dialog Object");} CFurjeDlg::CFurjeDlg(CWnd* pParent /*=NULL*/): CDialog(CFurjeDlg::TDD, pParent)

{}

void CFurjeDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX);} BEGIN_MESSAGE_MAP(CFurjeDlg, CDialog)

ON_BN_CLICJQED(IDC_FURJE, OnFurje) ENDMESSAGEMAPQ

void CRecordDlg::OnFurje() {CFurjeDlg* a; a = new CFurjeDlgQ; if(a!=NULL)

{ BOOL ret = a->Create(lDD_FURJE,this); if(!ret) AfxMessageBox("Error creating Dialog");

a->ShowWindow(SW_SHOW); } else AfxMessageBox("Error Creating Dialog Object");} void CFurjeDlg::OnFurje() {CClientDC dc(this);

dc.SelectObject(GetStockObjectOVHITE_PEN));

for(inti=0; i<110;i++)

{ dc.MoveTo(10*i,0);

dc.LineTo(10*i,800);

dc.MoveTo(0,10*i);

dc.LineTo(1100,10*i); } dc.SelectObject(GetStockObject(BLACK_PEN)); dc.MoveTo(0,250); dc.LineTo(l 100,250); m jpOutDev->ShowFurje(&dc);} CObrFurjeDlg::CObrFurjeDlg(CWnd* pParent /*=NULL*/): CDialog(CObrFurjeDlg::IDD, pParent)

{}

void CObrFurjeDlg.:DoDataExchange(CDataExchange* pDX)

{ CDialog::DoDataExchange(pDX);}

BEGINMESS AGEM AP(CObrFurj eDlg, CDialog)

ON_BN_CLICBCED(IDC_OBRJFURJE, OnObrfurje) END_MESSAGE_MAP() void CRecordT>lg::OnObrfurje() {CObrFurjeDlg* a; a = new CObrFurjeDlg(); if(a!=NULL)

{ BOOL ret = a->Create(IDD_OBRFURJE,this);

if(!ret) AfxMessageBox("Error creating Dialog");

a->ShowWindow(SW_SHOW); } else

AfkMessageBox("Error Creating Dialog Object");} void CObrFurjeDlg::OnObrfurje() {CClientDC dc(this);

dc.SelectObject(GetStockObject(WHITE_PEN));

for(int i=0; i

{ dc.MoveTo(10*i,0);

dc.LineTo(10*i,800);

dc.MoveTo(0,10*i);

dc.LineTo(1100,10*i); } dc.SelectObject(GetStockObject(BLACK_PEN)); dc.MoveTo(0,250); dc.LineTo(l 100,250); m_pOutDev->ShowObrFurje(&dc);} CClipDlg::CClipDlg(CWnd* pParent /*=NULL*/): CDialog(CClipDlg::IDD, pParent)

{}

void CClipDlg..DoDataExchange(CDataExchange* pDX) { CDialog..DoDataExchange(pDX);} BEGIN_MESSAGE_MAP(CClipDlg, CDialog)

ON_BN_CLICKED(IDC_CLIP, OnClip) ENDMESSAGEMAPQ void CRecordDlg::OnClip() {CClipDlg* a; a = new CClipDlgQ; if(a!=NULL)

{ BOOL ret = a->CreateODD_CLIP,this); itXIret) AfxMessageBox("Error creating Dialog"); a->ShowWindow(SW_SHOW); } else AfxMessageBox("Error Creating Dialog Object");} void CClipDlg::OnClip() {CClientDC dc(this);

dc.SelectObject(GetStockObject(WHITE_PEN));

for(inti=0;i

{ dc.MoveTo(10*L0);

dc.LineTo(10*i,800);

dc.MoveTo(0,10*i);

dc.LineTo(1100,10*i); } dc.SelectObject(GetStockObject(BLACK_PEN)); dc.MoveTo(0,100); dc.LineTo(l 100,100); m__pOutDev->ShowClip(&dc);}

// animate.h: header file #include #include "OutDialog.h" /Mnclude "recorddl.h" #include "resource.h" #include using namespace std; class CDIB. public CObject { DECLARESERIAL(CDIB) public: CD1B0; ~CDIB();

BITMAPFNFO *GetBitmapInfoAddress()

{return m_pBMI;} void *GetBitsAddress()

{return m_pBits;} RGBQUAD *GetClrTabAddress()

{return (LPRGBQUAD)(((BYTE *)(m_pBMI)) + sizeof(BITMAPINFOHEADER));} int GetNumClrEntries();

BOOL Create(int width, int height, CPalette* pPal = NULL); BOOL Create(int width, int height,

HP ALETTE hPal);

BOOL Create(BITMAPrNFO* pBMI, BYTE* pBits, BOOL bOwnBits = FALSE); BOOL Create(BITMAPINFO* pPackedDTB); void *GetPixelAddress(int x, int y); int GetBitsPerPixelO

{return m_pBMI->bmiHeader.biBitCount;} virtual BOOL Load(const char* pszFileName = NULL); virtual BOOL Load(CFile* fp); virtual BOOL Load(WORD wResid); virtual BOOL Save(const char* pszFileName = NULL); virtual BOOL Save(CFile *fp);

virtual void Serialize(CArchive& ar); virtual void Draw(CDC *pDC, int x, int y); virtual void DrawfHDC hDC, int x, int y); virtual int GetWidthO (return DibWidth();} virtual int GetStorageWidth() (return StorageWidthQ;} virtual int GetHeight() (return DibHeight();} virtual BOOL MapColorsToPalette(CPalette *pPal); virtual BOOL MapColorsToPalette(HPALETTE hPal); virtual void GetRect(RECT* pRect);

virtual void CopyBits(CDIB* pDIB, int xd, int yd,int w, int h, int xs, int ys,COLORREF

clrTrans = OxFFFFFFFF);

virtual void StretchBits(CDIB* pDIB, int xd, int yd.int wd, int hd, int xs, int ys, int ws,

int hs,COLORREF clrTrans = OxFFFFFFFF);

Характеристики

Список файлов ВКР

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6451
Авторов
на СтудИзбе
305
Средний доход
с одного платного файла
Обучение Подробнее