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

Компьютерный форум 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

 

Аватара для Uzvern

Старожил


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

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


А я нашел более простой спопсоб :
Код: Выделить весь код
My.Computer.Keyboard.SendKeys("A")

Отправлено: 22:57, 24-05-2008 | #81



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

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


Ветеран


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

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


Так у меня та же команда SendKeys, только без Нейм Спейса. А кратко как в VB6м.
И куда одна строчка кода отправит в этом случаи клавишу "A"? В активное окно, которое пользователь выберет?

Отправлено: 23:12, 24-05-2008 | #82


Аватара для Uzvern

Старожил


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

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


Да. Ток щас ещё один вопрос возник : как сделать чтобы он отправлял не только буквы, но и нажатия клавишь "Ctrl", "Alt" и т.д. как это сделать?

Отправлено: 23:23, 24-05-2008 | #83


Ветеран


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

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


Писать аргумент функции SendKeys.SendWait нужно в таком виде "{Ctrl}", "{Alt"}" Ctrl - "^", Alt - "%".
Вот так нажмём Enter
SendKeys.SendWait("{Enter}")
Можно ещё и комбинации передавать, например Ctrl+V будет так
SendKeys.SendWait(^V)
По остальным комбинациям нужно смотреть их терминальные символы аналоги.

Последний раз редактировалось Admiral, 24-05-2008 в 23:51. Причина: Uzvern уточнит по поводу {Ctrl} и по {Alt} как следствие


Отправлено: 23:29, 24-05-2008 | #84


Аватара для Uzvern

Старожил


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

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


Чет не хочет он {Ctrl} воспринимать

Отправлено: 23:36, 24-05-2008 | #85


Ветеран


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

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


Uzvern, А что вообще прога должна делать при Ctrl? Это часть команды в основном. Да это я чёто уже не то пишу, писал по аналогии с Enter.
Правильно Ctrl как ^, а Alt как %
Что б ничего не напутать в будущем, вот стоит почитать SendKeys Class

Отправлено: 23:45, 24-05-2008 | #86


Аватара для Uzvern

Старожил


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

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


Фух...все-таки я добил его и понял как отменять заверытие формы.

Код: Выделить весь код
Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
        Dim ms
        ms = MsgBox("Выйти из программы?", MsgBoxStyle.YesNo, "Выйти?")
        If ms = MsgBoxResult.No Then
            e.Cancel = True
        End If
    End Sub

Отправлено: 00:17, 26-05-2008 | #87


Ветеран


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

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


Красиво, со вкусом.
Цитата Uzvern:
Как отпределить : файл или папка post=805673]»[/post]
Я тут одну старую програмулину на VB6м исправлял и нашёл достаточно толковый код по вопросу.
Код: Выделить весь код
Function FileOrDirectory(ByVal Path As String) As String
        If Dir(Path, FileAttribute.Directory) <> "" Then
            Return "Directory"
        Else
            Return "File"
        End If
End Function
Только что проверил. Работает и в VB.NET 2008м, изменив на новую константу FileAttribute.Directory вместо VB6й vbDirectory.
Я оформил в виде функции, использовать её можно так
MsgBox(FileOrDirectory("C:\Program Files\")
MsgBox(FileOrDirectory("C:\boot.ini")
Да и любые пути и файлы, впрочем Uzvern ещё тогда вокруг да около возле нужных команд шёл разговор
Цитата Uzvern:
Dir("C:\Program Files\") - выводит "Это папка", если Dir("C:\boot.ini") - выводит "Это файл". »
Это сообщение посчитали полезным следующие участники:

Отправлено: 01:16, 26-05-2008 | #88


Аватара для Uzvern

Старожил


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

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


1. Как можно сделать чтобы программа начинала поиск не с певого симола, а с символа последнего найденого слова ?

Например у мнея 3 слов : "String String String" их может быть сколько угодно.
Необходимо сделать чтобы она искала слово : "String". И чтобы можно было выполнять операцию вниз и вверх (вперед, назад).

2. Как создать папку?

Отправлено: 15:48, 28-05-2008 | #89


Аватара для Uzvern

Старожил


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

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


Всем спасибо. С поиском разобрался, только пока что он работет только в одну сторону :
Код: Выделить весь код
Public Class Form1
    Dim FindingString As String = "asdgfsdfgsdfgsdfgStringsdfgsdfgsdfgStringsdfgsdfgsdfgString"
    Dim FindString As String = "String"
    Dim FirstTemp As String = ""
    Dim SecondTemp As String = ""
    Dim ValidateTemp As Integer = 0

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        If ValidateTemp = 0 Then
            ValidateTemp = 1
            FirstTemp = FindingString
            SecondTemp = Mid(FirstTemp, InStr(FirstTemp, FindString))
            FirstTemp = SecondTemp
            MsgBox(FirstTemp)
        Else
            SecondTemp = Mid(FirstTemp, InStr(FirstTemp, FindString) + Len(FindString))
            FirstTemp = SecondTemp
            SecondTemp = Mid(FirstTemp, InStr(FirstTemp, FindString))
            FirstTemp = SecondTemp
            MsgBox(FirstTemp)
        End If
    End Sub
End Class
Думал не допру как сделать, но бошка походу варит если сделал.


С созданием папок тоже разобрался (Правда приходится создавать через cmd) :

Код: Выделить весь код
Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Shell("cmd /C MD C:\123", AppWinStyle.Hide)
        End
    End Sub
End Class

Отправлено: 01:18, 30-05-2008 | #90



Компьютерный форум 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




 
Переход