Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> help to convert code from c# to delphi 
:(
    Опции темы
muratboy31
Дата 24.12.2010, 10:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 7.1.2010

Репутация: нет
Всего: нет



i found something and tried to play with it little bit but it didnt actually work... what am i doing wrong here ?

Цитата

Uses Axctrls;

Procedure TInterfaceStream.LoadFromIStream(Source : IStream);
var
  Adapt : TOLEStream;
  Buff : Byte;
  I : Integer;
begin
ADapt := TOLEStream.Create(Source);
Adapt.Position := 0;
Self.Clear;
Self.Position := 0;
For I := 0 to Adapt.Size do
  begin
    Adapt.Read(Buff, 1);
    Self.Write(Buff, 1);
  end;
Self.Position := 0;
end;

Function TInterfaceStream.GetIStream : IStream;
var
  Adapt : TStreamAdapter;
  tPos : Int64;
begin
Adapt := TStreamAdapter.Create(Self);
Adapt.Seek(0, 0, tPos);
Result := Adapt as IStream;
end;



procedure TForm1.Button1Click(Sender: TObject);
var
  Server : ISampleCOMObj;
  temp : IStream;
  ResultStream : TInterfaceStream;
begin
Server := CreateCOMObject(Class_TSampleCOMObj) as ISampleComObj;
temp := Server.method1;
ResultStream := TinterfaceStream.Create;
ResultStream.Clear;
resultStream.Position := 0;
resultstream.LoadFromIStream(Temp);
///play temp here
end;


Это сообщение отредактировал(а) muratboy31 - 25.12.2010, 21:04
PM MAIL   Вверх
cat512
Дата 24.12.2010, 13:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 438
Регистрация: 20.3.2007

Репутация: 7
Всего: 15



Код

var
   Req: OleVariant;
   Stream: TOleStream;
begin
   Req := CreateOleObject('WinHttp.WinHttpRequest.5.1');
   Req.Open('GET', Uri, false);
   Req.Send(null);
   Stream := TOleStream.Create(IUnknown(Req.ResponseStream) as IStream);
   try
  //do something
   finally
     stream.free;
   end;
end;

PM MAIL   Вверх
huismori
Дата 24.12.2010, 15:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 125
Регистрация: 19.1.2010

Репутация: нет
Всего: нет



nomar media palyer wouldny play it i think beacuase it is stream no ?

Это сообщение отредактировал(а) huismori - 24.12.2010, 15:48
PM MAIL   Вверх
muratboy31
Дата 24.12.2010, 15:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 7.1.2010

Репутация: нет
Всего: нет



no it doesnt play it. i tried but i also this didnt work !!!

altough i stored it in to memory stream i couldnt make it to play !!!
it is saying " incompitable type tmemorystream and pwidechar "

Код

procedure TForm1.Button1Click(Sender: TObject);
var
  Req: OleVariant;
  Stream: TOleStream;
  Sound:tmemorystream;
begin
   Req := CreateOleObject('WinHttp.WinHttpRequest.5.1');
   Req.Open('GET', Uri, false);
   Req.ResponseStream;

  Stream := TOleStream.Create(IUnknown(Req.ResponseStream) as IStream);
   try
   Sound.LoadFromStream(Stream);
   Win32Check(PlaySound(Sound, 0, SND_SYNC or SND_MEMORY));
   finally
     stream.free;
     Sound.Free;
   end;
end;


Это сообщение отредактировал(а) muratboy31 - 25.12.2010, 21:04
PM MAIL   Вверх
cat512
Дата 24.12.2010, 16:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 438
Регистрация: 20.3.2007

Репутация: 7
Всего: 15



Do you look carefully what i write you???
There is a line
Код

   Req.ResponseStream;

in your code which doesn't need to be there. And this
Код

Req.Send(null);

line must be instead of that line.
What is PlaySound?
PM MAIL   Вверх
huismori
Дата 24.12.2010, 16:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 125
Регистрация: 19.1.2010

Репутация: нет
Всего: нет



Did you find a component to plat stream ?

Это сообщение отредактировал(а) huismori - 24.12.2010, 16:17
PM MAIL   Вверх
muratboy31
Дата 24.12.2010, 16:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 7.1.2010

Репутация: нет
Всего: нет



MMSystem unit attemps to plays waw files thats why i wanted to try it...

Код

Win32Check(PlaySound(Sound, 0, SND_SYNC or SND_MEMORY));


i searched for a component to play stream but non seemed to work with delphi 2010 !!!
PM MAIL   Вверх
cat512
Дата 24.12.2010, 16:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 438
Регистрация: 20.3.2007

Репутация: 7
Всего: 15



you need to correct your program as i have pointed you and to try again
PM MAIL   Вверх
muratboy31
Дата 24.12.2010, 18:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 7.1.2010

Репутация: нет
Всего: нет



can u please tell me how i can play the stream ? i really tried to find components for it for no luck !!!
PM MAIL   Вверх
cat512
Дата 25.12.2010, 00:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 438
Регистрация: 20.3.2007

Репутация: 7
Всего: 15



Show me a text of your program
PM MAIL   Вверх
muratboy31
Дата 25.12.2010, 00:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 7.1.2010

Репутация: нет
Всего: нет



what do u mean by text !!! do u want to c the codes ?

Код

procedure TForm1.Button1Click(Sender: TObject);
var
   Req: OleVariant;
   Stream: TOleStream;
begin
   Req := CreateOleObject('WinHttp.WinHttpRequest.5.1');
   Req.Open('GET', Uri, false);
   Req.Send(null);
   Stream := TOleStream.Create(IUnknown(Req.ResponseStream) as IStream);
   try

  //how can i play the stream here

   finally
     stream.free;
   end;
end;





Это сообщение отредактировал(а) muratboy31 - 25.12.2010, 21:04
PM MAIL   Вверх
cat512
Дата 25.12.2010, 01:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 438
Регистрация: 20.3.2007

Репутация: 7
Всего: 15



Yes, the code. Very well, you correct it.
Now, you can try to do the following
Код

procedure TForm1.Button1Click(Sender: TObject);
const
  Uri: string = 'http://api.microsofttranslator.com/v2/Http.svc/Speak?appId=' + 'My IP Id' +
         '&text=' + 'I Love You' + '&language=' + 'en';
var
   Req: OleVariant;
   Stream: TOleStream;
   Mem: TMemoryStream;
begin
   Req := CreateOleObject('WinHttp.WinHttpRequest.5.1');
   Req.Open('GET', Uri, false);
   Req.Send(null);
   Stream := TOleStream.Create(IUnknown(Req.ResponseStream) as IStream);
   try

  //how can i play the stream here
      Mem := TMemoryStream.Create;
      try
        Mem.LoadFromStream(Stream);
        Mem.SaveToFile('MyFile.tmp');    
      finally
        Mem.Free;
      end;
      MediaPlayer.FileName := 'MyFile.tmp';
      MediaPlayer.Play;
   finally
     stream.free;
   end;
end;

PM MAIL   Вверх
muratboy31
Дата 25.12.2010, 10:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 7.1.2010

Репутация: нет
Всего: нет



thanks alot with ur helps cat512 but there is a problem
it doesnt play the file with media player !!!




Это сообщение отредактировал(а) muratboy31 - 25.12.2010, 18:50
PM MAIL   Вверх
cat512
Дата 25.12.2010, 15:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 438
Регистрация: 20.3.2007

Репутация: 7
Всего: 15



can you try to change the file exstension
PM MAIL   Вверх
muratboy31
Дата 25.12.2010, 18:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 7.1.2010

Репутация: нет
Всего: нет



ok this problem acurs because of tmedia player but it works with windowsmedia player ...

Это сообщение отредактировал(а) muratboy31 - 25.12.2010, 18:16
PM MAIL   Вверх
Страницы: (3) Все 1 [2] 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0530 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.