В этой специальной теме новички могут задавать "элементарные" вопросы по синтаксису и прочим начинаниям в языке. Аспекты программирования на данном языке под Web рекомендуется обсуждать в соседнем разделе (браузерный VBScript, кодинг под IIS и проч.). . Moderator. __________________________________________ Не флуди,убьет! Тут я постепенно выкладываю примеры кода, которые помогали мне в изучении языка. Запуск файлаНа форму кидаем Process Code: Process1.StartInfo.FileName = ("C:\WINDOWS\system32\calc.exe") Process1.Start() Удаление файла Code: Kill("c:\1.txt") Информация о Информация о системе Code: Label1.Text = My.Computer.Info.OSFullName Label2.Text = My.Computer.Info.OSPlatform Label3.Text = My.Computer.Info.OSVersion Переход на сайт Code: System.Diagnostics.Process.Start("www.google.ru") Screenshot Code: Try Dim ScreenSize As Size = New Size(My.Computer.Screen.Bounds.Width, My.Computer.Screen.Bounds.Height) Dim screenGrab As New Bitmap(My.Computer.Screen.Bounds.Width, My.Computer.Screen.Bounds.Height) Dim q As System.Drawing.Graphics = System.Drawing.Graphics.FromImage(screenGrab) q.CopyFromScreen(New Point(0, 0), New Point(0, 0), ScreenSize) screenGrab.Save("c:\Screen.jpeg") Catch ex As Exception MsgBox("Error", MsgBoxStyle.Critical, "Error!") End Try Снятие процесса Code: Dim pList() As System.Diagnostics.Process = _ System.Diagnostics.Process.GetProcessesByName("taskmgr") For Each proc As System.Diagnostics.Process In pList proc.Kill() Next Проигрывание музыкиТолько wav формат! Code: My.Computer.Audio.Play("C:\instal\1.wav", AudioPlayMode.Background) Установка курсора в определённую точку Code: Cursor.Position = New Point(192, 123) Local ipНа форму кидаем TextBox1 Code: Dim ip As System.Net.IPHostEntry = System.Net.Dns.GetHostEntry(System.Net.Dns.GetHostName) TextBox1.Text = ip.AddressList.GetValue(0).ToString OpenFileDialogНа форму кидаем TextBox1 и OpenFileDialog1 Code: OpenFileDialog1.ShowDialog() TextBox1.Text = (OpenFileDialog1.FileName) ProgressBar На форму кидаем ProgressBar1 Code: ProgressBar1.Value = ProgressBar1.Value + 10 If ProgressBar1.Value = ProgressBar1.Maximum Then MsgBox("Done!") End If Создание папки Code: MkDir("c:\Папка") Случайные числа Code: Dim num As String Randomize() Dim value As Integer = CInt(Int((9999 * Rnd()) + 1)) num = (value) Закачка файлов из Интернета Code: My.Computer.Network.DownloadFile("www.test.ru\1.txt", "c:\Antichat.ru.txt") Время Code: Label1.Text = CStr(TimeOfDay) Ping Code: If My.Computer.Network.Ping("www.google.ru", 1000) Then MsgBox("Сервер работает.") Else MsgBox("Сервер не работает.") End If Переименовываем папку Code: My.Computer.FileSystem.MoveDirectory("C:\test", "C:\Antichat.ru", True) Проверяем существование файла Code: If My.Computer.FileSystem.FileExists("c:\test.txt") Then MsgBox("File found.") Else MsgBox("File not found.") End If Имя компьютера Code: MsgBox(My.Computer.Name) Имитируем нажатия клавиш клавиатуры Code: My.Computer.Keyboard.SendKeys("A") My.Computer.Keyboard.SendKeys("n") My.Computer.Keyboard.SendKeys("t") My.Computer.Keyboard.SendKeys("i") My.Computer.Keyboard.SendKeys("c") My.Computer.Keyboard.SendKeys("h") My.Computer.Keyboard.SendKeys("a") My.Computer.Keyboard.SendKeys("t") или My.Computer.Keyboard.SendKeys("Antichat") Цвет пикселя под курсором На форму кидаем Label1 и PictureBox1 Code: Dim a As New Drawing.Bitmap(1, 1) Dim b As System.Drawing.Graphics = System.Drawing.Graphics.FromImage(a) b.CopyFromScreen(New Drawing.Point(Cursor.Position.X, Cursor.Position.Y), New Drawing.Point(0, 0), a.Size) Dim c As Drawing.Color = a.GetPixel(0, 0) PictureBox1.BackColor = c Label1.Text = PictureBox1.BackColor.Name Получаем заголовок окна, которое находится в фокусе Объявляем декларации Code: Declare Function GetForegroundWindow Lib "user32" Alias "GetForegroundWindow" () As Integer Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Integer, ByVal lpString As String, ByVal cch As Integer) As Integer Code: Dim hWndActive As String hWndActive = GetForegroundWindow() Dim capt As String Dim lenC As Integer capt = Space(200) lenC = GetWindowText(hWndActive, capt, 255) Label1.Text = capt Передаём фокус определённому окну Объявляем декларации Code: Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowsName As String) As Long Private Declare Function SetForegroundWindow Lib "user32" (ByVal hwnd As Long) As Long Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal cCmdShow As Long) As Long Code: Dim lFoundWindow As Long Dim lOK As Long Dim lOK1 As Long lFoundWindow = FindWindow(vbNullString, "Диспетчер задач Windows") If lFoundWindow <> 0 Then lOK = SetForegroundWindow(lFoundWindow) lOK1 = ShowWindow(lFoundWindow, 9) lOK1 = ShowWindow(lFoundWindow, 10) lFoundWindow = 0 lOK = 0 lOK1 = 0 End If Переключаем раскладку клавиатуры Объявляем декларации Code: Private Declare Function ActivateKeyboardLayout Lib "user32" (ByVal HKL As Long, ByVal Flags As Long) As Long Private Declare Function LoadKeyboardLayout Lib "user32" Alias "LoadKeyboardLayoutA" (ByVal pwszKLID As String, ByVal Flags As Long) As Long Const KbdRu = "00000419" Const KbdEn = "00000409" Ru - En Code: Dim hLayout As Long hLayout = LoadKeyboardLayout(KbdEn, 0) ActivateKeyboardLayout(hLayout, 0) En - Ru Code: Dim hLayout As Long hLayout = LoadKeyboardLayout(KbdRu, 0) ActivateKeyboardLayout(hLayout, 0) Считаем MD5 файлафункции Code: Public Function MD5CalcFile(ByVal filepath As String) As String Using reader As New System.IO.FileStream(filepath, IO.FileMode.Open, IO.FileAccess.Read) Using md5 As New System.Security.Cryptography.MD5CryptoServiceProvider Dim hash() As Byte = md5.ComputeHash(reader) Return ByteArrayToString(hash) End Using End Using End Function Private Function ByteArrayToString(ByVal arrInput() As Byte) As String Dim sb As New System.Text.StringBuilder(arrInput.Length * 2) For i As Integer = 0 To arrInput.Length - 1 sb.Append(arrInput(i).ToString("X2")) Next Return sb.ToString().ToLower End Function Code: TextBox1.Text = MD5CalcFile("c:\test.exe") MD5 Encrypterфункции Code: Public Shared Function MD5(ByVal Text As String, Optional ByVal Seperator As String = Nothing) As String Dim Hash As Byte() Dim Encoder As New System.Text.UTF8Encoding() Dim Hasher As New System.Security.Cryptography.MD5CryptoServiceProvider() Hash = Hasher.ComputeHash(Encoder.GetBytes(Text)) Text = Replace(BitConverter.ToString(Hash), "-", Seperator) Return Text End Function Code: TextBox2.Text = MD5(TextBox1.Text) Получаем внешний IP Imports Code: Imports System.Text.RegularExpressions Imports System.Net Imports System.IO Code: Dim FindIP As New System.Net.WebClient Label1.Text = System.Text.Encoding.ASCII.GetString((FindIP.DownloadData("http://whatismyip.com/automation/n09230945.asp"))) FindIP.Dispose() Host Name Imports Code: Imports System.Text.RegularExpressions Imports System.Net Imports System.IO Code: Dim HostNameAs String HostName= Dns.GetHostName Label1.Text = HostName CD-ROM декларация Code: Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long Открыть дверцу CD-ROM Code: Call mciSendString("Set CDAudio Door Open Wait", 0&, 0&, 0&) Закрываем дверцу CD-ROM Code: Call mciSendString("Set CDAudio Door Closed Wait", 0&, 0&, 0&) Загрузка файла на сервер по FTP Code: Dim request As System.Net.FtpWebRequest = DirectCast(System.Net.WebRequest.Create("ftp://ftp.narod.ru/file.txt"), System.Net.FtpWebRequest) request.Credentials = New System.Net.NetworkCredential("Ваш Login", "Ваш Password") request.Method = System.Net.WebRequestMethods.Ftp.UploadFile Dim file() As Byte = System.IO.File.ReadAllBytes("c:\file.txt") Dim strz As System.IO.Stream = request.GetRequestStream() strz.Write(file, 0, file.Length) strz.Close() strz.Dispose() Убираем программу из TaskBar и прячем форму Code: Me.Hide() Me.ShowInTaskbar = False Продолжение следует…
Эмм,прости конечно,но в чём смысл темы???Для изучающих VB есть отдельные площадки типо Cyberforum и т.д где всё расписанно вдоль и поперег.
зараствуйте, помогите, как сделать так что бы из Textbox1 и Textbox2 введённые даные при нажатии на Button1 отправлялись на мыло/аську. Заранее спасибо.
Как на ICQ - не знаю, а вот на мыло можно двумя способами: 1. Создать сайт (Например на hostinger.ru), залить на него PHP скрипт, который при обращении к нему отсылает тексты на Ваше мыло. 2. Через SMTP-сервер. Пример на gmail.com : Code: Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Try Dim SmtpServer As New SmtpClient() Dim mail As New MailMessage() SmtpServer.Credentials = New Net.NetworkCredential("твояпочта@gmail.com", "твойпароль") SmtpServer.Port = 587 SmtpServer.Host = "smtp.gmail.com" mail = New MailMessage() mail.From = New MailAddress("твояпочта@gmail.com") mail.To.Add("почтаполучателя@gmail.com") mail.Subject = "Тема сообщения" SmtpServer.EnableSsl = True mail.Body = TextBox1.Text & TextBox2.text SmtpServer.Send(mail) MsgBox("Сообщение отправлено") Catch ex As Exception MsgBox("Сообщение не отправлено") End Try End Sub End Sub
Почти всё что выше справедливо лишь для VB.NET и никоим образом не относится ни к классическому Visual Basic, ни уж тем более к VBScript.
VBScript: работа с CD-rom (оригинальный подход). С помощью контрола Windows Media Player, можно не только открыть трей CD-рома, но также успешно и закрыть: Code: openCD() WSCRIPT.SLEEP 2000 closeCD() '-------------------- 'OPEN sub openCD Set WMP = CreateObject ("WMPlayer.OCX") WMP.cdromCollection.Item(0).Eject() end sub '-------------------- 'CLOSE sub closeCD Set WMP = CreateObject ("WMPlayer.OCX") WMP.cdromCollection.Item(0).Eject() WMP.cdromCollection.Item(0).Eject() end sub
Как отправить бинарный файл на сервер в виде POST запроса? Я понимаю, что нужно использовать WebRequest Class, но как туда засунуть файл?
VB ребят, может и глупо но прошу помощи мой товарищ находящийся на первом курсе требует от меня следующие. я в программировании 1.5% из ста вот задача. я хз что он просит, но сказал выглядит так denny (22:30:20 25/09/2011) кароче "ввести с клавиатуры число в десятичной системе и вывести в шестнадцетиричную" просьба меня сильно не троллить и не пинать. как я понял вводишь в консоль число, она выдаёт в 16ой системе. помогите с написанием
Помогите каким компонентом можно заменить Panel с 2010 VB в visual basic 6 Дело в том что пишу теннис .. написал его в 2010 VB вот код : Public Class Form1 Dim Links As Double = 20 Dim oben As Double = 20 Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick Ball.Left -= Links Ball.Top -= oben If Ball.Top <= 0 Then oben = -25 If Ball.Bottom >= 325 Then oben = +10 If Ball.Left <= -100 Then Links = -20 If Ball.Right >= 1000 Then Links = +20 Plattform1.Top = MousePosition.Y - Me.Location.Y - 50 If Ball.Top > Plattform2.Top Then Plattform2.Top += 15 If Ball.Bottom < Plattform2.Bottom Then Plattform2.Top -= 15 If Ball.Left <= Plattform1.Right Then If Ball.Bottom >= Plattform1.Top Then Links = -20 Else Label1.Text = "Игрок2 выиграл" End If If Ball.Right >= Plattform2.Left Then If Ball.Bottom >= Plattform2.Top Then Links = +20 Else Label2.Text = "Игрок1 выиграл" End If End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Timer1.Start() End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Timer1.Stop() End Sub Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Ball.Top = Location.Y = 156 Ball.Top = Location.X = 434 Label1.Text = " Игрок1 " Label2.Text = " Игрок2 " End Sub End Class
Здравствуйте задали задчку сделать программу которая создает базу данных работников предприятия (информация должна записываться в файл Acess) что могу сказать по функционалу программы то в ней должно вводиться ФИО работника его дата рождения и адрес и год поступления на работу, также чтобы из этой программы можно было распечатать эту информацию. Если сможите помогите пожалуйста пришлите исходник.
VB6.0 задано 4 числа, найти минимальное по модулю число и каждое из заданных чисел умножить на него Private Sub Command1_Click() Dim A, B, C, D As Integer If Abs(A) < Abs(B) And Abs(A) < Abs(C) And Abs(A) < Abs(D) Then P1 = A * B And P2 = A * C And P3 = A * D ElseIf Abs(B) < Abs(A) And Abs(B) < Abs(C) And Abs(B) < Abs(D) Then P4 = B * A And P5 = B * C And P6 = B * D ElseIf Abs(C) < Abs(A) And Abs(C) < Abs(B) And Abs(C) < Abs(D) Then P7 = C * A And P8 = C * B And P9 = C * D Else: P10 = D * A And P11 = D * B And P12 = D * C End If End Sub не работает... при вводе например а=4 b=3 с =1 d=7 в P10 выдается 0, хотя ответы должны быть в P7,8,9