C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Questions, У меня 3 срочных вопроса!
** Udman
  Отправлено: 28.10.2003, 23:33


Не зарегистрирован







1) При запуске проги, через MediaPlayer1, начинает проигрываться МИДИ файл. Как зделать так, чтобы при окончании проигрывания миди файла, он начинал играть снова. Тойсть проиграл он и опять начал играть. Типа "loop(петля)". Вообщим чтобы играл бесконечно! Пока я ни нажму кнопку "СТОП". Только плз... не пишите мне примеры на *.wav
файлы или че что-то. Мне надо именно MediaPlayer1 и МИДИ.
2) Вот допустим есть у меня Memo1. Там есть определенный текст. Как можно найти необходимое слово в этом тексте?
Пример:
"Сегодня я програмирую на Билдере, а вчера програмировал на Паскале."
Вот у меня есть Edit1, Button1, Memo1 и Memo2. В Memo1 вот этот текст тот что вверху в примере. Memo2, Edit1 пусты. Допустим ввел я слово "Билдере" в Edit1. Нажал Button1 и начался поиск слова "Билдере" в Memo1. Когда находит это слово, то выводит его в Memo2. Если 2 слова "Билдере", то в Memo2 выведиться 2 слова "Билдере".
3) Как делать справку. Такую типа как у Виндовс. С расширением *.hlp. Или в какой проге эта справка делаеться?

Народ!!! Я Вам очень благодарен за любую помощь. Кто может или знает, помогите плз..........! cool.gif
Aptem
Отправлено: 29.10.2003, 17:12


Мастер участка

Группа: Участник
Сообщений: 349



Отвечаю на 2 вопрос:

Есть такое свойство Memo -> Lines, он представлено типом TStrings. То есть это массив строк. Я делаю так:

1) Загоняю все строки Memo в одну строку:
CODE
 
 for ( int i = 0; i < Memo1 -> Lines -> Count; i++ )
   str = str + Memo1 -> Lines -> Strings[i];


2) А потом ищу нужные мне слова и символы с помощью функций Pos и SubString.

Если ничего не понял, то напиши на мыло — вышлю исходники!
Вот мыло: artymail@mail.ru
Vitaly
Отправлено: 29.10.2003, 19:34


Не зарегистрирован







QUOTE (Aptem @ 29/10/2003, 18:14)
1) Загоняю все строки Memo в одну строку:
CODE
 
 for ( int i = 0; i < Memo1 -> Lines -> Count; i++ )
   str = str + Memo1 -> Lines -> Strings[i];


Memo1->Lines->Text — это и есть содержимое Memo в виде одной строки AnsiString
Vitaly
Отправлено: 29.10.2003, 19:39


Не зарегистрирован







QUOTE (** Udman @ 29/10/2003, 00:35)
3) Как делать справку. Такую типа как у Виндовс. С расширением *.hlp. Или в какой проге эта справка делаеться?

<каталог_с_билдером>\Help\Tools — там лежит Microsoft Help Workshop
Admin
Отправлено: 29.10.2003, 21:24


Владимир

Группа: Администратор
Сообщений: 1190



1 В событии onNotify проверяете его состояние,
и если он проигрывание файла закончилось,
запускаете его снова, установив MediaPlayer1->Notify = true;


2 AnsiString SearchString = Edit1->Text;
int n = Memo1->Lines->Text.Pos(SearchString);
Получаем номер позиции (с 1) или 0 если не найдено.

3 Ответили.

Вернуться в Вопросы программирования в C++Builder