Только представь, как ты будешь выглядеть в глаза своих друзей пользуясь собственноручно написанной программой. Не говоря уже о том, как поднимется твой авторитет у знакомых девушек, когда они увидят, что ты, к примеру, читаешь их письма присланные тебе собственной программой, в заголовке которой торжественно красуется надпись “By Твое Имя”. :) Итак, начнем. Для осуществления всей задумки нам понадобится: Первое – Visual Basic 6.0 Второе – знание основ работы с Visual Basic 6.0 Третье – Руки, растущие именно из плечевого пояса. Запускаем Visual Basic. В появившемся окошке New Project находим Standard EXE и открываем его дважды по нему кликнув или выделяем его и нажимаем кнопочку открыть. В результате видим перед собой пустую форму с заголовком Form1. Слега изменяем ее размеры, что бы в нее влезли все элементы нашей будущий программы. Выделяем нашу форму, кликая на нее в любом месте. Находим окно Properties( Свойства). В этом окне отображаются все свойства нашей формы. Ищем свойство Caption. Данной свойство определяет текст, который выводится в заголовке формы. Его значение по умолчанию “Form1”. Мы же меняем его на что-то вроде “TCP/IP клиент by Vasy Pupkin”. Далее ищем свойство BorderStyle. Данное свойство определяет особенности границы, окружающей форму. Граница может быть фиксированной, т.е. сохраняющей постоянные размеры, или масштабируемой – в этом случае ее размеры можно изменять перетаскиванием. Изменяем его значение на “1- Fixed Single” тем самым запрещая пользователю изменять размеры формы. Затем ищем свойство MinButton и ставим его значение “True”. Тем самым давая возможность пользователю сворачивать нашу программу. Ну вот, контейнер для нашей будущий программы готов. Теперь нужно добавить элементы управления нашим TCP/IP клиентом. Для создания интерфейса нашей программы на понадобятся следующие элементы : TextBoX – 4 шт. (текстовые поля для ввода и вывода текста) Label – 2 шт. (надписи) CommandButton – 3 шт. (Кнопочки управления) Все элементы управления находятся на Панели управления. Кидаем на нашу форму первый элемент, TextBox . Выделяем его и обращаемся к окну Свойства. Находим там свойство (Name).По умолчанию его значение равно “Text1”.Оставляем его таким ,как есть, если оно имеет какое-либо другое значение, то присваиваем ему значение “Text1”. Ищем свойство Locked. Изменяем его значение на “True”. Тем самым запрещая пользователю редактировать текст в этом Текстовом поле. Следующим, найденным нами свойством, должно быть MultiLine. Выставляем ему значение “True”. И последним свойством, которые мы должны изменить у Text1, будет ScrollBars. Выставляем ему значение “2-Vertical”. Добавляем на форму еще 3 элемента управления TextBox. Их свойства оставляем без изменений. Единственно, что делаем – проверяем у всех 3х элементов свойство (Name). Оно должно быть Text2, Text3 и Text4 соответственно. Если это не так, то изменяем его на требуемые. Идем дальше. Добавим на форму два элемента управления типа Label. У первого в свойствах найдем пункт Caption и присвоим ему значение “Адрес :”. У второго найдем тот же пункт в свойствах и присвоим ему значение “Порт :”. Свойство (Name) у обеих должно быть Label1 и Label2 соответственно. И последним типом элементов в нашей программе будет CommandButton. Кинем на форму первый элемент CommandButton. Найдем у него свойство Caption и присвоим ему значение “Соединить”. Значение свойства (Name) должно быть “Command1”.Добавим еще один элемент Command Button. Найдем у него свойство Caption и присвоим ему значение “Отключить”. И у последнего добавленного элемента CommandButton на форму значением свойства Caption должно быть “Ok”. Ну, и наконец добавим самый главный элемент наше программы, который сделает из бесполезного набора кнопочек и окошек TCP/IP клиент. Он называется Winsock. Для того, чтобы добавить его в наш проект нужно щелкнуть правой кнопкой на Панели управления. Во всплывшем меню выбрать пункт Components…(Компоненты). В появившемся окне поставить галочку напротив пункта “Microsoft Winsock Control 6.0 (SP5)” и нажать кнопку применить. После этого на панели элементов появится новый элемент Winsock ( в виде двух маленьких дисплеев). Его надо перетащить на нашу форму. Место ,куда вы его поместите на форме не имеет значения, потому как в процессе выполнения программы он будет невидим. Ну вот, можно себя поздравить самая основная работа уже сделана. :) Теперь нужно изменить масштаб и местоположения всех элементов на форме, что бы внешний вид программы был примерно следующим: Итак, внешний вид программы мы удачно сотворили. Теперь осталось всего ничего, заставить всю эту груду пикселей работать. :) Пишем код. В событие Click нашей первой кнопки Command1 вставляем следующий код: If Text2.Text > "" And Text2.Text > "" Then ‘Проверят наличие адреса и порта Text1.Text = "" ‘Чистит главное окно вывода информации Winsock1.Close ‘ Закрывает соединение, если такое имело место быть Winsock1.RemoteHost = Text2.Text ‘задает винсоку адрес сервера, с которым нужно соединиться Winsock1.RemotePort = Text3.Text ‘задает порт, через которое будет осуществляться соединение Winsock1.Connect ‘Команда, активирующая соединение с удаленным сервером Command1.Enabled = False Command2.Enabled = True End If Для второй кнопочки (Command2) в событие Click вставим следующий код: Winsock1.Close ‘Закрывает соединение с сервером. Command1.Enabled = True Command2.Enabled = False Text1.Text = Text1.Text + "Disconnected..." + vbCrLf В событие Click кнопки Command3 добавим: Dim msg As String msg = Text4.Text ‘считывает в переменную msg информацию, котора должна быть отправлена на сервер If Winsock1.State = sckConnected Then ‘проверяет наличие соединения с сервером Winsock1.SendData msg + vbCrLf ‘Отсылает данные хранящиеся в переменной msg на сервер и добавляет в конце каждой команды символ возврата каретки (Enter). Text4.Text = "" End If Выбираем событие Load наше формы и вписываем туда: Text2.Text = "" Text3.Text = "" Text4.Text = "" Text1.Text = "" И наконец, находим у компонента Winsock событие DataArrival. Данное событие происходит тогда, когда наша программа получает какую-либо информациу от сервера. Впишем туда следующий код: Dim msg As String Winsock1.GetData msg, , bytesTotal ‘получает информацию от сервера и заносит ее в переменную msg Text1.Text = Text1.Text + msg + vbCrLf ‘Выводит полученую информацию от сервера в главное окно программы. Ну вот и все, в результате всех телодвижений у нас должен получится следующий код: Private Sub Command1_Click() If Text2.Text > "" And Text2.Text > "" Then Text1.Text = "" Winsock1.Close Winsock1.RemoteHost = Text2.Text Winsock1.RemotePort = Text3.Text Winsock1.Connect Command1.Enabled = False Command2.Enabled = True End If End Sub Private Sub Command2_Click() Winsock1.Close Command1.Enabled = True Command2.Enabled = False Text1.Text = Text1.Text + "Disconnected..." + vbCrLf End Sub Private Sub Command3_Click() Dim msg As String msg = Text4.Text If Winsock1.State = sckConnected Then Winsock1.SendData msg + vbCrLf Text4.Text = "" End If End Sub Private Sub Form_Load() Text2.Text = "" Text3.Text = "" Text4.Text = "" Text1.Text = "" End Sub Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long) Dim msg As String Winsock1.GetData msg, , bytesTotal Text1.Text = Text1.Text + msg + vbCrLf End Sub Как видно, ничего сложного и громоздкого тут нет. Все пишется буквально за 5 минут. Когда будешь пробывать сее творение в действие, не забудь подружить его со своим файрволом, а то иначе будет облом. На этом все. УДАЧИ! :)
|