Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Delphi


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Delphi

Выпуск № 652
от 16.11.2006, 16:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 407, Экспертов: 65
В номере:Вопросов: 6, Ответов: 7


Вопрос № 62108: Добрый вечер. У меня есть код, который копирует в string содержание чата (не знаю, правильно ли его помещать в string) procedure TMainPlugInForm.Button1Click(Sender: TObject); Var a: string; begin a :=TWebBrowse...
Вопрос № 62126: Как я могу вставить символ в активное окно системы. Примерно, как экранная клавиатура Windows....
Вопрос № 62137: Уважаемые знатоки! Вопрос к вопросу. Читая на форуме дискуссию по вопросу 62033 наткнулся на термин "мультимедий таймер". Что имеется ввиду? Откуда берут этот таймер? На вкладках компонентов в Delphi я его не нахожу....
Вопрос № 62153: Здравствуйте Эксперты!!! Я пишу курсовую работу с использованием DirectX (на Delphi 6). С графикой вроде разобрался, пока никаких проблем нет. Но вот со звуком… Никак не могу его проиграть. Я видел в Direct`e два модуля DirectSound и DirectMusic,...
Вопрос № 62170: Спасибо sir henry за ответ, и за кое-какие разъяснения ! Вообщем буду работать с WAVE-файлом, а значит прошу помочь разобраться с DirectSound`ом. (Далее мое предыдущее сообщение) Я пишу курсовую работу с использованием DirectX (на D...
Вопрос № 62178: Здравствуйте! Пример на Си перевожу для Дельфи. -------------------------------------------------------------------------------------- //Вот это - D3DXLoadMeshFromX ("bigtree.x", D3DXMESH_SYSTEMMEM, p_d3d_Device, NULL, NULL, NUL...

Вопрос № 62.108
Добрый вечер.

У меня есть код, который копирует в string содержание чата (не знаю,
правильно ли его помещать в string)

procedure TMainPlugInForm.Button1Click(Sender: TObject);
Var
a: string;
begin
a :=TWebBrowser(PlugInInterface.GetApplication.
FindComponent('GameForm').FindComponent('wb')).
OleObject.Document.frames.item(1).
Document.body.innerHTML;
end;

Текст копируется например вот такой:
<TEXTAREA id=holdtext style=""DISPLAY:" none"></TEXTAREA>
<DIV class=menu id=oMenu onmouseout=closeMenu(event)></DIV>
<DIV><FONT class=date id="19:22 [Cadet1] private [прищепка] Проверка связи" style=""CURSOR:" hand" onclick=top.AddText(top.EscPvtTo(this.id))>19:22</FONT> <FONT class=clr0><A ondblclick="return top.AddTo('Cadet1',1)" onclick="return top.AddTo('Cadet1')" href="file://mp.html#">[Cadet1]</A> <A class=p onclick="return top.AddTo('прищепка',1)" href="file://mp.html#">private [прищепка]</A> Проверка связи</FONT><BR></DIV>
<DIV><FONT class=date id="19:22 [Cadet1] private [Приколистка] Проверка связи снова" style=""CURSOR:" hand" onclick=top.AddText(top.EscPvtTo(this.id))>19:22</FONT> <FONT class=clr0><A ondblclick="return top.AddTo('Cadet1',1)" onclick="return top.AddTo('Cadet1')" href="file://mp.html#">[Cadet1]</A> <A class=p onclick="return top.AddTo('Приколистка',1)" href="file://mp.html#">private [Приколистка]</A> Проверка связи снова</FONT><BR></DIV>

Мне нужно отфильтровать и поместить в memo вот такое:
19:22 [Cadet1] private [прищепка] Проверка связи
19:22 [Cadet1] private [Приколистка] Проверка связи снова

Помогите пожалуйста.

С Уважением Анна

Отправлен: 10.11.2006, 19:27
Вопрос задал: Подлипная Анна николаевна (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Monah
Здравствуйте, Подлипная Анна николаевна!
Да, string в данном случае допустим.
Примерно так.

Приложение:

---------
festina lente

Ответ отправил: Monah (статус: 9-ый класс)
Ответ отправлен: 10.11.2006, 19:48
Оценка за ответ: 5
Комментарий оценки:
Большое спасибо, то что нужно

Отвечает: Sattar
Здравствуйте, Подлипная Анна николаевна!
Збережи s в текстовий файл c: ext.txt

Приложение:

Ответ отправил: Sattar (статус: 3-ий класс)
Ответ отправлен: 12.11.2006, 16:17


Вопрос № 62.126
Как я могу вставить символ в активное окно системы. Примерно, как экранная клавиатура Windows.
Отправлен: 10.11.2006, 22:39
Вопрос задал: Aslanov Ceyhun Yusif (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Melamed
Здравствуйте, Aslanov Ceyhun Yusif!
Да можете, воспользовавщись API функцией keybd_event;

Пример использования этой функции, взатый из MSDN привожу в приложении.

Приложение:

Ответ отправил: Melamed (статус: 7-ой класс)
Ответ отправлен: 11.11.2006, 00:47
Оценка за ответ: 3


Вопрос № 62.137
Уважаемые знатоки!
Вопрос к вопросу.
Читая на форуме дискуссию по вопросу 62033
наткнулся на термин "мультимедий таймер".
Что имеется ввиду?
Откуда берут этот таймер?
На вкладках компонентов в Delphi я его не нахожу.
Чем он отличается от обычного?
К сожалению я не могу задать вопрос там же (в рамках обсуждения),
не знаю как.
Отправлен: 11.11.2006, 01:55
Вопрос задал: Gwa (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: sir henry
Здравствуйте, Gwa!
Название несколько неудачное. Думаю, что назвали его так, потому что описание функции находится в модуле mmsystem.
Сей таймер предназначен для создания высокоточных задержек, в отличие от обычного, разрешение которого ограничивается 55 милисекундами. У этого таймера разрешение может быть и в 1 милисекунду.
Описание функции:
TimeSetEvent (Delay, Resolution: Uint; CallbackFunc: Pointer; UserData : Dword; Event: UInt) : hwnd;
Если функция сработала, то возвращает идентификатор таймера, который потом можно убить функцией TimeKillEvent().
Delay - задержка в милисекундах до вызова пользовательской функции;
Resolution - разрешение таймера в милисекундах. Чем меньше разрешение, тем больше загрузка процессора, учтите. :)
CallbackFunc - адрес пользовательской функции, которая вызывается при срабатывании таймера;
UserData - Ваши данные для этой функции;
Event - флаг:
TIME_ONESHOT - функция вызывается один раз,
TIME_PERIODIC - функция вызывается периодически.
Ответ отправил: sir henry (статус: Академик)
Россия, Красноярск
----
Ответ отправлен: 11.11.2006, 04:56
Оценка за ответ: 5


Вопрос № 62.153
Здравствуйте Эксперты!!!
Я пишу курсовую работу с использованием DirectX (на Delphi 6). С графикой вроде разобрался, пока никаких проблем нет. Но вот со звуком… Никак не могу его проиграть. Я видел в Direct`e два модуля DirectSound и DirectMusic, не знаю чем они отличаются ?!
Так вот, я хочу все процедуры обработки, инициализации звуковых интерфейсов «выкинуть» в отдельный модуль, а в главном просто вызывать процедуры открытия файла, воспроизведения и остановки. Подскажите, как это сделать, пожалуйста.

P.S.Желательно с исходником.
Отправлен: 11.11.2006, 07:43
Вопрос задал: Andy_Root (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: sir henry
Здравствуйте, Andy_Root!
Если говорить в общем, то DirectSound предназначен для воспроизведения и обработки звуков формата WAVE, а DirectMusic предназначен для синтеза звука, например используя стандарт MIDI.
Поэтому Вы для начала должны определится, с каким форматом Вы будете работать и тогда, исходя из этого, выбирете, что Вам использовать - DirectSound или DirectMusic.
Соответственно никто ни примеров ни советов Вам не даст, поскольку это разные вещи и Вы должны сначала определится, что будете использовать.
Ответ отправил: sir henry (статус: Академик)
Россия, Красноярск
----
Ответ отправлен: 11.11.2006, 08:41


Вопрос № 62.170
Спасибо sir henry за ответ, и за кое-какие разъяснения !
Вообщем буду работать с WAVE-файлом, а значит прошу помочь разобраться с DirectSound`ом.

(Далее мое предыдущее сообщение)
Я пишу курсовую работу с использованием DirectX (на Delphi 6). С графикой вроде разобрался, пока никаких проблем нет. Но вот со звуком… Никак не могу его проиграть. Я видел в Direct`e два модуля DirectSound и DirectMusic, не знаю чем они отличаются ?!
Так вот, я хочу все процедуры обработки, инициализации звуковых интерфейсов «выкинуть» в отдельный модуль, а в главном просто вызывать процедуры открытия файла, воспроизведения и остановки. Подскажите, как это сделать, пожалуйста.

P.S.Желательно с исходником.
Отправлен: 11.11.2006, 12:03
Вопрос задал: Andy_Root (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: sir henry
Здравствуйте, Andy_Root!
Переписывать с инета я не буду, все-таки материал по DirectSound довольно объемный, просто дам несколько ссылок:
http://read.excode.ru/art2790p5.html - относительно небольшой примерчик по загрузке WAV-файла в буфер DS.
http://develab.narod.ru/faq/06.htm - здесь есть пример 3D звука.
Ответ отправил: sir henry (статус: Академик)
Россия, Красноярск
----
Ответ отправлен: 11.11.2006, 13:26


Вопрос № 62.178
Здравствуйте!
Пример на Си перевожу для Дельфи.
--------------------------------------------------------------------------------------
//Вот это - D3DXLoadMeshFromX ("bigtree.x", D3DXMESH_SYSTEMMEM, p_d3d_Device, NULL, NULL, NULL, &p_d3dx_mesh);
// в это -
p_d3dx_mesh: ID3DXMESH;
p_d3d_Device: IDIRECT3DDEVICE8;
D3DXLoadMeshFromX ('bigtree.x', D3DXMESH_SYSTEMMEM, p_d3d_Device, NiL,[__курсор тут__] NiL, NiL, p_d3dx_mesh);
--------------------------------------------------------------------------------------
Delphi 2005 пишет:
[Error] Unit2.pas(62): E2033 Types of actual and formal var parameters must be identical
курсор мигает где я указал.

И вот на всякий случай, выдрал из D3DX8.pas:

function D3DXLoadMeshFromX; external d3dx8dll;

function D3DXLoadMeshFromX(const pFilename : PAnsiChar; const Options : LongWord; const pD3D : IDirect3DDevice8; out ppAdjacency, ppMaterials : ID3DXBuffer; out pNumMaterials : LongWord; out ppMesh: ID3DXMesh): HResult; stdcall;
---------------------------------------------------------
Не понимаю как исправить.
Отправлен: 11.11.2006, 14:16
Вопрос задал: Yadovit (статус: 3-ий класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 6)

Отвечает: Jadd
Здравствуйте, Yadovit!
К сожалению, я не очень знаю D3D. Рискну предложить (исходя из описания прототипа функции), в предпоследнем параметре вместо nil проставить 0, т.к. там требуется не указатель передать, а вполне конкретное LongWord. К сожалению, не всегда можно под чистую перевести сишные прототипы на паскаль и не везде в паскале nil=0.

Успехов. Надеюсь, помог.
---------
Если в сердце дверь закрыта, нужно в печень постучаться
Ответ отправил: Jadd (статус: Профессионал)
Адрес: Санкт-Петербург
WWW: http://www.sport-diary.ru
ICQ: 28260749
----
Ответ отправлен: 11.11.2006, 14:46


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.37 от 04.10.2006
Яндекс Rambler's Top100

В избранное