Работа с GSM-модемом из Delphi
Re: Работа с GSM-модемом из Delphi
Всем здрасти.
Ничего из вышесказанного я не осилил. То, что удалось собрать в кучу -- работало нестабильно и не как-то не так.
Задача была (и остается) организовать переписку через единый мобильный номер.
Временно проблема решена установкой пробной версии СМС-Сервера Хэдвинд (http://www.headwind.ru/driver.php)
Скрипт сам написал.
Тема актуальна, нужна помощь.
Ничего из вышесказанного я не осилил. То, что удалось собрать в кучу -- работало нестабильно и не как-то не так.
Задача была (и остается) организовать переписку через единый мобильный номер.
Временно проблема решена установкой пробной версии СМС-Сервера Хэдвинд (http://www.headwind.ru/driver.php)
Скрипт сам написал.
Тема актуальна, нужна помощь.
Re: Работа с GSM-модемом из Delphi
В ближайшее время буду делать СМС оповещение через 3G dongle, если напишешь алгоритм работы можно будет потом скрестить ужа с ежом. Все будет на linux+python.
Действительно, было в Михал Иваныче что-то аристократическое. Пустые бутылки он не сдавал, выбрасывал.
Re: Работа с GSM-модемом из Delphi
Оке!
В ближайшее время напишу что и как.
Линукс -- прекрасно.
В ближайшее время напишу что и как.
Линукс -- прекрасно.
Re: Работа с GSM-модемом из Delphi
Добрался до СМС. Есть отличный софт для отправки СМС под Линух http://smstools3.kekekasvi.com/index.php?p=. У него есть такая штука как выполнение скриптов после событий. Ими можно реализовать работу простого чата.
Принимаемая СМС пишется как файл, вызывается скрипт, читает СМС, готовит файл для отправки СМС другим пиплам исключая отправителя, ложит готовые файлы в папку отправки.
Регистрацию в чате и отключение придется сделать через сторонюю БД, там же можно и сообщения хранить.
По сообщениям на форуме, народ активно использует его с 3G модемами.
Принимаемая СМС пишется как файл, вызывается скрипт, читает СМС, готовит файл для отправки СМС другим пиплам исключая отправителя, ложит готовые файлы в папку отправки.
Регистрацию в чате и отключение придется сделать через сторонюю БД, там же можно и сообщения хранить.
По сообщениям на форуме, народ активно использует его с 3G модемами.
Действительно, было в Михал Иваныче что-то аристократическое. Пустые бутылки он не сдавал, выбрасывал.
Re: Работа с GSM-модемом из Delphi
Вот небольшая статья по организации СМСцента http://habrahabr.ru/post/114912/ внизу ссылки еще на несколько.
Действительно, было в Михал Иваныче что-то аристократическое. Пустые бутылки он не сдавал, выбрасывал.
Re: Работа с GSM-модемом из Delphi
Скрестил прогу мониторинга cacti с отправкой алармов через SMSки через 3G MTC свисток. Работает. smstools зачотный инструмент.
Действительно, было в Михал Иваныче что-то аристократическое. Пустые бутылки он не сдавал, выбрасывал.
Re: Работа с GSM-модемом из Delphi
Допилил скрипт смс-чата.
Работает совместно с программой ПЕРСОНАЛЬНЫЙ SMS Сервер компании Хедвинд Солюшнз.
Фунциклирует нормально. Не доделана обработка пустых сообщений, ну и много еще чего.
По прежнему ищу что-нибудь доступное для понимания. Ссылки питмэна курил вдумчиво, но без подготовки осилить не удалось.
Для интересующихся -- скрипт ниже.
Работает совместно с программой ПЕРСОНАЛЬНЫЙ SMS Сервер компании Хедвинд Солюшнз.
Фунциклирует нормально. Не доделана обработка пустых сообщений, ну и много еще чего.
По прежнему ищу что-нибудь доступное для понимания. Ссылки питмэна курил вдумчиво, но без подготовки осилить не удалось.
Для интересующихся -- скрипт ниже.
Код: Выделить всё
' Скрипт предназначен для работы с программой ПЕРСОНАЛЬНЫЙ SMS Сервер компании Хедвинд Солюшнз
' и позволяет организовать смс-чат для небольшой группы пользователей (например, для трабл-шутинга)
'
' Версия 1.0
' Дата релиза: 24.12.2012
' Разработка скрипта: Артем Николаев, artemy.nikolaev@ya.ru
' Скрипт распространяется бесплатно
'
' Функции:
' -- вход в группу с подтверждением;
' -- выход из группы с подтверждением;
' -- запрос списка участников беседы;
' -- обработка попыток повторной регистрации;
' -- ведение лога входящих сообщений;
' -- генерация html-лога. Новое входящее сообщение отображается первым в списке сообщений;
' -- остановка и запуск сервиса с любого номера из списка HLR;
'
' Состав проекта:
' -- chat.vbs -- этот файл, скрипт с пояснениями
' -- hlr.txt -- список пользователей, имеющих право на участие в чате. Построчно. Формат записи одной строки: 79144507126 Мирсанов
' -- vlr.txt -- список пользователей, подключенных к разговору. Формат тот же: 79148049361 Аверина
' -- vlr_back.txt -- служебный файл, редактировать не нужно.
' -- system.txt -- служебный файл, редактировать не нужно.
' -- smslog.txt -- лог входящих сообщений. В него же добавляются сообщения о входе/выходе пользователей в группу.
' -- sms_prelog.txt -- служебный файл, редактировать не нужно.
' -- smslog.html -- веб-страница лога сообщений.
' -- smslog_up.txt -- исходный код веб-страницы (верх) .
' -- smslog_dn.txt -- исходный код веб-страницы (низ).
'
'
' Получаем значение двух переменных при входящем сообщении: номер абонента и сообщение.
Number = WScript.Arguments(0)
Message =WScript.Arguments(1)
' Устанавливаем в ноль флаги принадлежности к HLR, VLR, флаг остановки сервиса, счетчик пользователей и список их имен
FlagVlr = 0
FlagHlr = 0
Flagprofilactic = 0
FlagEmpty = 0
Users = ""
Count = 0
' Устанавливаем соответствие между переменными и именами файлов
vlr = "vlr.txt"
hlr = "hlr.txt"
vlr_back = "vlr_back.txt"
system_const = "system.txt"
sms_prelog = "sms_prelog.txt"
smslog = "smslog.txt"
smslog_up = "smslog_up.txt"
smsloghtml = "smslog.html"
smslog_dn = "smslog_dn.txt"
' Ищем полученный номер в списке пользователей, имеющих право на участие в чате
'================= Поиск номера в HLR =================
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set filehlr = objFSO.OpenTextFile(hlr, 1)
Do Until filehlr.AtEndOfStream
sLine = filehlr.ReadLine()
nSpace = InStr(sLine, " ")
If nSpace > 0 Then
Number_hlr = Left(sLine, nSpace - 1)
Name_hlr = Trim(Right(sLine, Len(sLine) - nSpace))
End If
If (Number_hlr = Number) Then
FlagHlr = 1
Name = Name_hlr
End If
If (Len(Users) = 2) Then
Users = ""
End If
Loop
filehlr.Close
If (Count = 1) Then
FlagEmpty = 1
End If
'/================= Поиск номера в HLR =================
' Ищем полученный номер в списке пользователей, подключенных к чату
'================= Поиск номера в VLR =================
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set filevlr = objFSO.OpenTextFile(vlr, 1)
Do Until filevlr.AtEndOfStream
sLine = filevlr.ReadLine()
nSpace = InStr(sLine, " ")
If nSpace > 0 Then
Users = Users & ", "
Number_vlr = Left(sLine, nSpace - 1)
Name_vlr = Trim(Right(sLine, Len(sLine) - nSpace))
End If
Count = Count + 1
If (Number_vlr = Number) Then
FlagVlr = 1
Name = Name_vlr
End If
If (Len(Users) = 2) Then
Users = ""
End If
Users = Users & Name_vlr
Loop
filevlr.Close
If (Count = 1) Then
FlagEmpty = 1
End If
'/================= Поиск номера в VLR =================
' Проверяем файл system.txt на предмет текущего статуса сервиса. 0 -- сервис в работе, 1 -- сервис отключен
Set file0 = objFSO.OpenTextFile(system_const, 1)
proc = file0.ReadLine()
file0.Close
If (proc = 1) Then
Flagprofilactic = 1
End If
' Устанавливаем флаги в зависимости от различных условий
If (FlagHlr = 0) Then
Flaguser = 0
End If
If (FlagHlr = 1) And (FlagVlr = 0) Then
If (Flagprofilactic = 1) Then
Flaguser=3
End If
If (Flagprofilactic = 0) Then
Flaguser = 1
End If
End If
If (FlagHlr = 1) And (FlagVlr = 1) Then
Flaguser = 2
End If
If Len(Message)<>0 And (Count = 1) Then
FlagEmpty = 2
End If
' ========== Тут я оставляю код от предыдущего скрипта, я не довел его до ума еще, пусть пока повисит ==========
' Устанавливаем сообщения при непустой группе
MessageAlreadyEnter = "Вы уже вошли в чат. Сейчас в группе: " & Users & " "
MessageNowInGroup = "Сейчас в группе: " & Users & " "
MessageEmpty = "Вы отправили пустое сообщение. "
' Устанавливаем сообщения при непустой группе
If (Count = 1) Then
MessageAlreadyEnter = "Вы уже вошли в чат. В группе нет собеседников. "
MessageNowInGroup = "В группе нет собеседников. "
MessageNoUsers = "В группе нет собеседников, сообщение не отправлено. "
End If
' /========== Тут я оставляю код от предыдущего скрипта, я не довел его до ума еще, пусть пока повисит ==========
' Обработка сообщения. Запрос на вход в группу
If (Message = "#1") And (Flaguser = 1) Then
FlagVlr = 0
Set filevlr = objFSO.OpenTextFile(vlr, 1)
Set filevlrback = objFSO.OpenTextFile(vlr_back, 2)
rec = Number + " " + Name
filevlrback.WriteLine(rec)
Do Until filevlr.AtEndOfStream
sw = filevlr.ReadLine()
filevlrback.WriteLine(sw)
Loop
filevlr.Close
filevlrback.Close
Set filevlr = objFSO.OpenTextFile(vlr, 2)
Set filevlrback = objFSO.OpenTextFile(vlr_back, 1)
Do Until filevlrback.AtEndOfStream
sw = filevlrback.ReadLine()
filevlr.WriteLine(sw)
Loop
filevlr.Close
filevlrback.Close
Message = "Вход в группу."
' Этот блок производит запись в smslog.txt и формирует html-страничку
'Get the Date & Time from OS
date_now = Date
time_now = Time
'Open file to rewrite for record date, time, name & message
set file1 = objFSO.OpenTextFile(sms_prelog, 2)
file1.Write(date_now)
file1.Write(" ")
file1.Write(time_now)
file1.Write(" ")
file1.Write(Name)
file1.Write(": ")
file1.WriteLine(Message)
file1.Close
'Open files for appending & for reading
set file1 = objFSO.OpenTextFile(sms_prelog, 8)
set file2 = objFSO.OpenTextFile(smslog, 1)
Do Until file2.AtEndOfStream
sw = file2.ReadLine()
file1.WriteLine(sw)
Loop
'Close files
file1.Close
file2.Close
'Open files for reading & rewrite
set file1 = objFSO.OpenTextFile(sms_prelog, 1)
set file2 = objFSO.OpenTextFile(smslog, 2)
Do Until file1.AtEndOfStream
sw = file1.ReadLine()
file2.WriteLine(sw)
Loop
'Close files
file1.Close
file2.Close
'Open files for building html-design & for record sms-log
set file2 = objFSO.OpenTextFile(smslog, 1)
set file3 = objFSO.OpenTextFile(smslog_up, 1)
set file4 = objFSO.OpenTextFile(smsloghtml, 2)
set file5 = objFSO.OpenTextFile(smslog_dn, 1)
Do Until file3.AtEndOfStream
sw = file3.ReadLine()
file4.WriteLine(sw)
Loop
'Close file
file3.Close
'Recording sms-log to html-page
Do Until file2.AtEndOfStream
sw = file2.ReadLine() + "<br><br>"
file4.WriteLine(sw)
Loop
'Close file
file2.Close
'Recording down design
Do Until file5.AtEndOfStream
sw = file5.ReadLine()
file4.WriteLine(sw)
Loop
'Close files
file5.Close
file4.Close
' /Этот блок производит запись в smslog.txt и формирует html-страничку
' Отправляем абоненту сообщение о успешном входе в чат
Set objSMSDriver = CreateObject("HeadwindGSM.SMSDriver")
objSMSDriver.Connect()
Set objMsg = CreateObject("HeadwindGSM.SMSMessage")
objMsg.To = Number
objMsg.Body = "server: Вы успешно подключились к группе. Приятного общения! "
objMsg.Send()
End If
' /Обработка сообщения. Запрос на вход в группу
' Обработка попытки повторного входа в группу
If (Message = "#1") And (Flaguser = 2) Then
FlagVlr = 0
Set objSMSDriver = CreateObject("HeadwindGSM.SMSDriver")
objSMSDriver.Connect()
Set objMsg = CreateObject("HeadwindGSM.SMSMessage")
objMsg.To = Number
objMsg.Body = "server: Вы уже являетесь участником группы. "
objMsg.Send()
End If
' /Обработка попытки повторного входа в группу
' Обработка попытки входа в группу при выключенном сервисе
If (Message = "#1") And (Flaguser = 3) Then
FlagVlr = 0
Set objSMSDriver = CreateObject("HeadwindGSM.SMSDriver")
objSMSDriver.Connect()
Set objMsg = CreateObject("HeadwindGSM.SMSMessage")
objMsg.To = Number
objMsg.Body = "server: Платформа закрыта на профилактику. Повторите свой запрос позже. "
objMsg.Send()
End If
' /Обработка попытки входа в группу при выключенном сервисе
' Обработка выхода из группы
If (Message = "#0") And (FlagVlr = 1) Then
FlagVlr = 0
Set filevlr = objFSO.OpenTextFile(vlr, 1)
Set filevlrback = objFSO.OpenTextFile(vlr_back, 2)
Do Until filevlr.AtEndOfStream
sLine = filevlr.ReadLine()
nSpace = InStr(sLine, " ")
If nSpace > 0 Then
Number_vlr = Left(sLine, nSpace - 1)
Name_vlr = Trim(Right(sLine, Len(sLine) - nSpace))
rec = Number_vlr + " " + Name_vlr
End If
If (Number_vlr <> Number) Then
filevlrback.WriteLine(rec)
End If
Loop
filevlr.Close
filevlrback.Close
Set filevlr = objFSO.OpenTextFile(vlr, 2)
Set filevlrback = objFSO.OpenTextFile(vlr_back, 1)
Do Until filevlrback.AtEndOfStream
rec = filevlrback.ReadLine()
filevlr.WriteLine(rec)
Loop
filevlr.Close
filevlrback.Close
Message = "Выход из группы."
' Этот блок производит запись в smslog.txt и формирует html-страничку
'Get the Date & Time from OS
date_now = Date
time_now = Time
'Open file to rewrite for record date, time, name & message
set file1 = objFSO.OpenTextFile(sms_prelog, 2)
file1.Write(date_now)
file1.Write(" ")
file1.Write(time_now)
file1.Write(" ")
file1.Write(Name)
file1.Write(": ")
file1.WriteLine(Message)
file1.Close
'Open files for appending & for reading
set file1 = objFSO.OpenTextFile(sms_prelog, 8)
set file2 = objFSO.OpenTextFile(smslog, 1)
Do Until file2.AtEndOfStream
sw = file2.ReadLine()
file1.WriteLine(sw)
Loop
'Close files
file1.Close
file2.Close
'Open files for reading & rewrite
set file1 = objFSO.OpenTextFile(sms_prelog, 1)
set file2 = objFSO.OpenTextFile(smslog, 2)
Do Until file1.AtEndOfStream
sw = file1.ReadLine()
file2.WriteLine(sw)
Loop
'Close files
file1.Close
file2.Close
'Open files for building html-design & for record sms-log
set file2 = objFSO.OpenTextFile(smslog, 1)
set file3 = objFSO.OpenTextFile(smslog_up, 1)
set file4 = objFSO.OpenTextFile(smsloghtml, 2)
set file5 = objFSO.OpenTextFile(smslog_dn, 1)
Do Until file3.AtEndOfStream
sw = file3.ReadLine()
file4.WriteLine(sw)
Loop
'Close file
file3.Close
'Recording sms-log to html-page
Do Until file2.AtEndOfStream
sw = file2.ReadLine() + "<br><br>"
file4.WriteLine(sw)
Loop
'Close file
file2.Close
'Recording down design
Do Until file5.AtEndOfStream
sw = file5.ReadLine()
file4.WriteLine(sw)
Loop
'Close files
file5.Close
file4.Close
' /Этот блок производит запись в smslog.txt и формирует html-страничку
' Сообщаем абоненту об успешном выходе из группы
Set objSMSDriver = CreateObject("HeadwindGSM.SMSDriver")
objSMSDriver.Connect()
Set objMsg = CreateObject("HeadwindGSM.SMSMessage")
objMsg.To = Number
objMsg.Body = "server: Вы успешно покинули группу. "
objMsg.Send()
End If
' /Обработка выхода из группы
' Обработка запроса просмотра участников группы
If (Message = "#?") And (FlagVlr = 1) Then
FlagVlr = 0
Set objSMSDriver = CreateObject("HeadwindGSM.SMSDriver")
objSMSDriver.Connect()
Set objMsg = CreateObject("HeadwindGSM.SMSMessage")
objMsg.To = Number
objMsg.Body = MessageNowInGroup
objMsg.Send()
End If
' /Обработка запроса просмотра участников группы
' Обработка запроса на выключение сервиса. При этом происходит перезапись файла vlr.txt. В него записывается только номер абонента-инициатора отключения
If (Message = "#1234#01") And (FlagVlr = 1) Then
FlagVlr = 0
FlagEmpty = 1
Name = "root"
set file0 = objFSO.OpenTextFile(system_const, 1)
proc = file0.ReadLine()
file0.Close
If (proc = "1") Then
Set objSMSDriver = CreateObject("HeadwindGSM.SMSDriver")
objSMSDriver.Connect()
Set objMsg = CreateObject("HeadwindGSM.SMSMessage")
objMsg.To = Number
objMsg.Body = "server: Сервис уже остановлен. "
objMsg.Send()
End If
If (proc = "0") Then
Message = "Сервер остановлен для профилактических работ. "
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set filevlr = objFSO.OpenTextFile(vlr, 1)
Set objSMSDriver = CreateObject("HeadwindGSM.SMSDriver")
objSMSDriver.Connect()
Do Until filevlr.AtEndOfStream
sLine = filevlr.ReadLine
nSpace = InStr(sLine, " ")
If nSpace > 0 Then
Number_buffer = Left(sLine, nSpace - 1)
Name_buffer = Trim(Right(sLine, Len(sLine) - nSpace))
If (Number_buffer <> Number) Then
Set objMsg = CreateObject("HeadwindGSM.SMSMessage")
objMsg.To = Number_buffer
objMsg.Body = Name & ": " & Message & " "
objMsg.Send()
End If
End If
Loop
filevlr.Close
' Этот блок производит запись в smslog.txt и формирует html-страничку
'Get the Date & Time from OS
date_now = Date
time_now = Time
'Open file to rewrite for record date, time, name & message
set file1 = objFSO.OpenTextFile(sms_prelog, 2)
file1.Write(date_now)
file1.Write(" ")
file1.Write(time_now)
file1.Write(" ")
file1.Write(Name)
file1.Write(": ")
file1.WriteLine(Message)
file1.Close
'Open files for appending & for reading
set file1 = objFSO.OpenTextFile(sms_prelog, 8)
set file2 = objFSO.OpenTextFile(smslog, 1)
Do Until file2.AtEndOfStream
sw = file2.ReadLine()
file1.WriteLine(sw)
Loop
'Close files
file1.Close
file2.Close
'Open files for reading & rewrite
set file1 = objFSO.OpenTextFile(sms_prelog, 1)
set file2 = objFSO.OpenTextFile(smslog, 2)
Do Until file1.AtEndOfStream
sw = file1.ReadLine()
file2.WriteLine(sw)
Loop
'Close files
file1.Close
file2.Close
'Open files for building html-design & for record sms-log
set file2 = objFSO.OpenTextFile(smslog, 1)
set file3 = objFSO.OpenTextFile(smslog_up, 1)
set file4 = objFSO.OpenTextFile(smsloghtml, 2)
set file5 = objFSO.OpenTextFile(smslog_dn, 1)
Do Until file3.AtEndOfStream
sw = file3.ReadLine()
file4.WriteLine(sw)
Loop
'Close file
file3.Close
'Recording sms-log to html-page
Do Until file2.AtEndOfStream
sw = file2.ReadLine() + "<br><br>"
file4.WriteLine(sw)
Loop
'Close file
file2.Close
'Recording down design
Do Until file5.AtEndOfStream
sw = file5.ReadLine()
file4.WriteLine(sw)
Loop
'Close files
file5.Close
file4.Close
' /Этот блок производит запись в smslog.txt и формирует html-страничку
set fileVlr = objFSO.OpenTextFile(vlr, 1)
set fileVlrback = objFSO.OpenTextFile(vlr_back, 2)
Do Until fileVlr.AtEndOfStream
vl = fileVlr.ReadLine()
fileVlrback.WriteLine(vl)
Loop
fileVlr.Close
fileVlrback.Close
set fileVlr = objFSO.OpenTextFile(vlr, 2)
vl = Number + " " + Name
fileVlr.WriteLine(vl)
fileVlr.Close
set file0 = objFSO.OpenTextFile(system_const, 2)
file0.WriteLine("1")
file0.Close
Name = "server"
Message = "Сервис остановлен. Участники группы оповещены. "
Set objSMSDriver = CreateObject("HeadwindGSM.SMSDriver")
objSMSDriver.Connect()
Set objMsg = CreateObject("HeadwindGSM.SMSMessage")
objMsg.To = Number
objMsg.Body = Name & ": " & Message & " "
objMsg.Send()
End If
End If
' /Обработка запроса на выключение сервиса.
' Обработка запроса на включение сервиса.
If (Message = "#1234#02") And (FlagVlr = 1) Then
FlagVlr = 0
FlagEmpty = 1
Name = "root"
set file0 = objFSO.OpenTextFile(system_const, 1)
proc = file0.ReadLine()
file0.Close
If (proc = "0") Then
Set objSMSDriver = CreateObject("HeadwindGSM.SMSDriver")
objSMSDriver.Connect()
Set objMsg = CreateObject("HeadwindGSM.SMSMessage")
objMsg.To = Number
objMsg.Body = "server: Service already started."
objMsg.Send()
End If
If (proc = "1") Then
set fileVlr = objFSO.OpenTextFile(vlr, 2)
set fileVlrback = objFSO.OpenTextFile(vlr_back, 1)
Do Until fileVlrback.AtEndOfStream
vl = fileVlrback.ReadLine()
fileVlr.WriteLine(vl)
Loop
fileVlr.Close
fileVlrback.Close
Message = "Сервис восстановлен. Приятного общения! "
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set filevlr = objFSO.OpenTextFile(vlr, 1)
Set objSMSDriver = CreateObject("HeadwindGSM.SMSDriver")
objSMSDriver.Connect()
Do Until filevlr.AtEndOfStream
sLine = filevlr.ReadLine
nSpace = InStr(sLine, " ")
If nSpace > 0 Then
Number_buffer = Left(sLine, nSpace - 1)
Name_buffer = Trim(Right(sLine, Len(sLine) - nSpace))
If (Number_buffer <> Number) Then
Set objMsg = CreateObject("HeadwindGSM.SMSMessage")
objMsg.To = Number_buffer
objMsg.Body = Name & ": " & Message & " "
objMsg.Send()
End If
End If
Loop
filevlr.Close
' Этот блок производит запись в smslog.txt и формирует html-страничку
'Get the Date & Time from OS
date_now = Date
time_now = Time
'Open file to rewrite for record date, time, name & message
set file1 = objFSO.OpenTextFile(sms_prelog, 2)
file1.Write(date_now)
file1.Write(" ")
file1.Write(time_now)
file1.Write(" ")
file1.Write(Name)
file1.Write(": ")
file1.WriteLine(Message)
file1.Close
'Open files for appending & for reading
set file1 = objFSO.OpenTextFile(sms_prelog, 8)
set file2 = objFSO.OpenTextFile(smslog, 1)
Do Until file2.AtEndOfStream
sw = file2.ReadLine()
file1.WriteLine(sw)
Loop
'Close files
file1.Close
file2.Close
'Open files for reading & rewrite
set file1 = objFSO.OpenTextFile(sms_prelog, 1)
set file2 = objFSO.OpenTextFile(smslog, 2)
Do Until file1.AtEndOfStream
sw = file1.ReadLine()
file2.WriteLine(sw)
Loop
'Close files
file1.Close
file2.Close
'Open files for building html-design & for record sms-log
set file2 = objFSO.OpenTextFile(smslog, 1)
set file3 = objFSO.OpenTextFile(smslog_up, 1)
set file4 = objFSO.OpenTextFile(smsloghtml, 2)
set file5 = objFSO.OpenTextFile(smslog_dn, 1)
Do Until file3.AtEndOfStream
sw = file3.ReadLine()
file4.WriteLine(sw)
Loop
'Close file
file3.Close
'Recording sms-log to html-page
Do Until file2.AtEndOfStream
sw = file2.ReadLine() + "<br><br>"
file4.WriteLine(sw)
Loop
'Close file
file2.Close
'Recording down design
Do Until file5.AtEndOfStream
sw = file5.ReadLine()
file4.WriteLine(sw)
Loop
'Close files
file5.Close
file4.Close
' /Этот блок производит запись в smslog.txt и формирует html-страничку
set file0 = objFSO.OpenTextFile(system_const, 2)
file0.WriteLine("0")
file0.Close
Name = "server"
Message = "Сервис восстановлен. Участники группы оповещены. "
Set objSMSDriver = CreateObject("HeadwindGSM.SMSDriver")
objSMSDriver.Connect()
Set objMsg = CreateObject("HeadwindGSM.SMSMessage")
objMsg.To = Number
objMsg.Body = Name & ": " & Message & " "
objMsg.Send()
End If
End If
' /Обработка запроса на включение сервиса.
' Обработка входящего сообщения. При условии, что абонент активен (есть запись в файле vlr.txt)
If (FlagVlr = 1) Then
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set filevlr = objFSO.OpenTextFile(vlr, 1)
Set objSMSDriver = CreateObject("HeadwindGSM.SMSDriver")
objSMSDriver.Connect()
Do Until filevlr.AtEndOfStream
sLine = filevlr.ReadLine
nSpace = InStr(sLine, " ")
If nSpace > 0 Then
Number_buffer = Left(sLine, nSpace - 1)
Name_buffer = Trim(Right(sLine, Len(sLine) - nSpace))
If (Number_buffer <> Number) Then
Set objMsg = CreateObject("HeadwindGSM.SMSMessage")
objMsg.To = Number_buffer
objMsg.Body = Name & ": " & Message & " "
objMsg.Send()
End If
End If
Loop
filevlr.Close
' Этот блок производит запись в smslog.txt и формирует html-страничку
'Get the Date & Time from OS
date_now = Date
time_now = Time
'Open file to rewrite for record date, time, name & message
set file1 = objFSO.OpenTextFile(sms_prelog, 2)
file1.Write(date_now)
file1.Write(" ")
file1.Write(time_now)
file1.Write(" ")
file1.Write(Name)
file1.Write(": ")
file1.WriteLine(Message)
file1.Close
'Open files for appending & for reading
set file1 = objFSO.OpenTextFile(sms_prelog, 8)
set file2 = objFSO.OpenTextFile(smslog, 1)
Do Until file2.AtEndOfStream
sw = file2.ReadLine()
file1.WriteLine(sw)
Loop
'Close files
file1.Close
file2.Close
'Open files for reading & rewrite
set file1 = objFSO.OpenTextFile(sms_prelog, 1)
set file2 = objFSO.OpenTextFile(smslog, 2)
Do Until file1.AtEndOfStream
sw = file1.ReadLine()
file2.WriteLine(sw)
Loop
'Close files
file1.Close
file2.Close
'Open files for building html-design & for record sms-log
set file2 = objFSO.OpenTextFile(smslog, 1)
set file3 = objFSO.OpenTextFile(smslog_up, 1)
set file4 = objFSO.OpenTextFile(smsloghtml, 2)
set file5 = objFSO.OpenTextFile(smslog_dn, 1)
Do Until file3.AtEndOfStream
sw = file3.ReadLine()
file4.WriteLine(sw)
Loop
'Close file
file3.Close
'Recording sms-log to html-page
Do Until file2.AtEndOfStream
sw = file2.ReadLine() + "<br><br>"
file4.WriteLine(sw)
Loop
'Close file
file2.Close
'Recording down design
Do Until file5.AtEndOfStream
sw = file5.ReadLine()
file4.WriteLine(sw)
Loop
'Close files
file5.Close
file4.Close
' /Этот блок производит запись в smslog.txt и формирует html-страничку
End If
' /Обработка входящего сообщения.
WScript.Quit