![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
SMS центр [D7, XP]
lamer6666 © (2010-01-21 21:40:00)Доброго времени суток уважаемые, задался задачей написать простенкую программу отправки и приема СМС сообщений, а также их дальнейшую обработку.
Прошу помощи накидать схему работы.
Исходные данные: USB модем с доступом через COM порт.
Вариант №1:
а. Открываю порт.
б. По таймеру проверяю в базе данных СМС стоящие в очереди на отправку и отправляю.
в. По таймеру проверяю новые СМС в модеме считываю в базу данных, затем удаляю считанную СМС.
б.в. чередую (считываю отправляю, считываю отправляю)
Вариант №2
а. Открываю порт выполняю б. и в.
г. закрываю порт
и снова а.б.в.г. ..................
Буду благодарен за любую корректировку. Спасибо, уважаемые.
@!!ex (2010-01-24 17:31:00) [1]> [17] Наиль © (24.01.10 16:36)
Это отправка. Вопрос в том, как получать. :)
Наиль (2010-01-24 16:36:00) [2]
> [10] @!!ex © (23.01.10 09:47)
> <offtop>
> а поделитесь информацией, как получать с GPRS модема смски?
> </offtop>
http://www.simplesms.ru/
lamer6666 (2010-01-23 12:02:00) [3]WaitCommEvent то что надо и статейка тут же с примером нашлась
http://www.delphisources.ru/pages/faq/base/com_read_asynh.html
KilkennyCat (2010-01-23 10:42:00) [4]да без разницы. я имел ввиду что таймер лишний в любом варианте. На мой взгляд, таймер удобен для генерации событий, так как не требует вычислений скока времени выполняются команды. А не наоборот.
Хотя, я сейчас плотно в микроконтроллерах сижу, наверное, влияет :)
lamer6666 (2010-01-23 09:58:00) [5]
> Что касается опрашивать по таймеру наличие смс в базе на
> отправку
Прошу прощения я имел ввиду по таймеру отправку команды чтения списка СМС
KilkennyCat (2010-01-23 09:56:00) [6]а так все работает на уровне AT-команд, спецификация идет к каждому устройству своя, идеально однозначного решения нет.
KilkennyCat (2010-01-23 09:53:00) [7]
> @!!ex © (23.01.10 09:47) [10]
а причем здесь жопорез? смс технология не тут.
KilkennyCat (2010-01-23 09:48:00) [8]ну если бы ты почитал msdn, то узнал бы о коммуникационных событиях, например, WaitCommEvent.
Что касается опрашивать по таймеру наличие смс в базе на отправку, то это вообще бред кобылы сивой, равносильный опросу по таймеру нажатий кнопок на форме.
@!!ex (2010-01-23 09:47:00) [9]<offtop>
а поделитесь информацией, как получать с GPRS модема смски?
</offtop>
lamer6666 (2010-01-23 09:15:00) [10]
> таймеры-то зачем? Появились сообщения - обрабатываем.
Пожалуйста просветите. Как же мне получить событие с порта не опрашивая порт (например о новом сообщении) по таймеру?
KilkennyCat (2010-01-22 13:19:00) [11]Жуть.
Slym (2010-01-22 12:37:00) [12]а. Открываю порт.
try
while true do
{
б. По таймеру проверяю в базе данных СМС стоящие в очереди на отправку и отправляю.
в. По таймеру проверяю новые СМС в модеме считываю в базу данных, затем удаляю считанную СМС.}
except
goto a;
end;
brother (2010-01-22 10:09:00) [13]согласен, ограничения могут быть любыми...
Anatoly Podgoretsky (2010-01-22 09:08:00) [14]
> brother © (22.01.10 05:50) [3]
Ограничения могут быть любые, а могут и не быть.
KilkennyCat (2010-01-22 08:31:00) [15]
> brother © (22.01.10 05:50) [3]
смотря как, где, у кого. С телефона на телефон практически лимитируется количеством денег и поступившими жалобами.
brother (2010-01-22 05:50:00) [16]как я знаю: есть ограничение на рассылку N кол-ва смс за промежуток времени
KilkennyCat (2010-01-22 05:27:00) [17]таймеры-то зачем? Появились сообщения - обрабатываем.
Наиль (2010-01-21 23:14:00) [18]Первый вариант лучше.