VBNet
VBMania
Ссылки: |
Господа!!! читайте MSDN!!! Несколько слов от автора:
Новый выпуск.
Читайте! Содержание выпуска
Aslof рекомендует Ищешь фильм? http://subscribe.ru/catalog/rest.cinema.filmforyou Сайт рассылки - http://aslof.balzer.ru/ Как приостановить выполнение программы на некоторое время? Вопрос: Как сделать такую вещь: программа в процессе работы должна сделать паузу, ну скажем на 2 секунды, и в это время ничего не делать! То есть просто подождать и продолжать выполнение работы. Ответ: Для начала нужно объявить в форме или в модуле (тогда печатать Private или Public соответственно) в разделе "(Generals)" объявить API-функцию Sleep следующим образом: Public Declare Sub Sleep Lib "kernel32" Alias "Sleep" (ByVal dwMilliseconds As Long) Теперь вызвать эту функцию: Sleep (количество миллисекунд), где количество милисекунд это число от 1 до ~64000. Для справки: 1 секунда = 1000 миллисекунд. Игорь наверх Как запустить программу или открыть файл в VB? Вопрос: Как можно в приложении, написанном на Visual Basic, запустить программу или открыть какой-либо файл, в программе, которая к нему "привязана"? Ответ: Для запуска программы используется функцияShell с таким синтаксисом: Shell(Имя_Файла_программы[, Тип_Окна]) В следуйщем фрагменте кода с помощю функции Shell запускается калькулятор: Private Sub Command1_Click() Shell (C:\windows\calk.exe, vbNormalFocus) End Sub Yaroslav наверх Как сортировать строки в Excel с помощью VBA? Вопрос: Есть текстовые данные, загружающиеся в таблицу Excel. Нужно анализировать строки таблицы пусто/заполнено и сортировать заполненные в определ. порядке (сверху вниз подряд без пропусков). Как это сделать? Ответ: Первый же ответный вопрос -- в каком виде данные представлены в текстовом файле и как из этого текстового файла берутся? (можно ведь открывать текстовый файл с разделителями колонок как Excel'ный, или открывать как файл для последовательного чтения). У меня, собственно, куча самых разных примеров на эту тему (работа такая), все зависит от того, что надо. Анализировать же можно довольно просто -- при занесении данных в таблицу: Dim emptyRow As Boolean Dim i As Integer ' для нумерации строк исходного файла Dim j As Integer ' для нумерации столбцов Dim k As Integer ' для нумерации строк в выходном файле Dim dataStr As String '... 'цикл заполнения соотв. ячеек значениями For i = 1 To <rowAmount> emptyRow = True For j = 1 To <colNum> 'dataStr = Trim(...) If dataStr <> "" Then Cells(k, j).Value = dataStr emptyRow = False End If Next j If Not emptyRow Then k = k + 1 ' если строка не пустая увеличиваем счетчик строк в выходном файле Next i Потом упорядочить, зная количество записанных строк, довольно легко: Range(Cells(<N_перв_строки>, 1), Cells(<N_посл_строки>, <N_посл_столбц>)).Sort Columns(1) ' сортировка области ячеек по первому столбцу этой области Kirill наверх Как в БД Access в текстовое поле вставить шаблон (задать маску ввода)? Вопрос: Есть база данных в mdb формате. На форме в текстовом поле необходимо при вводе числа (или при помещении его из базы) отделять по три знака. Не 1234567890, а 1 234 567 890 . И как в текстовое поле ставить шаблон? То есть, что бы было __/__/__ - для даты. Ответ: В конструкторе выбираешь свойства>данные>маска ввода и вводишь \ 999\ 999\ 999\ 900;0 , сохраняя пробелы после слеша. Иван Есаулков наверх Как удалить элементы из середины массива? Вопрос: Есть массив Arrray(100). Как можно удалить срез массива, например, с 40 по 70 элементы. Ответ: Нужно просто переписать элементы с 70 на 100 на место удаляемых и изменить размер массива: For lIdx = 71 To 100 Arrray(lIdx-31)= Arrray(lIdx) Next redim preserve Arrray(69) Sergey Morenets наверх Вопрос/Ответ Здесь Вы можете задать вопрос, или ответить на уже имеющиеся вопросы. Вопросы:Автор вопроса: Andrey Ответ ожидается по этому адресу Как создать папку, доступную в локальной сети, или как этот доступ осуществить?.. Данная фишка необходима для обновления юзерских прог из этой папки... Автор вопроса: Andrey Ответ ожидается по этому адресу Есть .ехе с MDI-окном, к ней подкрепляется .dll'ка, которая содержит репорты. Как репорты сделать дочерними по отношению .ехе MDI окна? Автор вопроса: Andrey Ответ ожидается по этому адресу Как в DataReport динамически добавить Label, ну и вообще какие либо объекты, или если такое не возможно, то где это возможно? Автор вопроса: Ramzes Ответ ожидается по этому адресу Я пишу утилиту для обработки некоторых данных из имеющихся dbf таблиц в мою БД, после того как я обработал нужные мне данные я их удаляю. Но вот тут и грабли, dbf таблицы не удаляют записи, а только помечают их на удаление. Как упаковать эти данные при связке dbf & vb & ADO? Автор вопроса: Alexbor Ответ ожидается по этому адресу Как узнать тип процессора, его тактовую частоту и объем оперативной памяти? Юзал GetSystemInfo, но определить удалось не все. Автор вопроса: 3BEPb Ответ ожидается по этому адресу Как сделать чтобы при сворачивании формы она сворачивалась в трей? Автор вопроса: RVI Ответ ожидается по этому адресу Помогите написать прогу, которая при запуске проверяет, запущенна какая-либо определённая программа, и, если запущена, то перезагружается комп. Автор вопроса: Александр Ответ ожидается по этому адресу Подскажите хороший сайт по API функциям VB. Желательно русский, с описанием и примерами. Автор вопроса: Alexey Ответ ожидается по этому адресу Как напечатать на экране слово, ну типа так как методом Print, но только не на форме а на экране поверх всех окон, а потом по возможности это дело стереть? Ответы: Вопрос: Как использовать стиль XP в VB приложениях? Слышал, что нужно юзать .manifest файл и ресурс номер 24. Так ли это? И можно пример... Ответ: Автор ответа: dMedia Открываешь "блокнот"? копируешь туда это: publicKeyToken="6595b64144ccf1df" /> Файл сохраняешь, переименовываешь в VB6.EXE.manifest и кидаешь в C:\Program Files\Microsoft Visual Studio\VB98 и всё, кстати вместе с твоим .exe его можно тоже положить в один каталог. Ответ: Автор ответа: C...R...a...S...H private Declare Function InitCommonControlsEx Lib "comctl32" () public sub Form_load() InitCommonControlsEx end sub Где твой Exe, должен быть файл "Имя Exe".manifest. Вопрос: Нужен код для генерации паролей случайным образом из определенного набора символов. Может кто-то встречал, а то самому написать просто некогда. Ответ: Автор ответа: Михаил Dim alp as string ' алфавит (исходный материал, из которого образовывать пароль) Dim alplenght as long ' Длина алфавита Dim i as long, x as long, outcome as string, passwordlenght as long passwordlenght = number 'вставьте число вместо number alplenght = len(alp) ' вычисляем длину алфавита randomize timer ' запускаем генератор случайных чисел for i= 1 to passwordlenght x = int(rnd*alplenght) outcome = outcome + mid$(alp, x, 1) next i На выходе получаем в строчке outcome - случайный пароль. Ответ: Автор ответа: Anakonda У меня сайте http://anakonda.nm.ru есть прога Gen Pass с исходниками. Ответ: Автор ответа: dMedia На форме нужны: 2 TextBox txtNumeric и txtGenNewPass 1 Command cmdGenNewPass Длинну пароля можно установить в цикле i=0 to ... Private Sub cmdGenNewPass_Click() Dim strNewPass As String, strKeyPass As String, i As Integer, lngValue As Long, lngValueKey As Long Randomize For i = 0 To 8 lngValue = Int((126 - 33 + 1) * Rnd + 33) lngValueKey = Int((126 - 33 + 1) * Rnd + 33) 'Int((upperbound - lowerbound + 1) * Rnd + lowerbound) 'upperbound is the highest number in the range, and lowerbound is the lowest number in the range. strKeyPass = strKeyPass & lngValueKey strNewPass = strNewPass & Chr(lngValue) Next i txtNumeric.Text = strKeyPass txtGenNewPass.Text = strNewPass End Sub Вопрос: Как запускать файлы с рашрирением *.exe *.txt и другие? Ответ: Автор ответа: Memphis Есть команда Shell. Используется для запуска программ, для открытия зарегистрированных типов файлов. Shell "имя_команды" или Shell "путь_к_программе" Вопрос: Как открыть файл Excel c паролем (пароль известен), желательно VB script? Ответ: Автор ответа: Тим Dim ex As Excel.Application Set ex = New Excel.Application With ex .Workbooks.Open "filename", , , , "myPassword", "WriteResPassword" End With Там ещё куча параметров. Но тебе, я так понял, надо один из этих использовать. Ответ: Автор ответа: Т.А.Ф. Workbooks.Open Filename:="C:\Мои документы\заявки.xls", Password:="пароль" Вопрос: I am a beginner in VB and i have a beginners' problem. I have to write data in binary format. Since the file will be read by some application i cannot change its structure or format. The problem I faced are following. I write 3 values in some binary file: string s1 = "W" Integer value i1 = 10123 Double value v1 = 10.8. When I would like to control data in the file and read it I get instead of expected other values: s1 = "W" i1 = 10071 v1 = 10.799999999948 So, the integer value is not what i expected to find. Could anybody explain what I did wrong in my code? The second question is following. I would like to read the data in the order: string s1, integer i1, double v1. I get this sequence only if I put data in the binary file in the way I have done it in my sub WriteData(). How could be done it in the order I wish to read? Could anybody help me? Private Sub writeData() Dim typInfo(5) As Double, length As Integer, resolution As String Dim v1 As Double v1 = 10.8 Dim i1 As Integer i1 = 10123 Dim s1 As String s1 = "W" Open ThisWorkbook.Path & "Test.bin" For Binary Access Read Write As #1 Len = Len(v1) Put #1, , v1 Close 1 Open ThisWorkbook.Path & "Test.bin" For Binary Access Read Write As #1 Len = Len(i1) Put #1, , i1 Close 1 Open ThisWorkbook.Path & "Test.bin" For Binary Access Read Write As #1 Len = Len(s1) Put #1, , s1 Close 1 End Sub Private Sub readData() Dim typInfo(5) As Double, length As Integer, resolution As String Dim v1 As Double Dim i1 As Integer Dim s1 As String s1 = "D" Open ThisWorkbook.Path & "Test.bin" For Binary Access Read Write As #1 Len = Len(s1) Get #1, , s1 Close 1 Open ThisWorkbook.Path & "Test.bin" For Binary Access Read Write As #1 Len = Len(i1) Get #1, , i1 Close 1 Open ThisWorkbook.Path & "Test.bin" For Binary Access Read Write As #1 Len = Len(v1) Get #1, , v1 Close 1 Debug.Print s1, i1, v1 End Sub Ответ: Автор ответа: Михаил А если попытаться заблокировать доступ к открытому файлу ? Open File$ for Binary Access Read Write LOCK WRITE As #1 Ответ: Автор ответа: Phoenix Group Private Sub Form_Load() writeData readData End Sub Private Sub writeData() Dim typInfo(5) As Double, length As Integer, resolution As String Dim v1 As Double v1 = 10.8 Dim i1 As Integer i1 = 10123 Dim s1 As String s1 = "W" Open "c:\Test.bin" For Binary Access Read Write As #1 Put #1, , s1 Put #1, , i1 Put #1, , v1 Close 1 End Sub Private Sub readData() Dim typInfo(5) As Double, length As Integer, resolution As String Dim v1 As Double Dim i1 As Integer Dim s1 As String s1 = "D" Open "c:\Test.bin" For Binary Access Read Write As #1 Get #1, , s1 Get #1, , i1 Get #1, , v1 Close 1 Debug.Print s1, i1, v1 End Sub If you write Ответ: Автор ответа: C...R...a...S...H private Sub WriteDate() Dim v1 As Double v1 = 10.8 Dim i1 As Integer i1 = 10123 Dim s1 As String s1 = "W" Open ThisWorkbook.Path & "\Test.bin" For Binary As #1 Put #1, , v1 Put #1, , i1 Put #1, , s1 Close 1 End Sub sub ReadData() Dim v1 As Double Dim i1 As Integer Dim s1 As String Open ThisWorkbook.Path & "\Test.bin" For Binary As #1 Get #1, , v1 Get #1, , i1 Get #1, , s1 Close 1 Debug.Print s1, i1, v1 end sub Можете заполнить эту форму, либо отослать вопрос СЮДА Форма для добавления нового вопроса в этот раздел. Информация отсылается по E-mail владельцу сайта. |
Выпуск подготовили: |
Сурменок Павел |