Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Написание instant messaging Бота на AutoIt

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

vicbox777



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Код:
$sMsg=' !ShowMes "1 параметр" "2 параметр" "3 параметр" "4 параметр"'
;
MsgBox
(64,"Результат вызова функции",_CreateMessage_bot($sMsg))
 
;~~~~~~~~~~~~~~  
; функция _CreateMessage_bot показывает сообщение.
; команда для вызова этой функции: !ShowMes "1 параметр" "2 параметр" "3 параметр" "4 параметр"
;где:
;1 параметр - это вид окна сообщения (0-окно,без значка; 1-окно,значок информации; 2-окно,значок ошибки; 3-окно,значок вопроса; 4-окно, значок предупреждения).Если параметра в кавычках не будет.то будет установлен по умолчанию - 0. Атрибуты у всех сообщений - поверх всех окон.
;2 параметр - это заголовок окна (Если в кавычках текста не будет, то заголовок будет, соответственно выбранному 1 параметру)
;3 параметр - это текст сообщения (Если текста в кавычках не будет, то не будет и сообщения)
;4 параметр - это время показа окна в секундах, тоесть 1 - одна секунда. (Если не нужно, то этот параметр можно не указывать.)
;~~~~~~~~~~~~~~
 
Func _CreateMessage_bot($sMsg)
$sMes=
StringRegExp($sMsg, '(?:"(.*?)")+?', 3); Получение всех параметров из всего текста сообщения
; если результат является массивом; и имеется по крайней мере 3 параметра, так как 3 параметр это текст; и если текст хоть какой то для вывода вобще имеется,, то продолжаем работу с файлом
If IsArray ($sMes) And (UBound($sMes) - 1)>=2 And $sMes[2]<>'' Then
Switch $sMes[0] ;обрабатываем значение 1 параметра
   
Case 1 ;Informational
   
$sMes[0]="262208"
   
If $sMes[1]="" Then $sMes[1]="Information"
   
Case 2
;Critical
   
$sMes[0]="262160"
   
If $sMes[1]="" Then $sMes[1]="Critical"
   
Case 3
;Question
   
$sMes[0]="262176"
   
If $sMes[1]="" Then $sMes[1]="Question"
   
Case 4
;Warning
   
$sMes[0]="262192"
   
If $sMes[1]="" Then $sMes[1]="Warning"
   
Case Else
;0
   
$sMes[0]="262144"
   
If $sMes[1]="" Then $sMes[1]="Message"
EndSwitch
;
;Если время показа не указано (даже нету кавычек), то чтоб небыло ошибки, так как в показе сообщения этот параметр должен присуствовать, добавляем еще 1 ячейку в массив, и это будет $sMes[3], и присваиваем значение - 0.
If (UBound($sMes) - 1)=2 Then  
Local
$iUBound
    $iUBound
= UBound($sMes)
   
ReDim $sMes[$iUBound + 1]
   
$sMes[$iUBound] = "0"
EndIf
$sMes[3]=Number($sMes[3])
; если по ошибке введен в поле для 3 параметра текст, то эта функция возвратит -0, но если в этом поле присуствует и текст и число, то функция возвратит это число.
;
MsgBox
($sMes[0],$sMes[1],$sMes[2],$sMes[3])
Return "message was showed"
;возвращает, если все пройшло гуд.
Else  
    Return
"message was not showed"
;Нет сообщения, нет окна!
EndIf
EndFunc
;_CreateMessage($sMsg)

Всего записей: 165 | Зарегистр. 17-06-2008 | Отправлено: 21:17 31-05-2009 | Исправлено: vicbox777, 00:36 01-06-2009
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Написание instant messaging Бота на AutoIt


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru