Текущее время: 26 сен 2017, 16:42


Создание ICQ клиента

Создание ICQ клиента

Сообщение xakep » 24 янв 2011, 13:33

В этой статье я расскажу о том как использовать библиотеку VbIcq4. В качестве примера мы создадим простейший icq клиент, который будет уметь:
Логиниться к сереру ICQ
Принимать сообщения
Отправлять сообщения

Что понадобиться?

Библиотека VbIcq4 для .NET - 1 штука
Microfoft Visual Studio 2003 или выше (Автор рекомендует использовать Express-редакцию 2008 или 2010 студии. )
Времени: Не более 30 минут
Терпения и знаний: Совсем чуть чуть

xakep

Автор темы
Аватара пользователя
Прохожий
 
BANNED
Сообщения: [ 11 ]
Зарегистрирован: 24 янв 2011, 13:08
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Создание ICQ клиента

Сообщение xakep » 24 янв 2011, 13:38

Создаем проект

У нас есть Visual Studio, библиотека VbIcq скачена. Начнем! Запускаем студию, выбираем Приложение Windows Forms:

Скрытый текст:
Создание ICQ клиента

Теперь нарисуем на форме элементы управления:
Скрытый текст:
Создание ICQ клиента

Думаю, с этим проблем возникнуть не должно. Теперь добавим к проекту нашу библиотеку: щёлкаем правой кнопкой мыши по нашему проекту в обозревателе решений(справа) и выбираем Добавить ссылку. В появившемся окне выбираем нашу бублиотеку:
Скрытый текст:
Создание ICQ клиента

Пишем код

Перейдем к десерту. Создадим объект vbicq а также напишем код для кнопок и событий движка:
Код: Выделить всё
Public Class Form1
    Public WithEvents icq As New vbicq4.vbicq4  'создаем объект движка
    'делегирование события ошибки
    Delegate Sub ErrDelegate(ByVal d As String)
    'делегирование события приема сообщения
    Delegate Sub MsgDelegate(ByVal u As String, ByVal m As String)
    'делегирование события соединения
    Delegate Sub OnConDelegate()

    'Кнопка "Подключить"
    Private Sub Button1_Click(ByVal sender As System.Object, _
                              ByVal e As System.EventArgs) Handles Button1.Click
        icq.UIN = TextBox1.Text         'задаем uin
        icq.pass = TextBox2.Text        'задаем пароль
        icq.connect()                   'подключаемся
        TextBox3.Text = "Подключаемся..." & vbCrLf
    End Sub

    'Кнопка отправить:
    Private Sub Button2_Click(ByVal sender As System.Object, _
                              ByVal e As System.EventArgs) Handles Button2.Click
        If icq.KeepAlive Then   'проверрим, в сети ли мы
            'если да - отправим сообщение:
            icq.SendMessage(TextBox4.Text, TextBox5.Text)
            'Выведем текст в чат
            TextBox3.Text &= "Моя говорить " & TextBox4.Text & ": " & _
                            TextBox5.Text & vbCrLf
            'очистим поле сообщения
            TextBox5.Text = ""
        Else
            TextBox3.Text &= "Вы не в сети" & vbCrLf
        End If
    End Sub

    'Если зашли в асю
    Private Sub icq_onConnect() Handles icq.onConnect
        'Проверяем на ошибку доступа из разных потоков:
        If InvokeRequired Then
            Me.BeginInvoke(New OnConDelegate(AddressOf icq_onConnect))
            Exit Sub
        End If
        'Напишем что мы в сети
        TextBox3.Text &= "В сети!" & vbCrLf
    End Sub

    'Если нас выкинуло:
    Private Sub icq_onDisconnect() Handles icq.onDisconnect
        'Проверяем на ошибку доступа из разных потоков:
        If InvokeRequired Then
            Me.BeginInvoke(New OnConDelegate(AddressOf icq_onDisconnect))
            Exit Sub
        End If
        'Напишем что мы в сети
        TextBox3.Text &= "Вылетели" & vbCrLf
    End Sub

    'если произошла ошибка:
    Private Sub icq_onError(ByVal Description As String) Handles icq.onError
        'Проверяем на ошибку доступа из разных потоков:
        If InvokeRequired Then
            Me.BeginInvoke(New ErrDelegate(AddressOf icq_onError), Description)
            Exit Sub
        End If
        'Выводим текст ошибки
        TextBox3.Text &= "Ошибка: " & Description & vbCrLf
    End Sub

    'Если пришло сообщение:
    Private Sub icq_onMessage(ByVal uin As String, _
                              ByVal message As String) Handles icq.onMessage
        'Проверяем на ошибку доступа из разных потоков:
        If InvokeRequired Then
            Me.BeginInvoke(New MsgDelegate(AddressOf icq_onMessage), _
                           New Object() {uin, message})
            Exit Sub
        End If
        'Печатаем сообщение:
        TextBox3.Text &= uin & ": " & message & vbCrLf
    End Sub

End Class


Запускаем, вводим UIN и пароль, наблюдаем работу библиотеки:
Скрытый текст:
Создание ICQ клиента


Библиотека VBCQ
Скрытый текст. Необходимо зарегистрироваться.

Всем спасибо !
Последний раз редактировалось HAMMER 24 янв 2011, 14:26, всего редактировалось 15 раз(а).

xakep

Автор темы
Аватара пользователя
Прохожий
 
BANNED
Сообщения: [ 11 ]
Зарегистрирован: 24 янв 2011, 13:08
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Создание ICQ клиента

Сообщение HAMMER » 24 янв 2011, 13:55

изображения добавь через вложения
АКЦИЯ: Каждому флудеру/оффтопщику - день бана в подарок! Приведи с собой друга и отгреби за двоих!

VIP группа на форуме BestCoding.info

FAQ по SEO (постепенно пополняется)
Мой любимый форум phpBB

Аватара пользователя
Администратор
 
Сообщения: [ 930 ]
Зарегистрирован: 20 янв 2011, 13:54
Откуда: Зеленоград
Благодарил (а): 9 раз.
Поблагодарили: 85 раз.

Re: Создание ICQ клиента

Сообщение Koful » 24 янв 2011, 19:56

а можно как-то свой сервер ICQ создать?

Аватара пользователя
Застенчивый
 
Сообщения: [ 73 ]
Зарегистрирован: 24 янв 2011, 19:08
Благодарил (а): 3 раз.
Поблагодарили: 1 раз.

Создание ICQ клиента

Сообщение akella » 11 фев 2011, 00:47

У ICQ один центральный сервер, принадлежащий сейчас mail.ru, и других не может быть, но можно сделать свой jabber сервер.

Аватара пользователя
Администратор
 
Сообщения: [ 2 ]
Зарегистрирован: 25 янв 2011, 20:49
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Создание ICQ клиента

Сообщение dead » 22 фев 2011, 16:34

а если создать свой сервер то все к нему подключенные, вся переписка у тебя и пароли тоже?

Аватара пользователя
Прохожий
 
Сообщения: [ 17 ]
Зарегистрирован: 22 фев 2011, 16:14
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Создание ICQ клиента

Сообщение HAMMER » 22 фев 2011, 17:11

что за тупой вопрос? если вы создаете свой сервер, то естественно все данные будут храниться на нем
АКЦИЯ: Каждому флудеру/оффтопщику - день бана в подарок! Приведи с собой друга и отгреби за двоих!

VIP группа на форуме BestCoding.info

FAQ по SEO (постепенно пополняется)
Мой любимый форум phpBB

Аватара пользователя
Администратор
 
Сообщения: [ 930 ]
Зарегистрирован: 20 янв 2011, 13:54
Откуда: Зеленоград
Благодарил (а): 9 раз.
Поблагодарили: 85 раз.

Создание ICQ клиента

Сообщение vitaljaa » 28 фев 2011, 20:55

вещ хорошая но qip лутше)

Аватара пользователя
Прохожий
 
Сообщения: [ 13 ]
Зарегистрирован: 28 фев 2011, 20:32
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Создание ICQ клиента

Сообщение heretic » 19 июл 2011, 11:20

:) мне понравилось

Аватара пользователя
Прохожий
 
Сообщения: [ 1 ]
Зарегистрирован: 19 июл 2011, 11:16
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Создание ICQ клиента

Сообщение sozzuro » 03 май 2015, 16:00

спасибо, всё работает

Аватара пользователя
Прохожий
 
Сообщения: [ 1 ]
Зарегистрирован: 03 май 2015, 15:58
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.


Вернуться в .NET

Кто сейчас на конференции

Зарегистрированные пользователи: нет зарегистрированных пользователей

cron