Главная страница
    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.037 c
6-1098790899
vadfe
2004-10-26 15:41
2005.01.16
И опять idHTTP и Proxy


6-1098852987
Kniaz
2004-10-27 08:56
2005.01.16
Системное время на удаленной машине?


14-1104223573
Юзер
2004-12-28 11:46
2005.01.16
AutoCad


1-1103581432
GanibalLector
2004-12-21 01:23
2005.01.16
PCHAR


9-1096091575
4МО
2004-09-25 09:52
2005.01.16
Игра типа Contra(Dendy)





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский