Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi 2

Модерирует : ShIvADeSt

ShIvADeSt (22-03-2007 02:18): http://forum.ru-board.com/topic.cgi?forum=33&topic=8142  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100

   

ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Продолжение темы http://forum.ru-board.com/topic.cgi?forum=33&topic=3647&start=2020#lt
Внимание, все большие куски кода (более 5 строк) оформляем в тег [more] дабы уменьшить размер поста.

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 01:52 20-04-2006 | Исправлено: ShIvADeSt, 02:02 30-06-2006
Jokerjar



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Все мы знаем программу Winamp. Так вот, в ее настройках есть вкладка "вывод", в ней - "DirectSound Output". У этой штуковины, в свою очередь, тоже есть настройки. Так вот, на вкладке "fading" есть 5 параметров (on start, on pause/stop) и т.д. Необходимо написать программу, которая бы, скажем, при нажатии на кнопку отключала все эти 5 параметров, а при повторном нажатии - опять включала. У меня есть список сообщений, которых можно послать винампу, но ничего подходящего я не нашел. Поэтому прошу помощи

Всего записей: 591 | Зарегистр. 22-03-2006 | Отправлено: 03:26 27-10-2006
RayZ



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Jokerjar,  а может проще будет передавать управление WaveOut, и потом обратно DirectSound Output?

Всего записей: 381 | Зарегистр. 10-04-2002 | Отправлено: 04:40 27-10-2006
Jokerjar



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
RayZ, возможно. Это нужно не мне, человек работает в ресторане диджеем типо, надо по несколько раз менять эти настройки, а они глубоковато находятся, да еще и пять штук сразу.
 
Ну а как тогда реальизовать передачу управления? В API сообщениях, которые поддерживает винамп ни того, ни другого я не нашел...
 
Да, я нашел, где хранятся эти настройки. Следовательно мне всего лишь надо уведомить как то винамп перечитать их. Но как? Похожего сообщения тоже нет

Всего записей: 591 | Зарегистр. 22-03-2006 | Отправлено: 07:38 27-10-2006
ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Jokerjar

Цитата:
Да, я нашел, где хранятся эти настройки. Следовательно мне всего лишь надо уведомить как то винамп перечитать их. Но как? Похожего сообщения тоже нет

Плагин апи отдельная песня, так напрямую с плагинами работать нельзя. Есть подозрение, что придется писать собственный плагин, который позволит это делать (плагинам можно некоторые вещи друг с другом делать) одно время просматривал список сообщений, у плагинов их больше. Но так же возможно, что нельзя это вообще сделать, если в винампе все таки, подобные вещи не предусмотрены для всех дейтсвий плагинов.
ЗЫ. лучше это сделать отдельной темой, ибо все таки довольно таки специфическая тема.

----------
И создал Бог женщину... Существо получилось злобное, но забавное...

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 08:59 27-10-2006
Andysoft3C

Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
привет всем.
Никто не знает как можно преобразовать hex  в real
т.е.
 
я получаю с Com порта последовательность байтов
например 4B3B01AEA2 как это перевести в вещественное число

Всего записей: 53 | Зарегистр. 07-08-2006 | Отправлено: 10:38 27-10-2006
HOUPE

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо всем кто поучаствовал в моей проблеме.
Время запроса составляет 1 сек, время загрузки окна проги 2 сек. Глазу конечно не очень нравится, но все равно лучше чем было раньше.

Всего записей: 54 | Зарегистр. 15-08-2006 | Отправлено: 10:52 27-10-2006
vladk1973



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Andysoft3C
Может этот топик натолкнет
http://www.vbnet.ru/forum/show.aspx?id=15315

Всего записей: 674 | Зарегистр. 23-03-2005 | Отправлено: 10:55 27-10-2006
OdesitVadim



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
HOUPE
Добавь ещё одно окошко с прогресс баром и надписью "секундочку".
Хоть это и притормозит программу, но визуально для пользователя ускориться. А если анимашку красивую прицепить, то вообще запрос будет "моментально" выполнятся

----------
Press any key to continue or any other key to exit
Пишите так, чтобы не было стыдно за нобелевскую премию.

Всего записей: 1568 | Зарегистр. 19-09-2003 | Отправлено: 11:04 27-10-2006
RayZ



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Andysoft3C, стандарт IEEE754?
 

Код:
 
var    
  mysingletemp:integer;
  mysinglep:PSingle;
  mysingle:single;
begin      
  mysingletemp:=$43CC70AC;  
  mysinglep:=@mysingletemp;  
  mysingle:=mysinglep^;  
  floattostr(mysingle);  
end;  
 

 
eh?

Всего записей: 381 | Зарегистр. 10-04-2002 | Отправлено: 11:23 27-10-2006
vladk1973



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
RayZ

Цитата:
mysingletemp:=$43CC70AC;  

Не понял, вы как переменную то будете переводить ?

Всего записей: 674 | Зарегистр. 23-03-2005 | Отправлено: 11:29 27-10-2006
dene14



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Подскажите пожалуйста как сделать так, чтобы не убирались ничего не значащие нули в целом числе...
 
Вот на всякий случай код модуля:
Подробнее...

Всего записей: 287 | Зарегистр. 06-04-2005 | Отправлено: 11:55 27-10-2006 | Исправлено: dene14, 18:26 27-10-2006
RayZ



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
vladk1973, то есть, как?  
 
все приведения в памяти и происходят.
(hex) mysingletemp -> (float) mysingle.  
 

Код:
 
// подставляем соответственно значение в реверснутое hex  
function hex2float(mysingletemp : integer): String;
var    
  mysinglep:PSingle;  
  mysingle:single;  
begin      
  mysinglep:=@mysingletemp;
  mysingle:=mysinglep^;
  return floattostr(mysingle);
end;  
 

 
если надо, возвращаем напрямую во float, еще раз тупо конвертнув...
а еще проще - на асме. Там вообще все понятно.
 
почитай про IEEE.
Вот тут очень неплохо так разложено...
http://babbage.cs.qc.edu/IEEE-754/

Всего записей: 381 | Зарегистр. 10-04-2002 | Отправлено: 12:07 27-10-2006 | Исправлено: RayZ, 12:15 27-10-2006
Andysoft3C

Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
RayZ
стандарт IEEE754?
Честно говоря незнаю, выдает эл. счетчик Меркурий 230
 
Add
 
Что-то не сходится
A1. Это данные поступающие из порта
3C01430D  
3C01500F
3C016E11
A2
A7009946
A7007947
A7006D48
 
A1. Показания прибора
20712,874 (так перевела функция 0,00788952130824327)
..
A2.
10962,63 (так перевела функция -1,78466580909634E-15)

Всего записей: 53 | Зарегистр. 07-08-2006 | Отправлено: 12:37 27-10-2006 | Исправлено: Andysoft3C, 12:43 27-10-2006
vortex0220



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
Если, твое, то так:
 
procedure TForm1.Button1Click(Sender: TObject);  
var  
  ProcessID: DWORD;  
  ProcessHandle: THandle;  
  ThreadHandle: THandle;  
begin  
  ProcessID := GetCurrentProcessID;  
  ProcessHandle := OpenProcess(PROCESS_SET_INFORMATION,  
    false, ProcessID);  
  SetPriorityClass(ProcessHandle, REALTIME_PRIORITY_CLASS);  
  ThreadHandle := GetCurrentThread;  
  SetThreadPriority(ThreadHandle, THREAD_PRIORITY_TIME_CRITICAL);  
end;
 
По поводу хинта, я делаю вот так
 .  

 
 
что то не получилось

Всего записей: 96 | Зарегистр. 12-07-2004 | Отправлено: 13:29 27-10-2006
RomanTim

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
vortex0220
А если так попробовать:
  if not SetPriorityClass(GetCurrentProcess, HIGH_PRIORITY_CLASS) then
    ShowMessage('SetPriorityClass error: '+IntToStr(GetLastError));
  if not SetThreadPriority(GetCurrentThread, THREAD_PRIORITY_HIGHEST) then
    ShowMessage('SetThreadPriority error: '+IntToStr(GetLastError));
 
dene14
Ты бы хоть в листинге комментарием отметил - в каком месте у тебя нули "убираются", что бы это ни значило.
Если при преобразовании в строку - то смотри в сторону функции Format, а вообще формулируй вопросы более внятно и без    текста всей программы - не так много мазохистов, котрым нравится лопатить чужой код

Всего записей: 375 | Зарегистр. 11-09-2003 | Отправлено: 15:06 27-10-2006 | Исправлено: RomanTim, 15:16 27-10-2006
vortex0220



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
RomanTim
А если так попробовать:
  if not SetPriorityClass(GetCurrentProcess, HIGH_PRIORITY_CLASS) then
    ShowMessage('SetPriorityClass error: '+IntToStr(GetLastError));
  if not SetThreadPriority(GetCurrentThread, THREAD_PRIORITY_HIGHEST) then
    ShowMessage('SetThreadPriority error: '+IntToStr(GetLastError));  
 
Мне не нужно менять приоритет своего приложения...
а нужно запустить внешнюю программу с определенным приоритетом.

Всего записей: 96 | Зарегистр. 12-07-2004 | Отправлено: 15:39 27-10-2006
RostY



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vortex0220
Запускай через CreateProcess и указывай при этом приоритет:
dwCreationFlags  parameter also controls the new process's priority class...

Всего записей: 387 | Зарегистр. 11-01-2006 | Отправлено: 15:47 27-10-2006 | Исправлено: RostY, 15:51 27-10-2006
vortex0220



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
RostY  
Запускай через CreateProcess и указывай при этом приоритет:
dwCreationFlags  parameter also controls the new process's priority class...
 
Запускается со средним приоритетом.... не могу ни как изменить

Всего записей: 96 | Зарегистр. 12-07-2004 | Отправлено: 16:06 27-10-2006
goodwen



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Всем привет.  
На форме есть компонент XPManifest1 а также компонент RadioGroup1. Как освободить  RadioGroup от влияния XPManifest1 ? Тесть  чтоб радиогруп не был в стиле XP но при этом все остальные компоненты на форме  были.

Всего записей: 243 | Зарегистр. 09-04-2006 | Отправлено: 17:29 27-10-2006
Jokerjar



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
goodwen, помойму, так нельзя. Используй альтернативные компоненты, например Vcl Skin. Классная штука, можешь посмотреть - вот прога с использованием этого компонента

Всего записей: 591 | Зарегистр. 22-03-2006 | Отправлено: 17:44 27-10-2006
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi 2
ShIvADeSt (22-03-2007 02:18): http://forum.ru-board.com/topic.cgi?forum=33&topic=8142


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru