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

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


mrcnn, 11 нужно ибо Uzvern указал этот вариант в выборке (см. код по Select Case)
Debug.Print по полной работает и в этой и в предыдущих и покидать среду разработки, это удобное средство отладки, в будущих версиях языка врятле будет.
Я знаю её по 6й в более ранних я не работал, но такая возможность описана в новшествах к VB5, плюс есть указание, что раньше (до VB5) окно называлось Debug, так что такая возможность скорей всего была ещё с первой версии.
В коде я указал ссылку, которая объясняет где смотреть появление этой переменной.

Uzvern, перед тем как отправлять код, я пару раз прогнал его и 10ка мне ни разу не выскочила (не напечаталась по Debug.Print в Immediate Window). Раз такое дело, то самым радикальным шагом будет использовать два генератора: до 10ки и после, что б даже не происходило её случайная генерация.

Код сейчас посмотрю, отпишусь через редактирование.

Отправлено: 22:33, 11-06-2008 | #121



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

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


Аватара для Uzvern

Старожил


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

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


Admiral, Debug.Print(i) - не пашет. Проверено!

Как организовать поиск определенного файла на компе? Например, "1.txt" - мне нужно узнать где он лежит.

Как предварительно получить размер файла скачиваемого из интернета и в добавок ( как получить размер файла находящегося на компьютере ) и как можно остановить/прервать скачивание?

Как отследить нажатие клавиши/клавишь, если программа находится в свернутом состоянии?

Во я вам работы привалил

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


Отправлено: 23:19, 11-06-2008 | #122


Ветеран


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

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


Цитата Uzvern:
Admiral, Debug.Print(i) - не пашет. Проверено! »
Внимание на скриншот,

собственно сам оператор пашет, это есть и на видео, не пашет установка i<>10
Для решения этого момента, как писал выше использовать два генератора до 10 и после. Очевидно, что ещё первый код работал по алгоритму, а вина выборки скорей всего зарыта в недрах .NET - Тогда и два генератора не помогут. Может в .NET 3.5 SP1 возьмутся за это, может в MicroSoft клип отправить?
Как ещё один вариант, строку кода Randomize() может поместить в саму процедуру ret()?

Цитата Uzvern:
Как организовать поиск определенного файла на компе? Например, "1.txt" - мне нужно узнать где он лежит. »
Или
Цитата Uzvern:
Как сделать поиск определенного файла? »
Ответ

Это уже немного надо знать WEB запросы, простенькие примеры такого не дают.
Simple web File download in VB.NET .Net 2003
VB.NET - Code Samples - Ping,Upload and Download using vb.net vb.net 2005
Тем немее на них стоит посмотреть, что б разобраться на более сложном
Downloading files in .Net with all informations: progressbar, download speed, supports cancel and resume

Размер локального файла можно узнать так
Код: Выделить весь код
Dim information As System.IO.FileInfo
information = My.Computer.FileSystem.GetFileInfo("C:\Boot.ini")
MsgBox(information.Length)
ответ в байтах.
How to: Get Information About a File in Visual Basic

Что ж нету в .NET хука на все случаи жизни. Так что для поимки нажатий клавишей его придётся писать.
Managing Low-Level Keyboard Hooks in VB .NET
Однако, софт подобного типа (отловить, подменить из бекграунда) стоит писать на C\C++ (возможно на Delphi), в крайнем случаи на C#.

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

Последний раз редактировалось Admiral, 12-06-2008 в 03:01. Причина: Посмотрел клип с вложения. Сразу как начал качать писал скорость 1 Кб/с, а сейчас уже домучил за 5Кб/с.

Это сообщение посчитали полезным следующие участники:

Отправлено: 02:36, 12-06-2008 | #123


Ветеран


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

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


Цитата:
Debug.Print по полной работает и в этой и в предыдущих и покидать среду разработки, это удобное средство отладки, в будущих версиях языка врятле будет.
Нету такого метода Print. Ссылки на мсдн не надо.
10-ка там не выскакивает, я прогонял в отладчике, она появляется только в цикле.
10 и 9 отлавливаются.
с чего вы решили что 10-ка не отлавливается?

-------
Ehhh.. what's up, doc?..


Отправлено: 07:59, 12-06-2008 | #124


Аватара для Uzvern

Старожил


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

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


Цитата Admiral:
Downloading files in .Net with all informations: progressbar, download speed, supports cancel and resume »
Цитата Admiral:
Simple web File download in VB.NET .Net 2003 »
Как обычно, ничего толком поять не смог. Можно на примере ?

Отправлено: 16:36, 12-06-2008 | #125


Ветеран


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

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


Что именно не получается припаять к тем примерам?

-------
Ehhh.. what's up, doc?..


Отправлено: 18:05, 12-06-2008 | #126


Аватара для Uzvern

Старожил


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

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


mrcnn, все. Желательно бы показать на примере, а пример (сами проекты/прект) прилепить сюда. Как обычно делает адмирал
читать дальше »
(только он полностью расписаный код сюда выкладывает, а тут желательно прект)
за что ему отдельное СПАСИБО!

Цитата mrcnn:
с чего вы решили что 10-ка не отлавливается? »
Качаем и смотрим вложение данного поста.

Цитата Admiral:
собственно сам оператор пашет, это есть и на видео, не пашет установка i<>10 »
Сорри. Не так выразился. Я имел ввиду : ...ео, не пашет установка i<>10...

Как сделать, чтобы программа была поверх всех окон оО

Как можно исправить это : "это" нахoдится тут (Сама программа и используемая картинка) (что-то с прозрачностью формы)
читать дальше »


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

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim i As Color = System.Drawing.Color.Magenta
        Me.BackColor = i
        Me.TransparencyKey = i
    End Sub

    Private Sub PictureBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox1.Click
        End
    End Sub
End Class

Последний раз редактировалось Uzvern, 13-06-2008 в 00:13.


Отправлено: 19:34, 12-06-2008 | #127


Ветеран


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

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


ОффТоп=>
читать дальше »
mrcnn, нет так и суда нет . Не буду, линки по этому поводу есть уже в теме.
Я честно прогнал до подтормаживания приложения ту кнопки, перед тем как давать код и десятка не встречалась. С видео, предоставленного Uzvern, спорить не собираюсь, тем более там так красочно выражается это окно, что трудно не заметить.
Свою догадку, о причинах сего поведения, я уже высказал. А собственно чему удивляться, если в языке запланировано одно, а в реализации могут ошибаться. В соседней теме по С, чётко компилятор халтурит. Так у Сишников есть широкий выбор, а для Visual Basic - microsoft является монополистом. Есть реализации от других компаний, но они не настолько известны. Выбор есть только между разными версиями:VB1-6 и VB.NET2002-2008).

Uzvern, а зачем отдельный контрол для изображения (это я про PictureBox)?
Как один из вариантов, корректно отображающих прозрачность
Код: Выделить весь код
        Me.TransparencyKey = Me.BackColor
        Dim Img As Bitmap = Bitmap.FromFile("Используемое изображение.png")
        Me.BackgroundImage = Img
System.Drawing.Color.Magenta – это цвет "прозрачности", то есть в ресурсах им раскрашивают невидимые области, для достижения прикольного эффекта. На его месте может быть любой другой, выбранный художником-кодером из вариантов от VB2008, а если этим не заморачиватся то главное что б Me.TransparencyKey = Me.BackColor
Кстати глюк имеет место http://support.microsoft.com/kb/822495 но как видно в ракурсе не отображения при цветности больше 24, то есть для альфа канала.
Окна поверх всех будет так Me.TopMost = True
(я уже видел вопрос перед этим, просто забыл отписаться по этому поводу)


Согласен, что консольный .NET2003 проект немного запутан, ну а 2008й в полном сборе: по ссылке и проект, и собранный вариант и код на странице указан, ещё с комментариями и объяснениями. Так что экспериментировать...

Отправлено: 05:01, 13-06-2008 | #128


Аватара для Uzvern

Старожил


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

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


А что на счет примеров с проектом
читать дальше »

Код с прозрачностью не пашет! Все осталось как и было (фиолетовая обводка)
Код: Выделить весь код
Public Class Form1

    Private Sub Form1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Click
        End
    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Me.BackColor = System.Drawing.Color.Magenta
        Me.TransparencyKey = Me.BackColor
        Dim Img As Bitmap = Bitmap.FromFile("1.png")
        Me.BackgroundImage = Img
    End Sub
End Class
Результат такой же как и в 127 посте

Последний раз редактировалось Uzvern, 13-06-2008 в 09:43.


Отправлено: 09:25, 13-06-2008 | #129


Ветеран


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

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


Вложения
Тип файла: txt Module1.vb.txt
(1017 байт, 22 просмотров)

ОффТоп=>
читать дальше »
Что б написать качалку такого плана (с указанными требованиями) нужно потратить много времени, а намного быстрее будет пройти у них регистрацию, что б скачать указанный пример.
А насчёт небольшого, NET2003 примера, то модуль я закрепил. Не сложно будет разобраться – нужно создать консольный проект и занести прикреплённый модуль отсюда. На сайте действительно была ошибка, они с ASP.NET один запрос WebRequestFactory взяли , что в VB.NET отсутствует, он просто краткий - WebRequest. Более подробно про сам объект HttpWebRequest..::.Connection Property

Конечно же он будет фиолетовым, в коде вед чётко указанно
Цитата Uzvern:
Me.BackColor = System.Drawing.Color.Magenta >>
а я в коде чётко написал первой строчкой
Цитата Admiral:
Me.TransparencyKey = Me.BackColor>>
и всё с палитрой после этого. Внимательность и ничего больше. Зачем Me.BackColor что-то указывать? Достаточно трёх строчек с предыдущего поста.

Отправлено: 13:21, 13-06-2008 | #130



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




 
Переход