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

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


Новое направление Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг

Народное голосование ПРЕМИИ РУНЕТА-2007!
Голосуем за RusFAQ.ru >>

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

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

Выпуск № 903
от 11.11.2007, 09:05

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


Вопрос № 108084: Уважаемые эксперты, не могли бы Вы, написать небольшую программу под Turbo C с использованием АТ-команд модема, которая бы по нажатию клаивиши (например 1) заставляла модем (СОМ) набирать номер. Под DOSом прописываю ECHO ATM1L3X0DT12345 > COM2 - м...
Вопрос № 108199: Уважаемы эксперты, помогите пожалуйста написать программу на С++ используя список : Составить программу, которая содержит информацию о квартирах, содержащихся в Базе данных бюро обмена квартир. Сведения о каждой квартире содержат : - количест...

Вопрос № 108.084
Уважаемые эксперты, не могли бы Вы, написать небольшую программу под Turbo C с использованием АТ-команд модема, которая бы по нажатию клаивиши (например 1) заставляла модем (СОМ) набирать номер. Под DOSом прописываю ECHO ATM1L3X0DT12345 > COM2 - модем набирает номер, а под клавишу забиндовать не получается. Пробую записать в регистр модема число, ничего не получается. Еще бы под пару других клавиш пару других комад забиндить, это было бы вообще шикарно...
Заранее благодарен.
Отправлен: 05.11.2007, 11:51
Вопрос задал: Ивановиков Иван Сергеевич (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Rockie
Здравствуйте, Ивановиков Иван Сергеевич!

Не совсем понятен ваш вопрос - вы не знаете какие команды модема использовать или как забиндить команду на клавишу. Если вопрос про клавишу:

В windows можно создавать hook, который перехватывает системные сообщения, в том числе события нажатия клавиш. Но в DOS этого сделать нельзя, так как в DOS отсутствет многопоточность. И если написать программу, в которой забиндить клавишу вызова модема, вы не сможете запустить эту программу в "фоновом режиме", вам нужно будет запускать эту программу, нажимать клавишу и закрывать эту программу.

Возможно вам стоит вынести ваши команды в bat-файл и запускать его. С программированием bat-файлов вы можете ознакомиться тут:
"Задачи на bat-файлах"
http://forum.ru-board.com/topic.cgi?forum=62&topic=6156&start=0
Ответ отправил: Rockie (статус: 5-ый класс)
Ответ отправлен: 05.11.2007, 13:39

Отвечает: Ross
Здравствуйте, Ивановиков Иван Сергеевич!

Чтото типа того, что в приложении. К сожалению нет под рукой модема чтобы проверить, но наверно должно работать.
И не советовал бы вам использовать Turbo C. Очень древняя весч... Лучше уже заюзать Visual Studio, тем более что в нем тоже можно делать консольные приложения.

Приложение:

---------
Доступно только то, что видимо (c) Б. Керниган

Ответ отправил: Ross (статус: Студент)
Ответ отправлен: 06.11.2007, 02:04

Отвечает: Титов Михаил Анатольевич
Здравствуйте, Ивановиков Иван Сергеевич!

Если нужна программа, которая по клавише посылает команду в модем, то она включает две части - некий клавиатурный диспетчер и финкция работы с модемом. В приложении программа, использующая некий вариант консольного меню.

Набор команд задается в массиве mcom. Может расширяться и дополнятся, но должен быть согласован с меню и оператором switch.

Для передачи команды в модем в простейшем случае может использоваться функция bioscom из библиотеки TC. Наша функция sendcom просто тупо гонит в com-порт символы из строки своего параметра. Однако её реализация может быть любой, вплоть до прямой записи в регистры ввода-вывода с настройкой параметров и диагностикой.

Приложение:

Ответ отправил: Титов Михаил Анатольевич (статус: 2-ой класс)
Ответ отправлен: 06.11.2007, 02:27


Вопрос № 108.199
Уважаемы эксперты, помогите пожалуйста написать программу на С++ используя список :
Составить программу, которая содержит информацию о квартирах, содержащихся в Базе данных бюро обмена квартир. Сведения о каждой квартире содержат :
- количество комнат
- общую площадь
-этаж
- адрес
Программа должна обеспечить формирование картотеки, ввод заявки на обмен, поиск подходящего варианта( при равенстве количества комнат и этажа и различия площадей в пределах 10% процентов выводится соответствующая карточка, а сами сведения удаляются из списка, в противном случае поступившая заявка добавляется в список)
вывод всего списка.
заранее очен благодарен....))
или хотя бы подскажите как создается список)

Приложение:

Отправлен: 06.11.2007, 01:25
Вопрос задал: Пушкин Евгений Владимирович (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Ross
Здравствуйте, Пушкин Евгений Владимирович!

Проще всего создать список в стиле C:
struct lNode
{
//---какието полезные данные
struct lNode* next;
} *LastEntry = 0;
//---создание записи
tmp = new lNode; tmp.next = LastEntry;
LastEntry = tmp;

//---поиск
for (lNode* fn = LastEntry; fn != 0; fn = fn->next)
{
if (//---какоето данное в fn нас заинтересовало)
{
//---делаем чтонибуть
}
}

//---удаление списка
for (lNode *fn = LastEntry; fn != 0;)
{
tmp = fn;
fn = fn->next;
delete tmp;
}

Но если нужно создавать программу на C++ тут стоит создать отдельный класс для списка. Пример в приложении (из книги А. Фридмана "Код программ")

Приложение:

---------
Доступно только то, что видимо (c) Б. Керниган

Ответ отправил: Ross (статус: Студент)
Ответ отправлен: 06.11.2007, 02:42
Оценка за ответ: 5
Комментарий оценки:
спасибб друг !!!!!!!


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

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

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

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

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


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.62.0 от 08.11.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное