VBA - Visual Basic 2008

Ответить
Аватара пользователя
Admiral

Re: VBA - Visual Basic 2008

Сообщение Admiral »

Идея следующая



Код:

Код: Выделить всё

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

это имено идея, а не реализация так как код слишком чуствителен к клавишам. Пару БекСпейсов и приложение в ауте.
Аватара пользователя
Uzvern

Re: VBA - Visual Basic 2008

Сообщение Uzvern »

Вообщем, ещё одна трабла : Необходимо написать прогу, которая бы удаляла файлы по маске (*а.txt) , либо в имени которых есть только цифры (*цифры*.txt) или только буквы (*любые буквы*.txt)



Просто решил немного поэсперементировать с создниями файла, создал прогу



Код:

Код: Выделить всё

Public Class Form1
    Dim i = 1
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Do Until i = 0
            i = i + 1
            FileOpen(1, i & ".txt", OpenMode.Append)
            PrintLine(1, "123")
            FileClose(1)
        Loop
    End Sub
End Class

после того, как она работала 30 секунд, я её остановил, создалось несколько тысяч файлов. Вот теперь хочу сделать чтобы вторая программа удаляла все эти файлы Изображение





Можно как-то выдирать значения из переменной?

Например у меня перемнная





Код:

Код: Выделить всё

Dim i("Привет", "Hello"), z

если z =0, тогда выдирается первое значение, если z=1, выдирается второе значение. Это малый пример. мне необходимо сделать чтобы все это происходило автоматически, а не прописывать каждое значение в ручную, как например

Код:

Код: Выделить всё

If z = 0 Then i = "Привет"



Можно ли как-то в GoTo сделать не одно действие, а несколько?
Аватара пользователя
Admiral

Re: VBA - Visual Basic 2008

Сообщение Admiral »

Да. Ток щас ещё один вопрос возник : как сделать чтобы он отправлял не только буквы, но и нажатия клавишь "Ctrl", "Alt" и т.д. как это сделать?
Вложения
WindowsApplication1.rar
(13.32 КБ) 0 скачиваний
WindowsApplication1.rar
(13.32 КБ) 0 скачиваний
Аватара пользователя
Admiral

Re: VBA - Visual Basic 2008

Сообщение Admiral »

Писать аргумент функции SendKeys.SendWait нужно в таком виде "{Ctrl}", "{Alt"}" Ctrl - "^", Alt - "%".

Вот так нажмём Enter

SendKeys.SendWait("{Enter}")

Можно ещё и комбинации передавать, например Ctrl+V будет так

SendKeys.SendWait(^V)

По остальным комбинациям нужно
смотреть
их терминальные символы аналоги.
Аватара пользователя
Uzvern

Re: VBA - Visual Basic 2008

Сообщение Uzvern »

Чет не хочет он {Ctrl} воспринимать Изображение
Аватара пользователя
Admiral

Re: VBA - Visual Basic 2008

Сообщение Admiral »

DeleteSubKey - удаляет параметра, DeleteSubKeyTree - удаляет раздел.
Аватара пользователя
Uzvern

Re: VBA - Visual Basic 2008

Сообщение Uzvern »

Хм...как я понял, можно каким-то способом получить хэш. Как это можно организовать?



+ ещё : как можно сделать, чтобы когда открыта программа и реестр, то выбраная ветка/значение записывалось в программу?!



Как отменить закрытие формы?



как сделать чтобы она не закрывалась непонимаю.





Код:

Код: Выделить всё

Private Sub Form1_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
        Dim i
        i = MsgBox("Выйти из программы?", MsgBoxStyle.YesNo Or MsgBoxStyle.Question, "Выйти?")
        Select Case i
            Case MsgBoxResult.No
        End Select
    End Sub

Как я понял, нужно копать где-то здесь : CancelButton, но это не точно
Аватара пользователя
Admiral

Re: VBA - Visual Basic 2008

Сообщение Admiral »

Красиво, со вкусом.


Цитата 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[/i].

Я оформил в виде функции, использовать её можно так

MsgBox(FileOrDirectory("C:\Program Files\")

MsgBox(FileOrDirectory("C:\boot.ini")

Да и любые пути и файлы, впрочем Uzvern ещё тогда вокруг да около возле нужных команд шёл разговор Изображение


Цитата Uzvern:



Dir("C:\Program Files\") - выводит "Это папка", если Dir("C:\boot.ini") - выводит "Это файл".
VBA - Visual Basic 2008
Аватара пользователя
Uzvern

Re: VBA - Visual Basic 2008

Сообщение Uzvern »

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



Например у мнея 3 слов : "String String String" их может быть сколько угодно.

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



2. Как создать папку?
Аватара пользователя
Admiral

Re: VBA - Visual Basic 2008

Сообщение Admiral »

Составив цикл и комбинировав операторы чтения из реестра. Но если ветки массивные приложение будет подтормаживать.
Ответить

Вернуться в «Программирование и базы данных»