powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Автоинформатор (автопрозвонка) с помощью голосового модема ZyXel
9 сообщений из 34, страница 2 из 2
Автоинформатор (автопрозвонка) с помощью голосового модема ZyXel
    #37833485
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Техник55,

Читаешь невнимательно что тебе пишут.
logbook.vlg -это файл журнала VentaFax.
Если его удалить, то он появится только тогда, когда очередное задание буде выполнено.
Появление этого файла (известно где он лежит и как называется) можно отследить программно.
В твоем случае он появится когда Venta наберет номер, дождется ответа (или не дождется), проиграет файл и повесит трубку (или трубку бросят раньше чем она кончит).
Когда файл появится, его можно убить и запустить командную строку с новыми параметрами заново.
Журнал венты у тебя сохраняться не будет, но перед тем как убивать файл его можно программно прочитать и сделать запись в своем логе (txt, mdb, xls -чего больше нравится). Например начиная с байта 5 номер телефона, начиная с байта 225 код ошибки (занято, нет ответа, OK, послали в баню не дослушав твоего спама и т.п.). А уж конкретно где там какой байт сам анализируй /смотри. Скажу только, что расшифровать одну (!) строчку вентовского журнала - а она у тебя всегда будет одна, проще чем кодировать голос на 5 порядков.
...
Рейтинг: 0 / 0
Автоинформатор (автопрозвонка) с помощью голосового модема ZyXel
    #37833519
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий77При этом упомянания о всевозможных GPL лицензиях на сайте www.ventafax.ru , равно как и исходные коды отсутствуют.
И я вот думаю. Как такая солидная (ну, я так считал) фирма могла на такое пойти?...
Буржуйскую версию они выпустить не рискнули.
Смотрю, появилась труднонаходимая сомнительная отмазка на вентовском сайте и даже искореженные коды:

http://ventafax.ru/3rdparties.html

Раньше ее не было. Видимо факт воровства распознал не только я. Не, ну автору модема я сообщил (и считаю правильно сделал) как только эта хрень вышла в свет, от других действий на тот момент воздержался.

Кстати, вопрос к экспертам, если таковые есть.
Так вообще делать можно? Отмазка законная или этого недостаточно?
...
Рейтинг: 0 / 0
Автоинформатор (автопрозвонка) с помощью голосового модема ZyXel
    #37833521
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ух ты,еще отмазка:

http://ventafax.ru/legal.html
www.ventafax.com8.1. Настоящий Сайт, продукты и услуги, предлагаемые на Сайте, а также любая информация, тексты, графика и другие элементы Сайта подчиняются исключительно законодательству Российской Федерации. Соответственно, Правообладатель не несет никакой ответственности, если по какой-то причине продукт или услуга, доступные через Сайт нарушает национальное законодательство какого-либо государства. Неужели?
...
Рейтинг: 0 / 0
Автоинформатор (автопрозвонка) с помощью голосового модема ZyXel
    #37833894
Техник55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дмитрий77Техник55,

Читаешь невнимательно что тебе пишут.
logbook.vlg -это файл журнала VentaFax.
Если его удалить, то он появится только тогда, когда очередное задание буде выполнено.
Появление этого файла (известно где он лежит и как называется) можно отследить программно.
.
А он точно появится??? А если его не удалять, то там просто будет много строк???
Где можно будет изучить байтовую структуру?
И какие команды отслеживают появление файла, зная точное его местоположение???
...
Рейтинг: 0 / 0
Автоинформатор (автопрозвонка) с помощью голосового модема ZyXel
    #37833951
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>А он точно появится???
Да

>А если его не удалять, то там просто будет много строк???
Да, но не узнаешь когда твое задание окончилось

>И какие команды отслеживают появление файла, зная точное его местоположение???[/quot]
Dir
либо FileSystemObject
(проверка файла на существование)

Где можно будет изучить байтовую структуру?
Открываешь файл(ы) в hex-редакторе (да можно и в far-овском текст-редакторе, ставил бы номер символа и чему равен байт), пытаешься догадаться какой байт(ы) какую информацию кодирует.
Сравниваешь с журналом.
Потом пишешь свой декодер. Делай сам. Вот начало функции(все байты считываются в массив, каждый чего-нибудь да значит), остальное делай сам, или тебе готовую целиком дать? У меня такого желания честно нет. Я тебе и так слишком много сказал.

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
Function LogVenta5(LogPath As String) As LogType5
'fax-путь к файлу передаваемого факса
'Number-набираемый номер
'LogPath-путь к файлу Журнала logbook.vlg
Dim mas(2000) As String
Dim ChMas(2000) As Integer
Dim LogV As LogType5
    Open LogPath For Binary As #1    ' Open file.
    i = 1
    Do While Not EOF(1)    ' Loop until end of file.
        mychar = Input(1, #1)   ' Get one character.
        If EOF(1) Then
            Exit Do
        End If
        mas(i) = mychar
        ChMas(i) = Asc(mychar)
        i = i + 1
    Loop
    Close #1    ' Close file.
    LogV.VentData = CDate(CStr(ChMas(1345)) & "/" & CStr(ChMas(1343)) & "/" & CStr(ChMas(1342) * 256 + ChMas(1341)))
    LogV.VentTime = ChMas(1347) & ":" & ChMas(1349) & ":" & ChMas(1351)
    LogV.VentInterval = "0:" & ChMas(1353) & ":" & ChMas(1355)
...



Не, можешь письмо в венту написать, типа дайте документацию на структуру vlg.
...
Рейтинг: 0 / 0
Автоинформатор (автопрозвонка) с помощью голосового модема ZyXel
    #37834949
Техник55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дмитрий77, еще раз здравствуйте.
Как использовать появление файла по указанному пути с помощью функции Dir???
По вашему наставлению проанализировал байты через hex редактор и понял, что мне нужно оценить всего один байт (а именно 1334). Если 1134=0F, тогда "Абонент не отвечает", если 1334=10 - "Абонент занят", если 1334=00 - "Абонент взял трубку".
В принципе мне больше ничего и не надо!!! Можно ли как то обратиться к конкретному байту файла Lookbook.vlg и узнать, какое о принимает значение??? Если да то как?
...
Рейтинг: 0 / 0
Автоинформатор (автопрозвонка) с помощью голосового модема ZyXel
    #37834968
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Техник55,

если верить моему коду (а он проверенный), то это ChMas(1335) - не знаю как ты байты считал...
А начало кода(как прочитать файл) я тебе написал постом выше

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
    LogV.VentResaltKod = ChMas(1335)
    Select Case LogV.VentResaltKod
        Case 0:
            LogV.VentResaltText = "OK"
        Case 1:
            LogV.VentResaltText = "Не открыть файл факсимильного сообщения"
        Case 2:
            LogV.VentResaltText = "Ошибка чтения файла факсимильного сообщения"
        Case 3:



Ну, коды ошибок можешь сам из вентовского хэлпа переписать.

> =10 - "Абонент занят", это не 10, это 16, если ты в hex смотришь 10-это 0A, 15-это 0F
Но с моим кодом этого даже не надо.
Код: vbnet
1.
2.
      Case 16:
            LogV.VentResaltText = "Номер абонента занят"
...
Рейтинг: 0 / 0
Автоинформатор (автопрозвонка) с помощью голосового модема ZyXel
    #37835220
Техник55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дмитрий77, глянь, наверно ошибок куча... Заранее благодарен
Задача такая в зависимости от байта 1335, либо еще раз вызываем абонента, либо другого оповещаем...

[SRC vba]Function ФайлСуществует(logbook As String) As Boolean ' этой функцией отслеживаю
On Error Resume Next
nf = FreeFile
Open logbook.vlg For Input As #nf
If Err Then
ФайлСуществует = False
Else
ФайлСуществует = True
End If
Close #nf
End Function

Sub Send_message()
call Shell("здесь адрес запускаемой программы") ' вызываю нужную мне програмку
End Sub

Sub Send_message1()
Function LogVenta5("С:\.....\service\ logbook.vlg" As String) As LogType5
Dim mas(2000) As String
Dim ChMas(2000) As Integer
Dim LogV As LogType5

Call ФайлСуществует ' Запускаю на оббнаружение файла
If ФайлСуществует=True Then 'Если файл появился тогда
Open "С:\.....\service\ logbook.vlg" For Binary As #1 ' Open file.
i = 1
Do While Not EOF(1) ' Loop until end of file.
mychar = Input(1, #1) ' Get one character.
If EOF(1) Then
Exit Do
End If
mas(i) = mychar
ChMas(i) = Asc(mychar)
i = i + 1
Loop
Close #1 ' Close file.
If ChMas(1334)=0F Then
call Shell ("C:\...\") 'вызов другого абонента
End if
Kill "C:\......\Service\ logbook.vlg" ' Убиваем файл
End Function
End Sub
...
Рейтинг: 0 / 0
Автоинформатор (автопрозвонка) с помощью голосового модема ZyXel
    #37835222
Техник55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
пардон забыл отделить текст от кода, исправляюсь...
Дмитрий77, глянь, наверно ошибок куча... Заранее благодарен
Задача такая в зависимости от байта 1335, либо еще раз вызываем абонента, либо другого оповещаем...

Код: vbnet
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.
Function ФайлСуществует(logbook As String) As Boolean ' этой функцией отслеживаю
On Error Resume Next
nf = FreeFile
Open logbook.vlg For Input As #nf
If Err Then
ФайлСуществует = False
Else
ФайлСуществует = True
End If
Close #nf
End Function

Sub Send_message()
call Shell("здесь адрес запускаемой программы") ' вызываю нужную мне програмку
End Sub

Sub Send_message1()
Function LogVenta5("С:\.....\service\ logbook.vlg" As String) As LogType5
Dim mas(2000) As String
Dim ChMas(2000) As Integer
Dim LogV As LogType5

Call ФайлСуществует ' Запускаю на оббнаружение файла
If ФайлСуществует=True Then 'Если файл появился тогда
Open "С:\.....\service\ logbook.vlg" For Binary As #1 ' Open file.
i = 1
Do While Not EOF(1) ' Loop until end of file.
mychar = Input(1, #1) ' Get one character.
If EOF(1) Then
Exit Do
End If
mas(i) = mychar
ChMas(i) = Asc(mychar)
i = i + 1
Loop
Close #1 ' Close file.
If ChMas(1334)=0F Then
call Shell ("C:\...\") 'вызов другого абонента
End if
Kill "C:\......\Service\ logbook.vlg" ' Убиваем файл
End Function
End Sub 
...
Рейтинг: 0 / 0
9 сообщений из 34, страница 2 из 2
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Автоинформатор (автопрозвонка) с помощью голосового модема ZyXel
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]