Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » VBA - Visual Basic 2008

Ответить
Настройки темы
VBA - Visual Basic 2008

Аватара для Uzvern

Старожил


Сообщения: 161
Благодарности: 4


Конфигурация

Профиль | Сайт | Отправить PM | Цитировать


Изменения
Автор: Uzvern
Дата: 24-04-2008
Описание: Забыл дописать название темы. Прошу простить.
Подскажите как сделать так : допустим, если нажать на форме правой кнопкой мыши, то вылетет MsgBox(123), а если нажать левой, то MsgBox(098).

Спасибо за внимание.

>>Блин, не дописал в названии темы : Действие при нажатии правой кнопки

Отправлено: 17:47, 24-04-2008

 

Ветеран


Сообщения: 3320
Благодарности: 916

Профиль | Отправить PM | Цитировать


Эх... Цикл немного старый подход к сему. Я тут почитав малёк набрёл что неплохо бы задействовать свойство WebBrowser1.Document.

Кстати в апрельском номере хакера, в интерннете ещё нету, в статье "Щелкаю за бабло!" рассмотрим принцип автоматического клика C# через объект WebBrowser.

В конце статьи написано что неплохо бы написать html парсер, так что розрулив его и написав можно смело ставать автором в следующем выпуске, отправив им свою статью и прогу.

В статье приводится ссылка, может быть полезной. WebBrowserControl Автор: Олег Михайлик
По C# но тем не менее, способ работы с WebBrowser1 идентичен.

Отправлено: 02:39, 04-05-2008 | #51



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Uzvern

Старожил


Сообщения: 161
Благодарности: 4

Профиль | Сайт | Отправить PM | Цитировать


Так, с поиском мне помогли :
Код: Выделить весь код
Dim q1 = RichTextBox1.Find("<a")
        Dim q2 = RichTextBox1.Find("</a>")
        Dim qq = q2 - q1
        MsgBox(q1 & Chr(13) & q2 & Chr(13) & qq)
ТОесьт он вычисялет с какого символа начинаеться тег ("<a"), потом вычисляет с какого начинается ("</a>"), вычитает их и получается число символов между ними. дак вот мне нужно сделать чтобы он эти символы выводил.

Последний раз редактировалось Uzvern, 04-05-2008 в 17:01.


Отправлено: 11:02, 04-05-2008 | #52


Аватара для Uzvern

Старожил


Сообщения: 161
Благодарности: 4

Профиль | Сайт | Отправить PM | Цитировать


Либо можно использовать InStr и InStrRev (поиск группы символов )с начала и с конца строки, только непонятно как он работает, хотя нет. Похоже что он работает так же как и Find

Отправлено: 17:07, 04-05-2008 | #53


Аватара для Uzvern

Старожил


Сообщения: 161
Благодарности: 4

Профиль | Сайт | Отправить PM | Цитировать


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

Отправлено: 19:58, 04-05-2008 | #54


Аватара для Uzvern

Старожил


Сообщения: 161
Благодарности: 4

Профиль | Сайт | Отправить PM | Цитировать


Понял. можно при помощи функции Mid сделать чтение, ток вот щас пробую это как-то организовать....

Отправлено: 20:43, 04-05-2008 | #55


Ветеран


Сообщения: 3320
Благодарности: 916

Профиль | Отправить PM | Цитировать


Я бы копал в сторону WebBrowser1.Document.GetElementsByTagName("a").
Код читает документ и находит все теги на а. Например <a> </a>.

P.S.
Не нужно подряд писать: пост за постом от себя. Отредактировать посты так, что б инфа была в одном, а то могут наказать.

Отправлено: 20:48, 04-05-2008 | #56


Аватара для Uzvern

Старожил


Сообщения: 161
Благодарности: 4

Профиль | Сайт | Отправить PM | Цитировать


Admiral, понял, будем копать.

Цитата Admiral:
P.S.
Не нужно подряд писать: пост за постом от себя. Отредактировать посты так, что б инфа была в одном, а то могут наказать. »
Учтем

Кстати, как-то можно отправлять данные на сервер и получать ответ?
просто надо сделать 2 текстовых поля, 1 кнопку. Вводишь логин, пароль, жмешь кнопарь и он отправляет запрос на сервер , а м ы в свою очередь получаем ответ от сервера. Я так демаю если в текстовое поле ввобдишь текст, то в WebBrower он тоже должен меняться, т.е. как я понял нужно происывать это в код страницы. Это все реально сделать, только поянть немогу как сделать чтобы он отправлял значения на сервер при нажатии на кнопку?!

Вообщем обычная функция авторизации, только не на самой странице, а в программе, которая в свою очередь отправляет запрос.

Отправлено: 20:57, 04-05-2008 | #57


Ветеран


Сообщения: 3320
Благодарности: 916

Профиль | Отправить PM | Цитировать


Всё реально сделать, но это ещё более широкая тема. Тут уже надо знать и уметь работать с POST и GET методами. WebBrowser это клиентская утилита, код можно изменять, но это будет локальные изменения. Как примерно работать можно узнать из статьи про взаимодействие Delphi и PHP LiveUpdate в X-стиле
Для начала нужно у себя поднять сервер того типа, который требуется для авторизации. Это можно сделать на рабочей машине или виртуалку специально для этого подогнать, так сказать для тренировок.
Кстати, с Бейсиком 2008 Експресс, идёт 2005й SQL сервер Експресс.

Отправлено: 21:14, 04-05-2008 | #58


Аватара для Uzvern

Старожил


Сообщения: 161
Благодарности: 4

Профиль | Сайт | Отправить PM | Цитировать


вообщем необходимо организовать проверку в ComboBox, т.е. в нем например 10 значений (цифры от 10 до 100). Если в вводят текст, то он автоматически ищет существует ли данное значение в ComboBox, если существует, то он выводит похожие результаты, вообщем обычная система атозаполнения.

Отправлено: 16:02, 05-05-2008 | #59


Ветеран


Сообщения: 3320
Благодарности: 916

Профиль | Отправить PM | Цитировать


Идея следующая
Код: Выделить весь код
Dim AllText As String
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        For i As Integer = 10 To 100 Step 10
            ComboBox1.Items.Add(i)
        Next i
    End Sub

    Private Sub ComboBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles ComboBox1.KeyPress
        AllText = AllText & e.KeyChar
        Dim i As Integer = 0
        While i < ComboBox1.Items.Count
            If AllText = ComboBox1.Items.Item(i) Then
                MsgBox("Present")
            End If
            i = i + 1
        End While
        ComboBox1.Text = AllText
    End Sub
это имено идея, а не реализация так как код слишком чуствителен к клавишам. Пару БекСпейсов и приложение в ауте.

Отправлено: 18:27, 05-05-2008 | #60



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » VBA - Visual Basic 2008

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
VBA - MS Visual Basic 2008 Expres Edition файлы проекта Anton Naumov Программирование и базы данных 7 14-05-2010 14:09
VBA - Visual basic 2008 Anton Naumov Программирование и базы данных 1 02-01-2010 22:35
visual basic 6 иоанн Хочу все знать 1 27-04-2009 18:51
visual basic 6 guma Программирование и базы данных 1 26-04-2007 20:41
Visual basic carlos Программирование и базы данных 1 04-08-2003 02:03




 
Переход