Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.01.16;
Скачать: CL | DM;

Вниз

помогите перевести на Delphi   Найти похожие ветки 

 
барбос   (2004-12-26 00:06) [0]

помогите перевести C на делфи.
mmioInstallIOProc(mmioFOURCC("M","R","E","S"),(LPMMIOPROC)IOProc,MMIO_INSTALLPROC | MMIO_GLOBALPROC);


 
Gero ©   (2004-12-26 00:56) [1]

mmioInstallIOProc(mmioFOURCC("M","R","E","S"), LPMMIOPROC(IOProc), MMIO_INSTALLPROC or MMIO_GLOBALPROC);

А вобще странно, что переводишь всего одну строчку…


 
барбос   (2004-12-26 01:35) [2]

mmioFOURCC - ругаеться что нет такого.
А вообще то если не трудно переведите это:

#include <vcl.h>
#pragma hdrstop

#include "main.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------

LRESULT CALLBACK IOProc(LPMMIOINFO lpMMIOInfo, UINT uMessage, LPARAM lParam1, LPARAM lParam2);
__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner)
{ mmioInstallIOProc(mmioFOURCC("M","R","E","S"),(LPMMIOPROC)IOProc,MMIO_INSTALLPROC | MMIO_GLOBALPROC);
 HRSRC hres=FindResource(HInstance,MAKEINTRESOURCE(1),"AVI");
 HGLOBAL hGlob=LoadResource(HInstance,hres);
 void *data=LockResource(hGlob);        
 int size=SizeofResource(HInstance,hres);      
 AnsiString fn=".MRES+0x"+IntToHex((int)data,8)+"?0x"+IntToHex(size,8);
 MediaPlayer->FileName=fn; eName->Text=fn; MediaPlayer->Open();
}
//---------------------------------------------------------------------------

// This IOProc accepts filenames with element specifications +addr?size, where
// both addr and size must be 10-character numbers in the form 0x00000000
// It would have been easier simply to use the MEM predefined IO type. But that
// would have required that we make the call to mmioOpen ourselves. Our present
// solution integrates a lot more easily with the TMediaPlayer.
// Our IOProc is very limited. It only reads, and does no checking.
LRESULT CALLBACK IOProc(LPMMIOINFO lpMMIOInfo, UINT uMessage, LPARAM lParam1, LPARAM lParam2)
{ switch (uMessage)
 { case MMIOM_OPEN:
   { lpMMIOInfo->lDiskOffset = 0;
     AnsiString fn=AnsiString((char*)lParam1);
     AnsiString saddr=fn.SubString(7,10);
     AnsiString ssize=fn.SubString(18,10);
     lpMMIOInfo->adwInfo[0]=saddr.ToInt();
     lpMMIOInfo->adwInfo[1]=ssize.ToInt();
     return 0;
   }
   case MMIOM_CLOSE: return 0;
   case MMIOM_READ:
   { char *data=(char*)lpMMIOInfo->adwInfo[0];
     memcpy((void *)lParam1,data+lpMMIOInfo->lDiskOffset,lParam2);
     lpMMIOInfo->lDiskOffset += lParam2;
     return (lParam2);
   }
   case MMIOM_SEEK:
   { switch (lParam2)
     { case 0: lpMMIOInfo->lDiskOffset = lParam1; break;
       case 1: lpMMIOInfo->lDiskOffset += lParam1; break;
       case 2: lpMMIOInfo->lDiskOffset = lpMMIOInfo->adwInfo[1] - 1 - lParam1; break;
     }
     return lpMMIOInfo->lDiskOffset;
   }
   default:  return -1; // Unexpected msgs.  For instance, we do not process MMIOM_WRITE in this sample
 }
}


Этот код по идее позволяет проигрывать avi с ресурса.


 
барбос   (2004-12-26 02:40) [3]

вот только эту строчку не могу понять.

LRESULT CALLBACK IOProc(LPMMIOINFO lpMMIOInfo, UINT uMessage, LPARAM
  lParam1, LPARAM lParam2)


 
Johnmen ©   (2004-12-26 02:57) [4]

>барбос  (26.12.04 01:35) [2]
>mmioFOURCC - ругаеться что нет такого.

Пошли его на х.. ! Есть такое ! Да и вообще, он тебе - не указ !


 
AGAMEMNUM   (2004-12-26 03:01) [5]

LRESULT - DWORD вобщем...
CALLBACK - означает что обработчик события
LPMMIOINFO - структура какая-то
UINT - unsigned int
LPARAM - тоже вобщем DWORD

чего непонятного то?


 
барбос   (2004-12-26 15:50) [6]

memcpy((void *)lParam1,data+lpMMIOInfo->lDiskOffset,lParam2);


Извиняюсь, ещё эту строку.



Страницы: 1 вся ветка

Текущий архив: 2005.01.16;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.044 c
1-1103581432
GanibalLector
2004-12-21 01:23
2005.01.16
PCHAR


4-1101408211
TButton
2004-11-25 21:43
2005.01.16
Создать ярлык


14-1104385235
Маг Похмеляйнен
2004-12-30 08:40
2005.01.16
LOL - Поединок в стиле Matrix


1-1104167904
markers
2004-12-27 20:18
2005.01.16
Создание формы


1-1102341741
MouseAlexander
2004-12-06 17:02
2005.01.16
Проблема с ловушками...