Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.01.16;
Скачать: [xml.tar.bz2];

Вниз

помогите перевести на 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.036 c
1-1103702835
Lister
2004-12-22 11:07
2005.01.16
Программная настройка компонента


8-1096434448
_Дельфин_
2004-09-29 09:07
2005.01.16
Как проиграть видео-файл?


3-1103017628
anatolyk
2004-12-14 12:47
2005.01.16
Ускорить получение данных


1-1104601479
Cheguevara
2005-01-01 20:44
2005.01.16
Как заменить цвет пикселя?


14-1103929672
OneFragLeft
2004-12-25 02:07
2005.01.16
Курс молодого бойца (читать - программиста)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский