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

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

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

ShIvADeSt (28-06-2009 02:10): Продолжение в http://forum.ru-board.com/topic.cgi?forum=33&topic=10477  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 101

   

Maks150988



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
все, поборол эту напасть. 15 поставил и все умещается. теперь хочется узнать почему не выводятся на печать имена элеметов и их ключи реестра. тупо поля пустые.

Всего записей: 836 | Зарегистр. 23-12-2006 | Отправлено: 22:00 26-06-2008
OdesitVadim



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
ну значит действительно пустые.

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

Всего записей: 1568 | Зарегистр. 19-09-2003 | Отправлено: 11:27 27-06-2008
Maks150988



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ммм... Ну допустим имеем текст, взятый из эдита:
 

Код:
 
Элемент : SRS Audio Sandbox
Команда : "C:\Program Files\SRS Labs\Audio Sandbox\srsssc.exe" /hideme
Размещение : HKEY_CURRENT_USER\..\Run
 

 
В итоге распечатывается:
 

Код:
 
Элемент : SRS Audio
Команда : "C:\Program Files\SRS Labs\Audio Sandbox\srsssc.exe" /hideme
Размещение :
 

 
Явно после нескольких пробелов текста нет...

Всего записей: 836 | Зарегистр. 23-12-2006 | Отправлено: 14:33 27-06-2008
OdesitVadim



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

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

Всего записей: 1568 | Зарегистр. 19-09-2003 | Отправлено: 15:44 27-06-2008
Maks150988



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Эх, ну ладно. Не велика проблема.
Теперь вот следующее. Неоходимо перевести код юнита Спектрума для плейера с VCL на API.
 
Подробнее...  
 
Ну надо избавиться от TBitmap.Create и Canvas. Получилось вот что:
 
Подробнее...  
 
То есть например есть
VisBuff := TBitmap.Create;
И стал:

Код:
 
  VisBuff := LoadImage(hInstance, 'название картинки', IMAGE_BITMAP, 0, 0, 0);
  VisBuffDC := CreateCompatibleDC(0);
  SelectObject(VisBuffDC, VisBuff);
  GetObject(VisBuff, sizeof(BITMAP), @BmpInfo);
  CreateBitmap32(BmpInfo.bmWidth, BmpInfo.bmHeight);
  BitBlt(BmpDC, 0, 0, BmpInfo.bmWidth, BmpInfo.bmHeight, VisBuffDC, 0, 0, SRCCOPY);
  DeleteObject(VisBuff);
  DeleteDC(VisBuffDC);
 

 
Неоходимо перевести весь код на Апи, но я не уверен что VisBuff := TBitmap.Create правильно перевел. Вот собственно надеюсь здесь помогут.

Всего записей: 836 | Зарегистр. 23-12-2006 | Отправлено: 17:07 27-06-2008
Maks150988



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ну или никто если не знает, то вопрос. Есть такой код:
 

Код:
 
    WM_PAINT :
      begin
        WndDC := BeginPaint(GetDlgItem(hApp, 1071), PS);
        GetWindowRect(GetDlgItem(hApp, 1071), r2);
        BASS_ChannelGetData(Stream, @fft, BASS_DATA_FFT1024);
        Rectangle(WndDC, 0, 0, r2.right - r2.left, r2.bottom - r2.top);
        for i := 1 to 256 do
          begin
            MoveToEx(WndDC, i, r2.bottom - r2.top, nil);
            LineTo(WndDC, i, (r2.bottom - r2.top) - round(fft[i] * (r2.bottom - r2.top) * i));
          end;
        EndPaint(GetDlgItem(hApp, 1071), PS);
      end;
 

 
Программа тормозит жутко и загружает процессор. Почему?

Всего записей: 836 | Зарегистр. 23-12-2006 | Отправлено: 10:19 29-06-2008
nhdrthsruyy

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ibquery1.SQL.Text:='Select*from XXX where ID='''+Edit1.Text+'''';  
 
что означают плюсы и множество одинарных кавычек?

Всего записей: 16 | Зарегистр. 05-06-2008 | Отправлено: 14:54 29-06-2008
Jokerjar79



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
nhdrthsruyy, плюсы - это конкатинация (соединение) строк. Со множеством ковычек все просто, '' - это апостраф внутри строковой переменной, остальные - это начало/конец строки. То-есть, если Edit1.Text = 'Hello', то libquery1.SQL.Text примет вид Select*from XXX where ID='hello'

Всего записей: 710 | Зарегистр. 08-09-2007 | Отправлено: 16:36 29-06-2008
nhdrthsruyy

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Jokerjar79
спасибо

Всего записей: 16 | Зарегистр. 05-06-2008 | Отправлено: 21:18 29-06-2008
ASE_DAG



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Посоветуйте, пожалуйста.
Каким образом можно перехватить перемещение курсора Windows, при условии, что форма приложения не активна? Т.е. возникает ли какое-либо событие при перемещении курсора не над формой?

----------
Dmitry Alexandrov <321942@gmail.com> [PGP] [BTC]

Всего записей: 9272 | Зарегистр. 12-05-2005 | Отправлено: 23:07 29-06-2008
Frodo_Torbins

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ASE_DAG
По-моему тут надо ставить хук (hook, глобальный перехватчик).

Всего записей: 2319 | Зарегистр. 24-05-2007 | Отправлено: 00:11 30-06-2008
ASE_DAG



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Frodo_Torbins
А поподробнее?

----------
Dmitry Alexandrov <321942@gmail.com> [PGP] [BTC]

Всего записей: 9272 | Зарегистр. 12-05-2005 | Отправлено: 00:40 30-06-2008
nhdrthsruyy

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ASE_DAG
а если форму невидимой сделать?

Всего записей: 16 | Зарегистр. 05-06-2008 | Отправлено: 10:16 30-06-2008
ASE_DAG



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
nhdrthsruyy
А она видимая (fsStayOnTop), но неактивная.

----------
Dmitry Alexandrov <321942@gmail.com> [PGP] [BTC]

Всего записей: 9272 | Зарегистр. 12-05-2005 | Отправлено: 10:34 30-06-2008
Frodo_Torbins

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ASE_DAG
Учимся пользоваться поиском: http://www.delphikingdom.com/asp/viewitem.asp?catalogid=548

Всего записей: 2319 | Зарегистр. 24-05-2007 | Отправлено: 10:46 30-06-2008
OdesitVadim



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Maks150988
я думаю вся загвоздка в функции BASS_ChannelGetData(Stream, @fft, BASS_DATA_FFT1024);
надо либо в поток выносить, либо ещё что то думать.
 
Попробуй профилировщиком пройтись, но думаю он тоже на эту строку укажет.

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

Всего записей: 1568 | Зарегистр. 19-09-2003 | Отправлено: 10:59 30-06-2008
Maks150988



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
OdesitVadim
Пришлось немного извратиться. Результат по ссылке.
http://stream-player.narod.ru/test/spectrum_test.zip
Однако хотелосьбы перекрасить рисуемые полоски в цикле. Не получается. Они все равно черным цветом.
 

Код:
 
          for IdxSpm := 1 to 256 do
            begin
//      RedBrush := CreateSolidBrush(RGB(255, 0, 0));
//      RedBrushOld := SelectObject(hdcMem, RedBrush);
              MoveToEx(hdcMem, IdxSpm, RctSpm.Bottom - RctSpm.Top, nil);
              LineTo(hdcMem, IdxSpm, (RctSpm.Bottom - RctSpm.Top) - Round(fft[IdxSpm] * (RctSpm.Bottom - RctSpm.Top) * IdxSpm));
//      SelectObject(hdcMem, RedBrushOld);
//      DeleteObject(RedBrush);
            end;
 

 
Закомментирован нерабочий код. Немного непонятно почему в цикле не применяется цвет.
 
Хотелось бы этот код вставить в плейер (даже перекопировать отсюда). Однако там тормоза сплошные. Я думал может что-то из-за потоков не много ли их.
http://stream-player.narod.ru/download/stream_player_scr.zip
Вот код. Если кто знает - буду премного благодарен. А то я не знаю что тут поделать можно..

Всего записей: 836 | Зарегистр. 23-12-2006 | Отправлено: 18:17 30-06-2008 | Исправлено: Maks150988, 18:27 30-06-2008
ASE_DAG



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Frodo_Torbins
Спасибо, немного понял.
Аналогичный вопрос, возникает ли какое-нибудь событие при перемещении формы?

----------
Dmitry Alexandrov <321942@gmail.com> [PGP] [BTC]

Всего записей: 9272 | Зарегистр. 12-05-2005 | Отправлено: 04:36 02-07-2008
Frodo_Torbins

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ASE_DAG
При перемещении винда посылает окну несколько сообщений. Например: WM_MOVE, WM_MOVING, WM_WINDOWPOSCHANGED, WM_WINDOWPOSCHANGING. Перехватываются они аналогичным способом.

Всего записей: 2319 | Зарегистр. 24-05-2007 | Отправлено: 11:08 02-07-2008
greenpc

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ASE_DAG
в public части формы новый метод.
procedure WMMove(var mess:TWMMove);message WM_Move;
и там делать свою обработку

Всего записей: 401 | Зарегистр. 18-04-2003 | Отправлено: 11:13 02-07-2008
   

Страницы: 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 101

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi (все версии) - часть 4
ShIvADeSt (28-06-2009 02:10): Продолжение в http://forum.ru-board.com/topic.cgi?forum=33&topic=10477


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru