Что нового

Помогите соединить 2 скрипта

Arei

Скриптер
Сообщения
938
Репутация
115
1 скрипт мне предоставил уважаемый madmasles
вот он
Код:
#NoTrayIcon
#include <INet.au3>
#include <Encoding.au3>
#include <Constants.au3>

Opt('TrayMenuMode', 1)
Opt('MustDeclareVars', 1)

Global $sMessageOld, $sMessageNew, $iTime, $hNow, $hLast, $hExit, $msg, $iPause = 30 ;пауза в секундах

$hNow = TrayCreateItem('Проверить сейчас')
$hLast = TrayCreateItem('Последнее сообщение')
TrayCreateItem('')
$hExit = TrayCreateItem('Выход')

TraySetState()
TraySetClick(8)
TraySetToolTip('Проверка появления новых сообщений.')

_TrayItemsDisable()
$sMessageOld = _NewMessage()
If $sMessageOld <> 'Error' Then
    MsgBox(0, 'Последнее сообщение.', $sMessageOld, 5)
Else
    MsgBox(0, 'Ошибка', 'Ошибка получения данных с сайта.', 5)
EndIf
_TrayItemsEnable()
$iTime = TimerInit()
While 1
    $msg = TrayGetMsg()
    Switch $msg
        Case $hNow
            _TrayItemsDisable()
            $sMessageNew = _NewMessage()
            If $sMessageNew <> 'Error' Then
                If $sMessageNew <> $sMessageOld Then
                    $sMessageOld = $sMessageNew
                    MsgBox(0, 'Есть новое сообщение.', $sMessageOld)
                Else
                    MsgBox(0, 'Проверка сообщений.', 'Нет новых сообщений')
                EndIf
            Else
                MsgBox(0, 'Ошибка', 'Ошибка получения данных с сайта.')
            EndIf
            _TrayItemsEnable()
        Case $hLast
            TrayTip('', '', 0)
            TraySetState(8)
            TraySetToolTip('Проверка появления новых сообщений.')
            _TrayItemsDisable()
            MsgBox(0, 'Последнее сообщение.', $sMessageOld)
            _TrayItemsEnable()
        Case $hExit
            _MyExit()
    EndSwitch

    If TimerDiff($iTime) >= $iPause * 1000 Then
        _TrayItemsDisable()
        $sMessageNew = _NewMessage()
        If $sMessageNew <> 'Error' Then
            If $sMessageNew <> $sMessageOld Then
                $sMessageOld = $sMessageNew
                If MsgBox(0, 'Есть новое сообщение.', $sMessageOld, 5) = -1 Then
                    TraySetState(4)
                    TraySetToolTip('Есть новое сообщение.')
                    TrayTip('Проверка сообщений', 'Есть новое сообщение.', 100, 1)
                EndIf
            EndIf
        EndIf
        _TrayItemsEnable()
        $iTime = TimerInit()
    EndIf
WEnd

Func _NewMessage()
    If Not Ping('biglion.ru') Then Return 'Error'
    Local $sUrl = 'http://biglion.ru/rostovnadonu/forum/offer/index.php?deal_offer_id_4=446'
    Local $sSource, $sText
    TraySetIcon('Shell32.dll', 276)
    $sSource = _INetGetSource($sUrl)
    If Not $sSource Then Return 'Error'
    $sText = StringRegExpReplace($sSource, '(?s).*?<table class="forum-table">(.*?)</tr>?.*', '\1')
    $sText = _Encoding_UTF8ToUnicode_API(StringStripWS(StringRegExpReplace($sText, '<.*?>', ''), 7))
    $sText = StringReplace($sText, '&quot;', '"')
    TraySetIcon()
    If $sText Then
        Return $sText
    Else
        Return 'Error'
    EndIf
EndFunc   ;==>_NewMessage
Func _TrayItemsDisable()
    TrayItemSetState($hNow, $TRAY_UNCHECKED + $TRAY_DISABLE)
    TrayItemSetState($hLast, $TRAY_UNCHECKED + $TRAY_DISABLE)
    TrayItemSetState($hExit, $TRAY_DISABLE)
EndFunc   ;==>_TrayItemsDisable

Func _TrayItemsEnable()
    TrayItemSetState($hNow, $TRAY_ENABLE)
    TrayItemSetState($hLast, $TRAY_ENABLE)
    TrayItemSetState($hExit, $TRAY_ENABLE)
EndFunc   ;==>_TrayItemsEnable

Func _MyExit()
    Exit
EndFunc   ;==>_MyExit


а вот 2 код
Код:
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#NoTrayIcon

$Form1 = GUICreate("Form1", 357, 155, 192, 124)
$Label1 = GUICtrlCreateLabel("Город: ", 8, 8, 164, 17)
$Combo1 = GUICtrlCreateCombo("", 192, 8, 145, 25)
GUICtrlSetData($Combo1, 'Москва|Волгоград|Дуляпино', 'Москва')
$Button1 = GUICtrlCreateButton("Старт", 8, 48, 75, 25)
GUISetState(@SW_SHOW)

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $Button1
            _func1 ()
    EndSwitch
WEnd

Func _func1 ()
    ;тут сделать проверку какой выбран пункт
    ;и потом запустить соответствующею функцию
    $sResult = GUICtrlRead ($Combo1)
    Switch $sResult
            Case "Москва"
              MsgBox (0, "", "Функция 1")
            Case "Волгоград"
              MsgBox (0, "", "Функция 2")
            Case "Дуляпино"
              MsgBox (0, "", "Функция 3")
    EndSwitch
EndFunc



как мне сделать если выбрали город Москва то начинал работать скрипт а если Волгоград то другой скрипт.Заранее спасибо.С уважением Arei.
 
Автор
A

Arei

Скриптер
Сообщения
938
Репутация
115
Мне надо только для этого.
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Автор
A

Arei

Скриптер
Сообщения
938
Репутация
115
Нет просто мне нужно только для этого города, а на другие города там другие скрипты.И я по примеру сделаю.
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Arei
Замените
Код:
;...
            Case "Москва"
              MsgBox (0, "", "Функция 1")
            Case "Волгоград"
              MsgBox (0, "", "Функция 2")
            Case "Дуляпино"
              MsgBox (0, "", "Функция 3")
;...

на
Код:
;...
            Case "Москва"
              Func1()
            Case "Волгоград"
              Func2()
            Case "Дуляпино"
              Func3()
;...

А в этих функциях получайте то, что Вам надо.
Если я Вас правильно понял.
 
Автор
A

Arei

Скриптер
Сообщения
938
Репутация
115
Спасибо, это я знаю вот я и спрашиваю как ваш полный предыдущий код записать в процедуру иначе выдаёт ошибки.
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Arei
Вы бы расписали поподробнее, что Вы хотите получить на выходе, со ссылками, а я или не я, попытаемся Вам помочь. А то Вы как партизан на допросе. :smile:
 
Автор
A

Arei

Скриптер
Сообщения
938
Репутация
115
Извините мне хотелось бы если выбрали запись например Москва, то запускался скрипт что вы писали.
 
Верх