Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Мультимедиа
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 16.02.2014, 21:04
Noooob Noooob вне форума
Прохожий
 
Регистрация: 24.12.2013
Сообщения: 38
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию "Понимание" команд

Здравствуйте, подскажите возможно ли чтобы я говорю в микрофон а программа понимала команды?
Ответить с цитированием
  #2  
Старый 16.02.2014, 21:56
AlexSku AlexSku вне форума
Специалист
 
Регистрация: 07.05.2007
Адрес: Москва
Сообщения: 884
Репутация: 21699
По умолчанию

Здесь это обсуждалось.
Ответить с цитированием
  #3  
Старый 20.02.2014, 20:21
kaituk kaituk вне форума
Прохожий
 
Регистрация: 20.02.2014
Сообщения: 13
Версия Delphi: Delphi
Репутация: 10
По умолчанию

Теоретически да))(зачастую такая функция в телефонах
но я еще не встречал такого))
Ответить с цитированием
  #4  
Старый 21.05.2014, 12:33
Dasha1986 Dasha1986 вне форума
Прохожий
 
Регистрация: 20.05.2014
Сообщения: 5
Версия Delphi: delphi 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от AlexSku
Здесь это обсуждалось.

А как сделать, чтобы можно было добавлять команды не в код:

Код:
case dwID of
   1: fForm.Color := clRed;
   2: fForm.Color := clGreen;
   3: fForm.Color := clBlue;
 end

а в какой нибудь компонент, в мемо или в стринг грид и уже из него подставлять команды. Я так поняла нужно использовать цикл?
Ответить с цитированием
  #5  
Старый 21.05.2014, 13:35
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Да, циклом, но всё равно в код, из мемо примерно так
Код:
...
for i := 0 to Memo.Lines.Count -1 do
case StrToInt(Memo.Lines[i]) of ..
...
новые команды забиваются и выполняются немного по-другому, раздельно
Ответить с цитированием
  #6  
Старый 21.05.2014, 13:50
Dasha1986 Dasha1986 вне форума
Прохожий
 
Регистрация: 20.05.2014
Сообщения: 5
Версия Delphi: delphi 7
Репутация: 10
По умолчанию

Значит я добавлю два мемо, в один запишу:

clRed
clGreen
clBlue
........

а в другой:
Red
Green
Blue
......
и запишу в коде так
вместо

Код:
AddCommand(1, 'Red', 'FormColor', '');
AddCommand(2, 'Green', 'FormColor', '');
AddCommand(3, 'Blue', 'FormColor','');

это

Код:
for i:=0 to  Memo2.Items.Count -1  do
AddCommand(i, 'Memo2.Lines[i]', 'FormColor','');

вместо

Код:
case dwID of
    1: fForm.Color := clRed;
    2: fForm.Color := clGreen;
    3: fForm.Color := clBlue;
  end

Код:
for i := 0 to Memo1.Lines.Count -1 do
if StrToInt(Memo1.Lines[i]) then

fForm.Color := Memo1.Lines[i];

то есть, хочу чтобы оно циклом добавлялось нужным цветом.
Ответить с цитированием
  #7  
Старый 21.05.2014, 13:58
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Такое
Код:
...
fForm.Color := Memo1.Lines[i];
...
не прокатит - цвет это не стринг, нужно преобразование с помощью StringToColor
Ответить с цитированием
  #8  
Старый 21.05.2014, 14:28
Dasha1986 Dasha1986 вне форума
Прохожий
 
Регистрация: 20.05.2014
Сообщения: 5
Версия Delphi: delphi 7
Репутация: 10
По умолчанию

Сделала так, только не работает, выдает один цвет, голубой(((

Код:
for i := 0 to Form1.Memo2.Lines.Count -1 do
begin
if dwID = StrToInt(Form1.Memo2.Lines[i]) then

fForm.Color := StringToColor(Form1.Memo2.Lines[i]);
end;

Код:
for i:=0 to  Memo1.Lines.Count -1  do
begin
AddCommand(i, Memo1.Lines[i], 'FormColor','Change form color to red');
end;
Ответить с цитированием
  #9  
Старый 21.05.2014, 14:34
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Цитата:
function StringToColor(S: string): TColor;

Данная функция преобразует 'clRed' или '$0000FF' во внутреннее значение цвета...
проверяйте с помощью ColorToString

З.Ы. Небесный говорите лишь один? Возможно у вас подключен (или был) манифест, попробуйте удалить его упоминание ещё и из uses

Последний раз редактировалось Alegun, 21.05.2014 в 14:41.
Ответить с цитированием
  #10  
Старый 21.05.2014, 14:55
Dasha1986 Dasha1986 вне форума
Прохожий
 
Регистрация: 20.05.2014
Сообщения: 5
Версия Delphi: delphi 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от Alegun
проверяйте с помощью ColorToString

З.Ы. Небесный говорите лишь один? Возможно у вас подключен (или был) манифест, попробуйте удалить его упоминание ещё и из uses

мне кажется, что цикл выполняется не так как нужно.
Вложения
Тип файла: rar 16_VoiceCommand.rar (259.6 Кбайт, 4 просмотров)
Ответить с цитированием
  #11  
Старый 21.05.2014, 15:20
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Похоже он вообще крутится впустую, поскольку попытка сравнить dwID со строковым значением из мемо2 впоследствии передаваемым как определитель цвета приведёт к ошибке - надо сравнивать с просто i
Ответить с цитированием
  #12  
Старый 21.05.2014, 15:45
Dasha1986 Dasha1986 вне форума
Прохожий
 
Регистрация: 20.05.2014
Сообщения: 5
Версия Delphi: delphi 7
Репутация: 10
По умолчанию

Если сравнивать, то там нужно по номеру команды, то в i он выводит последний цвет, то есть в i идет общее количество строк, а не нужной.
Ответить с цитированием
  #13  
Старый 21.05.2014, 15:52
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Смотрите тогда где у вас лежит номер команды - а так все присходит как описано выше, обрабатывается одно и тоже значение
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 23:35.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter