Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

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


Ещё. Что означает в свойствах объекта : ImeMode? и как мне можно открыть папку (Файл открывать при помощи Shell - за это отдельное спасибо. Теперья знаю как можно создать свой авторан ) ?

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



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

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


Ветеран


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

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


Или считываем построчно файл, как в девятом посте, на тот случай если инфа ещё будет нужна в виде переменной, что б не считывать заново и не выспрашивать её у ComboBox1 тогда просто пишем, в общем случаи
Цитата Uzvern:
ComboBox1.Items().Add(*перемнная*) »
а конкретно по примеру
ComboBox1.Items().Add(AllText)
или прямо в него в цикле записываем, правильнее сказать, добавляем строчки
Код: Выделить весь код
Dim AllText As String = "", LineOfText As String = ""
        FileOpen(1, "File.log", OpenMode.Append)
        Do Until EOF(1)
           ComboBox1.Items().Add(LineInput(1)) 
        Loop
кстати можно писать и без () после Items -> ComboBox1.Items.Add(LineInput(1))

Это будет смешно, но опять же, с помощью команды Shell, есть отдельные команды специально для открытия папок, но это самое простое.
В это случаи необходимо будет передавать параметром имя "Експлорер" и папку на открытия в нём Shell("Explorer.exe C:\")
Кстати, возможно понадобится подрегулировать параметры запуска через запятую после " AppWinStyle далее точка и нужный эффект открытия.
По сути Shellу можно скормить практически тоже, что и cmd. Я его когда Winampom кормил, пока не умел музыку самостоятельно играть в проге.
Так же в VB есть файловые диалоги, специально для файлов и папок, возможно они подойдут больше. Они лежат на палитре компонентов, так что запоминать их имена не обязательно.

ImeMode, честно говоря я уже подумал что это уже .NETовское нововведение, не тут-то было, в VB6 он тоже есть. В VB2008 есть даже таблица соотношений. Но я про него не знал, ибо не было в нём надобности.
Цитата Справка по Visual Basic 2008 Express про IMEMode:
An IME is a program that enables users to enter complex characters and symbols, such as Japanese Kanji characters, using a standard keyboard. The ImeMode property is typically set to ImeMode..::.Off for a TextBox control that is intended to only enter numeric values. The ImeMode property value is set to ImeMode..::.NoControl for the Form class.
Кратко – IME режим даёт возможность ввод японских иероглифов со стандартной клавиатуры.

На счёт игры и её дизайн, так держать, выполнена она в хакерском стиле – главное творчество, а опыт в средствах разработки даст рост.
Это сообщение посчитали полезным следующие участники:

Отправлено: 01:49, 02-05-2008 | #32


Аватара для Uzvern

Старожил


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

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


А как можно сделать чтобы программа сворачивалась в трей? и если щелкаешь на неё правой кнопкой мыши (когда она в трее) вылезал ContextMenuStrip?

+ как сделать проверку, если в ТекстБоксе есть какие-либо символы, то они убираются из ТекстБокса, либо чтение происходит до них или после. или если существует какие-либо символы, то выполняетя определенное дейстиве, например как обычно MsgBox(123)

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


Отправлено: 13:26, 02-05-2008 | #33


Ветеран


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

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


С тре никогда не связывался, с ним в VB6 было больше мороки, в Vb2008м компонент на палитре есть, но нет желание работать с тре. Как работать с тре можно посмотреть вот здесь http://forums.microsoft.com/MSDN/Sho...52568&SiteID=1

Проверить равенство на пустой символ
Код: Выделить весь код
        If TextBox1.Text = "" Then
            MsgBox("123")
        End If
До определённого символа это равноценно работы со строками, с нини лучше, стандартно забиваем в переменную и по символьно в цыкле проверяем елементы строки/массива, если найденный нужный убираем всё что заним.
Так же можно попробовать запрет ввода сего символа, что б потом не искать, например вот так можно вводить в ТекстБокс из символов только числа
Код: Выделить весь код
    
    Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
        Select Case e.KeyChar
            Case "0" To "9"
            Case Else
                e.KeyChar = ""
        End Select
    End Sub

Отправлено: 14:55, 02-05-2008 | #34


Аватара для Uzvern

Старожил


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

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


Цитата Admiral:
С тре никогда не связывался, с ним в VB6 было больше мороки, в Vb2008м компонент на палитре есть, но нет желание работать с тре. »
Круто! Спасибо. Разобрался.

В что делаеют вот эти как бы их назвать...действия... : Handles Me.Validated и Handles Me.Validating

И как сделать проверку, если окно свернуто/развенуто/находится в нормальном состоянии.

Отправлено: 15:24, 02-05-2008 | #35


Аватара для Uzvern

Старожил


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

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


Вот ещё сабж: как это можно реальзовать

Цитата ICQ:
Ху***** в прогу окно текстовое , делаешь чтобы в него подгружалась интренет страница , после подгрузки страницы в окно ишешь определённый текст и всё а дальше если есть текст то ...... Нету текста .......

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


Ветеран


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

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


Handles Me.Validated/Handles Me.Validating - понятия не имею, не сталкивался, в VB6 его вообще не было. Беглый просмотр справки: вроде как момент ловления событий адрессованых системой окну (новое для VB и стандарт для C++/Delphi), а также что-то про сохранение значений (от слова Value – Значения), точнее не скажу, надо столкнутся или книг умных почитать на досуге.

Именно проверка: If Me.WindowState <> FormWindowState.Minimized Then / If Me.WindowState <> FormWindowState.Maximized Then / If Me.WindowState <> FormWindowState.Normal Then
момент срабатывания свёртывания, развёртывания, нормализации нужно отловить. Возможно и с помощью Validated/Validating

Не тривиальная это задача, по крайне мере в VB6 была, нужен компонент Internet Explorer, на палитре нужно поискать.

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


Аватара для Uzvern

Старожил


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

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


А как сделать это?

в прогу окно текстовое , делаешь чтобы в него подгружалась интренет страница , после подгрузки страницы в окно ишешь определённый текст и всё а дальше если есть текст то ...... Нету текста .......

Отправлено: 17:13, 02-05-2008 | #38


Аватара для Uzvern

Старожил


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

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


Цитата Admiral:
Возможно и с помощью Validated/Validating »
Хм...идея! я понял как можно сделать примитивную проверку про помощи таймера

Код: Выделить весь код
Public Class Form1
    Dim norm As Integer = 0, min As Integer = 0, max As Integer = 0

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Timer1.Interval = 10
        Timer1.Enabled = True
    End Sub

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        Valid_WinStat()
    End Sub

    Private Sub Valid_WinStat()
        If norm = 0 And Me.WindowState = FormWindowState.Normal Then
            norm = 1
            min = 0
            max = 0
            MsgBox(1)
        End If

        If min = 0 And Me.WindowState = FormWindowState.Minimized Then
            norm = 0
            min = 1
            max = 0
            MsgBox(2)
        End If

        If max = 0 And Me.WindowState = FormWindowState.Maximized Then
            norm = 0
            min = 0
            max = 1
            MsgBox(3)
        End If

    End Sub
End Class
Начинаю хоть что-то потихоньку понимать и соображать

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


Аватара для Uzvern

Старожил


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

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


Как добавлять и удалять значения из реестра?

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



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




 
Переход