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

RusFAQ.ru: Программирование на C / C++


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

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

Выпуск № 541
от 02.10.2006, 23:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 389, Экспертов: 48
В номере:Вопросов: 4, Ответов: 8


Вопрос № 56832: Здрасти. Я тут слушал ФИ радио и подумал, что хорошо бы зделать еквалайзер для него. Дело в том что у меня ТВ-тюнер аудио передает на вход звуковой карточки (микрофон или линейный вход). Я думаю может перехватить сигнал или вопще хоть както его пойма...
Вопрос № 56877: Уважаемые эксперты! Если можно, ворос по BC++Builder, не знаю где его еще задать. В Дельфях не ответили. Есть хороший компонент XStringGrid. В комплекте есть пример на Дельфях. Поскажите, где можно найти пример использования на BCB или описание э...
Вопрос № 56887: Добрый день, уважаемые эксперты! У меня проблема с выбором темы - нужно написать прогу на ~1000 строк кода в C++ Builder'е! Дайте, пожалуйста, список тем, которые потянули бы на такой объем, или какие-нибудь ссылки! Заранее огромное спасибо!!!...
Вопрос № 56898: Есть dll-ка написанная на Delphi6 (priz.dll). У нее есть функция и процедура: function FindPrice(sg,sz,st,sr,sp,kv:ShortString; trf:ansiString; var dbname:ansiString; var tski:integer; var App: TApplication):real; stdcall; procedure ...

Вопрос № 56.832
Здрасти. Я тут слушал ФИ радио и подумал, что хорошо бы зделать еквалайзер для него. Дело в том что у меня ТВ-тюнер аудио передает на вход звуковой карточки (микрофон или линейный вход). Я думаю может перехватить сигнал или вопще хоть както его поймать и изменить. Как ето можно зделать? Я пробывал с WinAPI фуекциями играть (waveInOpen, waveInPrepareHeader, waveInAddBuffer и др.), но чего то не получается (наверное плохо читал справку). Может кто знает как зделать еквалайзер на аудио вход?
Отправлен: 26.09.2006, 23:51
Вопрос задал: Etenity (статус: 7-ой класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Vaga
Здравствуйте, Etenity!

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

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_recording_waveform_audio.asp
---------
Ошибка становится ошибкой, когда рождается как истина. Станислав Ежи Лец
Ответ отправил: Vaga (статус: 3-ий класс)
Ответ отправлен: 27.09.2006, 01:15


Вопрос № 56.877
Уважаемые эксперты! Если можно, ворос по BC++Builder, не знаю где его еще задать. В Дельфях не ответили.
Есть хороший компонент XStringGrid. В комплекте есть пример на Дельфях. Поскажите, где можно найти пример использования на BCB или описание этого компонента?
Отправлен: 27.09.2006, 12:19
Вопрос задал: Vms (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: Vaga
Здравствуйте, Vms!
может здесь:
http://download.excode.ru/download37.html
http://delphi.icm.edu.pl/newl/midxc50f.htm

---------
Ошибка становится ошибкой, когда рождается как истина. Станислав Ежи Лец
Ответ отправил: Vaga (статус: 3-ий класс)
Ответ отправлен: 27.09.2006, 17:41


Вопрос № 56.887
Добрый день, уважаемые эксперты! У меня проблема с выбором темы - нужно написать прогу на ~1000 строк кода в C++ Builder'е! Дайте, пожалуйста, список тем, которые потянули бы на такой объем, или какие-нибудь ссылки! Заранее огромное спасибо!!!
Отправлен: 27.09.2006, 13:21
Вопрос задал: Deriny (статус: Посетитель)
Всего ответов: 4
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Uman
Здравствуйте, Deriny!
Возможно я не правильно понял вопрос, но если всё так как Вы написали, то почему бы вам не написать очередной заменитель блокнота...
Если строк не будет хватать =), то добавьте пару фишек, типа подсветки синтаксиса...
Ещё как вариант простенький браузер базирующийся на CppWebBrowser
Да много чего можно напридумывать...
Ответ отправил: Uman (статус: 2-ой класс)
Ответ отправлен: 27.09.2006, 14:14

Отвечает: Delph
Здравствуйте, Deriny!

Неужели у Вас стоит проблема именно с выбором темы? Напишите, к примеру, какую-нибудь игрушку. Если у Вас хватит опыта, фантазии и терпения, можно написать стратегию. Можно не забивать себе голову продвинутыми стратегиями и написать продвинутый арканоид... Даже среди игрушек выбор тем настолько громаден, что я не рискну перечислять. Главное - сразу наметить структуру классов и взаимодействие между ними. В арканоиде, например, можно сделать массу типов кирпичей, летающих гадостей, призов... При удачном использовании идеологии ООП можно добавить в игру что-нибудь, чего заранее вообще не планировали, просто добавив новый класс и изменив в готовых частях программы пару-тройку строк. Очень легко таким образом набрать суммарный объём, напридумывав каких-нибудь экзотических объектов.

Дерзайте! Увлекательный мир программирования перед Вами!
Ответ отправил: Delph (статус: 1-ый класс)
Ответ отправлен: 27.09.2006, 17:34

Отвечает: Vaga
Здравствуйте, Deriny!
Можно написать расчет зарплаты или, например, перевод числа в числительное. Чем больше верхний предел задаваемого числа - тем больше строк в программе.
---------
Ошибка становится ошибкой, когда рождается как истина. Станислав Ежи Лец
Ответ отправил: Vaga (статус: 3-ий класс)
Ответ отправлен: 27.09.2006, 17:47

Отвечает: Иванов Игорь Михайлович
Здравствуйте, Deriny!зайдите на сайт Дейтелов, уверен там вы найдете то что вам нужно.www.deitel.com
Ответ отправил: Иванов Игорь Михайлович (статус: 1-ый класс)
Ответ отправлен: 28.09.2006, 21:33


Вопрос № 56.898
Есть dll-ка написанная на Delphi6 (priz.dll).
У нее есть функция и процедура:
function FindPrice(sg,sz,st,sr,sp,kv:ShortString; trf:ansiString; var dbname:ansiString; var tski:integer; var App: TApplication):real; stdcall;

procedure CountSkidka(k,kol,kv,ska,chet,z:integer; var prgm,dbname:string; srb,prim:string; var r,price,sk:real; var App: TApplication); stdcall;

Мне нужно их использовать из этой dll-ки в CBuilder-e 6.
Что нужно писать в CBuilder? Какой код?
Отправлен: 27.09.2006, 15:10
Вопрос задал: Rusland (статус: Специалист)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Sergey A. Wedensky
Здравствуйте, Rusland!
Для начала нужно определить типы указателей на Ваши функции:

typedef void (__stdcall * CountSkidkaFunc)(int k, int kol, int kv);
typedef float (__stdcall * FindPriceFunc)(...);

Насчет типов параметров не уточню, никогда не писал на паскале,
что такое, например, ShortString, не знаю ... Если параметр var,
это видимо, указатель... Наверно.

Далее нужно подгрузить DLL:

HANDLE hLib = LoadLibrary("priz.dll");
if (!hLib) ...

И получить адреса функций:

CoundSkidkaFunc CoundSkidka = GetProcAddress(hLib, "CoundSkidka");
FindPriceFunc FindPrice = GetProcAddress(hLib, "FindPrice");
if (!CountSkidka || !FindPrice) ...

Вполне вероятно, что функции там называются по-другому, например
"?WW@FindPrice@32" - это зависит от того, как скомпонована библиотека.
Можно узнать имена функций, например, утилитой depends.exe (из MSVC++). Либо
получать их адреса по порядковому номеру:

CountSkidkaFunc CountSkidka = GetProcAddress(hLib, MAKELONG(1, 0));
FindPriceFunc FindPrice = GetProcAddress(hLib, MAKELONG(2, 0));

Правда, номера тоже надо знать...

Ну и можно вызывать:

float discount = CountSkidka(...);

Когда функции больше не нужны, можно выгрузить библиотеку, это
освободит какой-то объем ресурсов:

FreeLibrary(hLib);

Но не обязательно, при завершении процесса она все равно выгрузится.
Ответ отправил: Sergey A. Wedensky (статус: 3-ий класс)
Ответ отправлен: 27.09.2006, 17:52
Оценка за ответ: 5
Комментарий оценки:
В общем то проблема как раз в передаче переменных.
Думаю ничего страшного не случится если я ShortString заменю на String.
А вот что писать для переменных с var? Звездочку, амперсанд?
И больше всего затруднений вызывает TApplication. Как его передавать?

Отвечает: Vaga
Здравствуйте, Rusland!
http://www.ishodniki.ru/art/artshow.php?cat=1&id=224&show=builder
---------
Ошибка становится ошибкой, когда рождается как истина. Станислав Ежи Лец
Ответ отправил: Vaga (статус: 3-ий класс)
Ответ отправлен: 27.09.2006, 18:03
Оценка за ответ: 4
Комментарий оценки:
За статью конечно спасибо. Но это не решает моей проблемы, а именно как передать Application.


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

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

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

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

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала 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.36 от 06.09.2006
Яндекс Rambler's Top100

В избранное