Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Вопрос по VB

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Компилируемые языки] >> Вопрос по VB
Имя
Сообщение << Старые топики   Новые топики >>
Вопрос по VB - 2010-02-24 19:10:37.956666   
marcuis

Сообщений: -21
Оценки: 0
Присоединился: 2009-10-01 21:05:30.400000
Всем добрый день! Народ подскажите плз, что надо исправить в ICQ боте, чтоб он, когда в моей проге вводили логг-пасс и нажимали старт, отправлял эти данные на аську. Т.е. там система такая, он коннектится на левую аську и с неё уже отсылает эти данные на мою. Заранее спасибо!

Вот исходник ICQ бота

'Данные и структуры Const BuffSize = 10 'размер буфера отправки (очередь) 'пользовательский типо уин/сообщение Private Type UIN_MSG UIN As String MSG As String End Type Dim Buff(BuffSize) As UIN_MSG 'собственно сама очередь 'загрузка формы Private Sub Form_Load() Timer1.Interval = Int(text_ping) 'присваиваем интервал Timer2.Interval = Int(text_send) 'присваиваем интервал 'присваиваем контролу uin и пароль бота icq.UIN = "****" 'уин левой аськи icq.Pass = "*****" 'пасс левой ськи Timer1.Enabled = False 'выключаем пинг-таймер Timer2.Enabled = True 'включаем рассыльщик End Sub 'кнопка "включить" Private Sub but_on_Click() Timer1.Enabled = Not Timer1.Enabled 'включение/выключение таймера If Timer2.Enabled Then but_on.Caption = "Выключить" Else but_on.Caption = "Включить" icq.CloseConnection End If End Sub 'Пинг- таймер Private Sub Timer1_Timer() If Int(text_ping) &lt; 100 Then text_ping = 100 'исключаем нулевое значение и слишком быстрый пинг Timer1.Interval = Int(text_ping) 'присваиваем интервал 'ïðîâåðêà êîííåêòà If icq.KeepAlive = False Then trace "Подключаемся..." icq.login End If End Sub 'Добавление строки в текст бокс Private Sub trace(ByVal text As String) text_trace = text_trace & text & vbCrLf 'добавка If Len(text_trace) &gt; 16000 Then text_trace = "" 'проверка на переполнение text_trace.SelStart = Len(text_trace) 'прокрутка End Sub 'Событие "в сети" Private Sub icq_Connected() trace "Â ñåòè!" 'выводим текст icq.SetStatus FFC 'делаем статус "готов поболтать" End Sub 'событие ошибки подключения Private Sub icq_ControlError(ByVal data As String) trace "Ошибка: " & data End Sub 'Пришло сообщение Private Sub icq_MsgRecv(UIN As String, MSG As String) 'нашь ответ Dim ans As String Dim i As Integer ans = "" '=================== обработка команды ======================== Select Case MSG 'условия Case "!help": ans = ReadFile(App.Path & "\help.txt") 'отправляем содержимое файла help.txt в ответ на команду !help 'case ... '.... '... пишем тут обработку ваших команд ... '... Case Else 'если ни одно из условий не выполняется то: ans = "Неивестная команда" End Select '=================== добавляем ответ в буфер ================== 'перебираем буфер For i = 0 To BuffSize 'если нашли место: If Buff(i).UIN = "" Then Buff(i).UIN = UIN 'забиваем uin на который отослать Buff(i).MSG = ans 'сабиваем в буфер сообщение Exit For 'выходим из цыкла End If Next i 'добавляем текст trace UIN & ": " & MSG End Sub 'таймер рассылки Private Sub Timer2_Timer() Dim i As Integer If Int(text_send) &lt; 100 Then text_send = 100 'исключаем нулевое значение и слишком быструю отправку Timer2.Interval = Int(text_send) 'присваиваем интервал 'ищем неотправленное сообщение в буфере 'перебираем буфер For i = 0 To BuffSize 'если нашли: If Buff(i).UIN &lt;&gt; "" Then icq.SendMessage Buff(i).UIN, Buff(i).MSG 'отправляем Buff(i).UIN = "" 'чистим Buff(i).MSG = "" Exit For 'выходим из цыкла End If Next i End Sub '============ вспомогательные функции ==================================== 'запись в файл Public Sub WriteFile(ddata As String, ffile As String) Dim f As Long f = FreeFile Open ffile For Append As #f Print #f, ddata Close #f End Sub 'чтение файла Public Function ReadFile(sfile As String) As String On Error GoTo err Dim fff As Long Dim sBuff As String fff = FreeFile ReadFile = "" Open sfile For Input As #fff Do While Not (EOF(fff)) Line Input #fff, sBuff ReadFile = ReadFile & sBuff & vbCrLf Loop err: Close #fff End Function

т.е. подскажите, как его переделать, чтоб он делал только следующее - когда в моей проге вводят логг-пасс нажимают старт, бот сразу же эти данные отсылал мне на аську. Кому не сложно помогите плз. И ещё вопрос, это бот коннектится на левую ську, только когда нажимаешь кнопку "включить", а как сделать, чтоб когда запускали мою прогу, он автоматически коннектился сразу
Post #: 1
RE: Вопрос по VB - 2010-02-24 19:32:15.816666   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333

quote:

ORIGINAL: marcuis
Народ подскажите плз, что надо исправить в ICQ боте, чтоб он, ….


Берёшь и пишешь сам своего бота.
Post #: 2
RE: Вопрос по VB - 2010-02-24 20:00:40.806666   
Lost_boy

Сообщений: 327
Оценки: 0
Присоединился: 2009-03-25 11:07:27.910000
Это невозможно сделать ввиду твоей спецификации бота, он заточен под другой функциональный набор. Единственный выход самому написать.
Post #: 3
Страниц:  [1]
Все форумы >> [Компилируемые языки] >> Вопрос по VB







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.