Бейсик программа: Примеры готовых программ — Basic — Каталог файлов
Язык Visual Basic — примеры написания кода | Info-Comp.ru
Всем привет, в этой статье я хочу показать Вам полезные коды небольших программ. Которые Вы можете использовать для написания уже своих более серьезных программ, ну или Вы искали именно эти функции, которые здесь описаны.
Все коды использовались в среде программирования Microsoft Visual Basic v6.0.
Выход с подтверждением
Первая своего рода программка, ну или функция, это выход с сообщением о подтверждение выхода. В общем, откройте среду программирования Visual Basic, создайте стандартный проект, потом поместите на форму одну кнопку, щелкните на кнопке и у Вас откроется окно редактирования кода, и туда Вам необходимо вставить следующий код:
Beep Dim message As String Dim buttonsandicons As Integer Dim title As String Dim response As String message = "Хотите выйти?" title = "Выход" buttonasicons = vbYesNo + vbQuestion response = MsgBox(message, buttonasicons, title) If response = vbYes Then End End If
Итак, Beep это просто звуковой сигнал, дальше идет выделение памяти (Dim), потом уже выполняется действие, т.е. сообщение «Хотите выйти?», да или нет и конец программы. Вот такая бесполезная функция можете использовать в своих программах.
Пароль на запуск программы
Далее идет очень полезный код, это пароль на запуск программы, ну или для чего-нибудь другого. Открывайте стандартный проект щелкните в пустом месте (загрузка формы программы) и вставляйте следующее:
Dim Password, Pword PassWord = "12345" Pword = InputBox("Введите пароль") If Pword <> PassWord Then MsgBox "Пароль не верный" End End If
Где, 12345 это пароль на запуск программы. Но этот код можно использовать, где только захотите.
Вывод сообщения
Если хотите просто выводить сообщение, для чего-нибудь, то вставьте это:
Beep Dim message As String Dim buttonsandicons As Integer Dim title As String message = "Сообщение" title = "Сообщение" buttonasicons = vbOKOnly + vbexciamation MsgBox message, buttonsandicons, title
Рисование на форме
Дальше идет такая мелкая программа как мини Paint, т.е. рисование, причем на самой форме. Откройте стандартный проект, щелкните в пустом месте и вставьте следующий код:
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Form1.CurrentX = X Form1.CurrentY = Y End Sub Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = 1 Then Line (Form1.CurrentX, Form1.CurrentY)-(X, Y), QBColor(0) End If End Sub
Цвет можете менять с помощью параметра QBColor(0), т.е. вместо 0 поставьте другую цифру.
Перезагрузка компьютера
Для того чтобы перезагрузить компьютер: поместите кнопку и вставьте следующий код:
Dim strComputer As String strComputer = "." Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate, (Shutdown)}!\\" _ & strComputer & "\root\cimv2") Set colOperatingSystems = objWMIService.ExecQuery("Select * from Win32_OperatingSystem") For Each ObjOperatingSystem In colOperatingSystems ObjOperatingSystem.Reboot ' Для перезагрузки Next
Запуск программы в единственном экземпляре
Следующий пример поможет Вам сделать так, чтобы программа запускалась только один раз, т.е. в случае повторного запуска она выдаст соответствующее сообщение. В код формы вставьте:
Private Sub Form_Load() If App.PrevInstance = True Then MsgBox "Проект уже запущен!" End End If
Выключение компьютера
Для того чтобы выключить компьютер можно использовать следующий код:
Dim strComputer As String strComputer = "." Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate,(Shutdown)}!\\" _ & strComputer & "\root\cimv2") Set colOperatingSystems = objWMIService.ExecQuery( "Select * from Win32_OperatingSystem") For Each ObjOperatingSystem In colOperatingSystems ObjOperatingSystem.ShutDown 'Для выключения Next
Завершение любого процесса
Для того чтобы завершить процесс можете использовать следующий код:
Shell "Cmd /x/c taskkill /f /im ICQlite.exe", vbvhite
Где, вместо ICQlite.exe может быть любой процесс.
Сколько работает компьютер
Ниже показан пример того, как можно определить время работы компьютера. Данный способ основан на использование библиотеки kernel32, поэтому в самом начале кода формы подключите данную DLL.
Private Declare Function GetTickCount Lib "kernel32" () As Long 'А в код кнопки: Dim a_hour, a_minute, a_second a = Format(GetTickCount() / 1000, "0") 'всего секунд a_days = Int(a / 86400) a = a - a_days * 86400 a_hour = Int(a / 3600) a = a - a_hour * 3600 a_minute = Int(a / 60) a_second = a - a_minute * 60 MsgBox "Ваш компьютер работает " & Str(a_days) & " дня" & Str(a_hour) _ & " часа " & Str(a_minute) & " минут" & Str(a_second) & " секунд"
Мы рассмотрели простые функции, которые можно использовать практически везде. Теперь рассмотрим более серьезные примеры, и они Вам могут очень сильно помочь написать свои крупные проекты.
Примеры работы с папками
Удалить каталог
Private Declare Function RemoveDirectory& Lib _ "kernel32" Alias "RemoveDirectoryA" (ByVal lpPathName As String) 'Удаление каталога (пустого!) PathName$ = "D:\t" code& = RemoveDirectory(PathName) If code& = 0 Then 'Ошибка удаления каталога Else 'Каталог удален End If
Создать каталог
Sub MakeDir(dirname As String) Dim i As Long, path As String Do i = InStr(i + 1, dirname & "\", "\") path = Left$(dirname, i - 1) If Right$(path, 1) <> ":" And Dir$(path, vbDirectory) = "" Then MkDir path End If Loop Until i >= Len(dirname) End Sub Private Sub Command1_Click() Call MakeDir("C:\Soft\1\2\3\") End Sub
Список всех папок с под папками
На форму добавляем 2 текстовых поля и кнопку, имя первого текстового поля: StartText, имя второго текстового поля OutText. Свойство Multiline = true, имя кнопки = CmdStart
Далее пишем код в кнопке:
Static running As Boolean Dim AllDirs As New Collection Dim next_dir As Integer Dim dir_name As String Dim sub_dir As String Dim i As Integer Dim txt As String If running Then running = False CmdStart.Enabled = False CmdStart.Caption = "Stopping" Else running = True MousePointer = vbHourglass CmdStart.Caption = "Stop" OutText.Text = "" DoEvents next_dir = 1 AllDirs.Add StartText.Text Do While next_dir <= AllDirs.Count dir_name = AllDirs(next_dir) next_dir = next_dir + 1 sub_dir = Dir$(dir_name & "\*", vbDirectory) Do While sub_dir <> "" If UCase$(sub_dir) <> "PAGEFILE.SYS" And sub_dir <> "." And sub_dir <> ".." Then sub_dir = dir_name & "\" & sub_dir On Error Resume Next If GetAttr(sub_dir) And vbDirectory Then AllDirs.Add sub_dir End If sub_dir = Dir$(, vbDirectory) Loop DoEvents If Not running Then Exit Do Loop txt = "" For i = 1 To AllDirs.Count txt = txt & AllDirs(i) & vbCrLf Next i OutText.Text = txt MousePointer = vbDefault unning = False End If
Теперь запускаем программу, в текстовом поле StartText пишем: C:\windows, и жмем на кнопку.
Размер каталога
Const MAX_PATH = 260 Private Type FILETIME dwLowDateTime As Long dwHighDateTime As Long End Type Private Type WIN32_FIND_DATA dwFileAttributes As Long ftCreationTime As FILETIME ftLastAccessTime As FILETIME ftLastWriteTime As FILETIME nFileSizeHigh As Long nFileSizeLow As Long dwReserved0 As Long dwReserved1 As Long cFileName As String * MAX_PATH cAlternate As String * 14 End Type Private Declare Function FindFirstFile Lib _ "kernel32" Alias "FindFirstFileA" (ByVal lpFileName As String, lpFindFileData As WIN32_FIND_DATA) As Long Private Declare Function FindNextFile Lib _ "kernel32" Alias "FindNextFileA" (ByVal hFindFile As Long, lpFindFileData As WIN32_FIND_DATA) As Long Private Declare Function FindClose Lib _ "kernel32" (ByVal hFindFile As Long) As Long Public Function SizeOf(ByVal DirPath As String) As Double Dim hFind As Long Dim fdata As WIN32_FIND_DATA Dim dblSize As Double Dim sName As String Dim x As Long On Error Resume Next x = GetAttr(DirPath) If Err Then SizeOf = 0: Exit Function If (x And vbDirectory) = vbDirectory Then dblSize = 0 Err.Clear sName = Dir$(EndSlash(DirPath) & "*.*", vbSystem Or vbHidden Or vbDirectory) If Err.Number = 0 Then hFind = FindFirstFile(EndSlash(DirPath) & "*.*", fdata) If hFind = 0 Then Exit Function Do If (fdata.dwFileAttributes And vbDirectory) = vbDirectory Then sName = Left$(fdata.cFileName, InStr(fdata.cFileName, vbNullChar) - 1) If sName <> "." And sName <> ".." Then dblSize = dblSize + SizeOf(EndSlash(DirPath) & sName) End If Else dblSize = dblSize + fdata.nFileSizeHigh * 65536 + fdata.nFileSizeLow End If DoEvents Loop While FindNextFile(hFind, fdata) <> 0 hFind = FindClose(hFind) End If Else On Error Resume Next dblSize = FileLen(DirPath) End If SizeOf = dblSize End Function Private Function EndSlash(ByVal PathIn As String) As String If Right$(PathIn, 1) = "\" Then EndSlash = PathIn Else EndSlash = PathIn & "\" End If End Function Private Sub Form_Load() 'Замените 'D:\soft' той директорией, размер которой хотите узнать MsgBox SizeOf("D:\soft") / 1000000 End Sub
Примеры работы с файлами
Копировать
Допустим, у нас есть файл с именем 1.txt в папке C:\1\ , а нам нужно скопировать его в C:\2\ для этого пишем следующий код:
Filecopy "C:\1\1.txt","C:\2\1.txt"
Примечание! Если в каталоге 2 уже находится файл с именем 1.txt, то он будет заменен на 1.txt из каталога 1.
Можно использовать и функции API:
Private Declare Function CopyFile Lib _ "kernel32.dll" Alias "CopyFileA" _ (ByVal lpExistingFileName As String, ByVal lpNewFileName As String, ByVal bFailIfExists As Long) As Long Private Sub Command1_Click() ' Скопируем файл C:\1.txt в D:\1.txt. Dim retval As Long ' возвращаемое значение 'Копируем файл retval = CopyFile("C:\1.txt", "D:\1.txt", 1) If retval = 0 Then 'Если ошибка MsgBox "Не могу скопировать" Else 'Если все нормально MsgBox "Файл скопирован." End If End Sub
Удаление
Например, мы хотим удалить файл 1.txt из корня диска C:\
Kill ("C:\1.txt")
Способ API
Private Declare Function DeleteFile Lib _ "kernel32.dll" Alias "DeleteFileA" (ByVal lpFileName As String) As Long Private Sub Command1_Click() 'Удаляем файл C:\Samples\anyfile.txt Dim retval As Long 'Возвращаемое значение retval = DeleteFile("C:\1.txt") If retval = 1 Then MsgBox "Файл успешно удален." End Sub
Перемещение
Можно, например, переместит и так:
Filecopy "C:\1.txt","C:\2\1.txt" Kill ("C:\1.txt")
Но лучше так (через API):
Private Declare Function MoveFile Lib _ "kernel32.dll" Alias "MoveFileA" _ (ByVal lpExistingFileName As String, ByVal lpNewFileName As String) As Long Private Sub Command1_Click() Dim retval As Long 'Возвращаемое значение retval = MoveFile("C:\1.txt", "C:\2\1.txt") If retval = 1 Then MsgBox "Успешно переместился" Else MsgBox "Ошибка" End If End Sub
Переименование
Для того чтобы переименовать файл 1.txt находящийся в C:\ на 2.txt можно использовать следующий код:
Filecopy "C:\1.txt","C:\2.txt" Kill ("C:\1.txt")
Способ API
Private Declare Function MoveFile Lib _ "kernel32.dll" Alias "MoveFileA" _ (ByVal lpExistingFileName As String, ByVal lpNewFileName As String) As Long Private Sub Command1_Click() Dim retval As Long ' возвращаемое значение retval = MoveFile("C:\1.txt", "C:\2.txt") If retval = 1 Then MsgBox "Успешно" Else MsgBox "Ошибка" End If End Sub
Определить размер файла
Размер файла можно определить двумя путями:
Если файл можно открыть функцией OPEN, то можно воспользоваться функцией LOF
Dim FileFree As Integer Dim FileSize As Long FileFree = FreeFile Open "C:\WIN\GENERAL.TXT" For Input As FileFree FileSize = LOF(FileFree) Close FileFree
Или использовать функцию FileLen
Dim lFileSize As Long FileSize = FileLen("C:\WIN\GENERAL.TXT")
Скрыть часы программно
Добавьте 2 кнопки и вставляйте код:
Option Explicit Private Declare Function FindWindow Lib _ "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Private Declare Function FindWindowEx Lib _ "user32" Alias "FindWindowExA" _ (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long Private Declare Function ShowWindow Lib _ "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long Dim hnd As Long Private Sub Command1_Click() ShowWindow hnd, 0 End Sub Private Sub Command2_Click() ShowWindow hnd, 1 End Sub Private Sub Form_Load() hnd = FindWindow("Shell_TrayWnd", vbNullString) hnd = FindWindowEx(hnd, 0, "TrayNotifyWnd", vbNullString) hnd = FindWindowEx(hnd, 0, "TrayClockWClass", vbNullString) Command1.Caption = "Скрыть часы" Command2.Caption = "Показать часы" End Sub
Добавить иконку в трей
Добавляем модуль, вставляем в него код:
Declare Function Shell_NotifyIconA Lib _ "SHELL32" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Integer Public Const NIM_ADD = 0 Public Const NIM_MODIFY = 1 Public Const NIM_DELETE = 2 Public Const NIF_MESSAGE = 1 Public Const NIF_ICON = 2 Public Const NIF_TIP = 4 Type NOTIFYICONDATA cbSize As Long hWnd As Long uID As Long uFlags As Long uCallbackMessage As Long hIcon As Long szTip As String * 64 End Type Public Function SetTrayIcon(Mode As Long, hWnd As Long, Icon As Long, tip As String) As Long Dim nidTemp As NOTIFYICONDATA nidTemp.cbSize = Len(nidTemp) nidTemp.hWnd = hWnd nidTemp.uID = 0& nidTemp.uFlags = NIF_ICON Or NIF_TIP nidTemp.uCallbackMessage = 0& nidTemp.hIcon = Icon nidTemp.szTip = tip & Chr$(0) SetTrayIcon = Shell_NotifyIconA(Mode, nidTemp) End Function
Чтобы использовать вставьте в код формы:
Private Sub Form_Load() SetTrayIcon NIM_ADD, Me.hWnd, Me.Icon, "Test" End Sub 'Чтобы удалить Private Sub Command1_Click() SetTrayIcon NIM_DELETE, Me.hWnd, 0&, "" End Sub
Блокируем кнопку пуск
Добавляем 2 кнопки и вставляем код:
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _ (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" _ (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long Private Declare Function EnableWindow Lib "user32" _ (ByVal hwnd As Long, ByVal fEnable As Long) As Long Public Sub EnableStartButton(Optional Enabled As Boolean = True) Dim lHwnd As Long 'найти hWnd lHwnd& = FindWindowEx(FindWindow("Shell_TrayWnd", ""), 0&, "Button", vbNullString) Call EnableWindow(lHwnd&, CLng(Enabled)) End Sub Private Sub Command1_Click() EnableStartButton False 'Кнопка ПУСК заблокирована End Sub Private Sub Command2_Click() EnableStartButton True 'Кнопка ПУСК не заблокирована End Sub
Считываем параметры из INI файла
Программа подключается к FTP, а в ини файле прописаны параметры — сервер, логин, порт, пароль.
С начало создаем INI файл:
[General] servname=сервер usern=Логин pwd=пароль port=порт
Его необходимо поместите в папку с программой. Далее, вставляем в модуль:
Private Declare Function WritePrivateProfileString Lib _ "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, _ ByVal lpString As String, ByVal lpFileName As String) As Long Private Declare Function GetPrivateProfileString Lib _ "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, _ ByVal lpDefault As String, ByVal lpReturnedString As String, _ ByVal nSize As Long, ByVal lpFileName As String) As Long Public Function ReadIni(Razdel As String, Param) As String ReadIni = GetValue(Razdel, Param, App.Path & "\test.ini", "0") End Function Private Function GetValue(ByVal Section As String, _ ByVal Key As String, ByVal fFileName As String, Optional ByVal DefaultValue As String = vbNullString) As String Dim Data As String Data = String$(1000, Chr$(0)) If GetPrivateProfileString(Section, Key, DefaultValue, Data, 1000, fFileName) > 0 Then GetValue = Left$(Data, InStr(Data$, Chr$(0)) - 1) Else GetValue = DefaultValue End If Exit Function End Function
Затем вставляем в код формы:
Private Declare Function InternetOpen Lib _ "wininet.dll" Alias "InternetOpenA" (ByVal sAgent As String, ByVal nAccessType As Long, ByVal sProxyName As String, _ ByVal sProxyBypass As String, ByVal nFlags As Long) As Long Private Declare Function InternetConnect Lib _ "wininet.dll" Alias "InternetConnectA" (ByVal hInternetSession As Long, ByVal sServerName As String, _ ByVal nServerPort As Integer, ByVal sUserName As String, ByVal sPassword As String, ByVal nService As Long, _ ByVal dwFlags As Long, ByVal dwContext As Long) As Long Private Declare Function FtpPutFile Lib _ "wininet.dll" Alias "FtpPutFileA" (ByVal hFtpSession As Long, ByVal lpszLocalFile As String, _ ByVal lpszRemoteFile As String, ByVal dwFlags As Long, ByVal dwContext As Long) As Boolean Private Declare Function FtpGetFile Lib _ "wininet.dll" Alias "FtpGetFileA" (ByVal hFtpSession As Long, ByVal lpszRemoteFile As String, _ ByVal lpszNewFile As String, ByVal fFailIfExists As Boolean, ByVal dwFlagsAndAttributes As Long, _ ByVal dwFlags As Long, ByVal dwContext As Long) As Boolean Private Declare Function InternetCloseHandle Lib _ "wininet.dll" (ByVal hInet As Long) As Integer Dim rc& Dim rs&
А в код кнопки:
rc& = InternetOpen("", 0, vbNullString, vbNullString, 0) rs& = InternetConnect(rc&, ReadIni("General", "servname"), "0", _ ReadIni("General", "usern"), ReadIni("General", "pwd"), 1, 0, 0) If FtpGetFile(rs&, "Ваш файл.txt", "путь куда", False, 0, 1, 0) = False Then End Call InternetCloseHandle(rs&) Call InternetCloseHandle(rc&)
Список запущенных процессов
Добавляем Listbox и 1 кнопку, вставляем следующий код:
Option Explicit Private Declare Function CreateToolhelpSnapshot Lib _ "Kernel32" Alias "CreateToolhelp32Snapshot" _ (ByVal lFlags As Long, ByVal lProcessID As Long) As Long Private Declare Function ProcessFirst Lib _ "Kernel32" Alias "Process32First" _ (ByVal hSnapShot As Long, uProcess As PROCESSENTRY32) As Long Private Declare Function ProcessNext Lib _ "Kernel32" Alias "Process32Next" _ (ByVal hSnapShot As Long, uProcess As PROCESSENTRY32) As Long Private Declare Sub CloseHandle Lib "Kernel32" (ByVal hPass As Long) Private Const Th42CS_SNAPPROCESS As Long = 2& Private Const MAX_PATH As Integer = 260 Private Type PROCESSENTRY32 dwSize As Long cntUsage As Long th42ProcessID As Long th42DefaultHeapID As Long th42ModuleID As Long cntThreads As Long th42ParentProcessID As Long pcPriClassBase As Long dwFlags As Long szExeFile As String * MAX_PATH End Type Dim hSnapShot As Long Dim uProcess As PROCESSENTRY32 Dim r As Long Private Sub Command1_Click() List1.Clear hSnapShot = CreateToolhelpSnapshot(Th42CS_SNAPPROCESS, 0&) If hSnapShot = 0 Then Exit Sub End If uProcess.dwSize = Len(uProcess) r = ProcessFirst(hSnapShot, uProcess) Do While r List1.AddItem uProcess.szExeFile r = ProcessNext(hSnapShot, uProcess) Loop Call CloseHandle(hSnapShot) End Sub
Помещение программы в автозагрузку
Для того чтобы программа загружалась вместе с Windows, как и другие некоторые программы, можно использовать реестр:
Добавьте 2 кнопки и следующий код:
Private Sub Command1_Click() 'Запись в реестр Set Reg = CreateObject("WScript.Shell") Reg.RegWrite "HKLM\Software\Microsoft\Windows\CurrentVersion\Run\Имя твоей проги", _ "Путь к твоей проге" End Sub Private Sub Command2_Click() 'Удаление из реестра Set Reg = CreateObject("WScript.Shell") Reg.RegDelete "HKLM\Software\Microsoft\Windows\CurrentVersion\Run\Имя твоей проги" End Sub
А для того чтобы программа загружалась вместе с Windows, даже в безопасном режиме, то такой код:
Для начала более серьезный способ (сделайте на всякий случай резервную копию реестра).
Private Sub Command1_Click() Set Reg = CreateObject("WScript.Shell") Reg.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon\Shell", _ "Путь к Вашей программе" End Sub Private Sub Command2_Click()'Это для восстановления Set Reg = CreateObject("WScript.Shell") Reg.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon\Shell", _ "Explorer.exe," End Sub
Ну и простой способ.
Private Sub Command1_Click() Set Reg = CreateObject("WScript.Shell") Reg.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon\Userinit", _ "C:\\WINDOWS\\system32\\userinit.exe,Путь к Вашей программе" End Sub Private Sub Command2_Click()'Для восстановления Set Reg = CreateObject("WScript.Shell") Reg.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon\Userinit", _ "C:\\WINDOWS\\system32\\userinit.exe," End Sub
Скрываем панель задач
Добавляем 2 кнопки и вставляем код:
Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, _ ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, _ ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _ (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Const SWP_HIDEWINDOW = &H80 Const SWP_SHOWWINDOW = &h50 'Скрывает Private Sub Command1_Click() hwnd1 = FindWindow("Shell_traywnd", "") Call SetWindowPos(hwnd1, 0, 0, 0, 0, 0, SWP_HIDEWINDOW) End Sub 'Показывает Private Sub Command2_Click() hwnd1 = FindWindow("Shell_traywnd", "") Call SetWindowPos(hwnd1, 0, 0, 0, 0, 0, SWP_SHOWWINDOW) End Sub
Разархивировать архив RAR
Для того чтобы разархивировать архив RAR можно использовать следующий код:
WinRarApp = "C:\Program Files\WinRAR\WinRAR.exe x -o+" iPath = "C:\" iArhivName = "Имя файла.rar" adr = WinRarApp & " """ & iPath & iArhivName & """ """ & iPath & """ " RetVal = Shell(adr, vbHide)
Сколько оперативной памяти в компьютере
Добавьте одну кнопку и вставляйте следующий код:
Private Declare Sub GlobalMemoryStatus Lib "kernel32" (lpBuffer As TMemoryStatus) Private Type TMemoryStatus dwLength As Long dwMemoryLoad As Long dwTotalPhys As Long dwAvailPhys As Long dwTotalPageFile As Long dwAvailPageFile As Long dwTotalVirtual As Long dwAvailVirtual As Long End Type Dim ms As TMemoryStatus Private Sub Command1_Click() ms.dwLength = Len(ms) Call GlobalMemoryStatus(ms) MsgBox "Всего:" & ms.dwTotalPhys & vbCr & "Свободно:" _ & ms.dwAvailPhys & vbCr & "Используется в % :" & ms.dwMemoryLoad End Sub
Скрыть значки рабочего стола
Это делается следующим образом. Добавите 2 кнопки и вставляйте следующий код:
Private Declare Function ShowWindow& Lib "user32" (ByVal hwnd&, ByVal nCmdShow&) Private Declare Function FindWindow Lib _ "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Const SW_HIDE = 0 Const SW_NORMAL = 1 Private Sub Command1_Click() Dim hHandle As Long hHandle = FindWindow("progman", vbNullString) Call ShowWindow(hHandle, SW_HIDE) End Sub Private Sub Command2_Click() Dim hHandle As Long hHandle = FindWindow("progman", vbNullString) Call ShowWindow(hHandle, SW_NORMAL) End Sub
С помощью кнопки Command1 значки скрываются, Command2 — появляются.
На этом у меня все, надеюсь, вышеперечисленные примеры будут Вам полезны, пока!
Нравится4Не нравится
Microsoft Small Basic — простейший язык программирования для начинающих.
Первый шаг для начинающего программиста
Small Basic — это единственный язык программирования, созданный специально для начинающих. Он максимально удобен
при переходе от визуального, блочного программирования к текстовому кодированию.
Small Basic сочетает в себе дружественный русскоязычный интерфейс с очень простым языком и богатым набором
библиотек. С помощью интеллектуальных всплывающих подсказок, Small Basic делает написание кода еще легче.
Microsoft рекомендует Small Basic начинать изучать в возрасте от 7 лет. Эти рекомендации для англоязычных стран,
поскольку при программировании на Small Basic необходимо писать код на английском языке. Для неанглоязычных стран
возраст изучения Small Basic с 8-9 лет.
С чего начать, Scratch или Small Basic?
Scratch vs Small Basic
Детям с 8-12 лет, умеющим читать и двигать компьютерной мышкой,
рекомендуется изучать Scratch-программирование. Здесь
дети изучают основы программирования в игровой форме, двигая блоки мышкой, дети на интуитивном уровне понимают понятие
циклов, логических условий, переменных, событий, процедур и функций. Т.е. дети не понимают в классическом понимании
определения сложных терминов программирования, однако понимают, когда и как их можно использовать при составлении
программы.
Дети, прошедшие курс Scratch-программирования, наиболее подготовлены к изучению основ программирования,
поскольку уже составляли программы, хотя и с помощью блоков. Детям старше 12 лет, а также взрослым, уже не интересно
заниматься программированием на Scratch. Для таких категорий слушателей мы рекомендуем изучить основы программирования
на примере языка программирования Microsoft Small Basic.
Не лучше ли, как раньше, Pascal, чем Small Basic?
Pascal vs Small Basic
До 2009 года начинающие программисты осваивали базовые концепции, изучив язык программирования Pascal. Однако в этом
случае придется выполнять упражнения и решать задачи в явно устаревшей, (ориентированной на работу в операционной
системе DOS) среде разработки Turbo Pascal, столкнуться с массой проблем при ее использовании в современных
операционных системах семейства Windows.
Small Basic создавался специально для новичков в программировании. Нет более легкого языка для изучения, чем Small
Basic. Этот язык наиболее современный, т.к. Small Basic был создан 23.10.2008 года и более удобный для первого освоения, чем
большинство аналогичных языков для новичков, написанных во время архаичной операционной системы DOS или еще раньше, как например:
Pascal, Turbo Pascal, Fortran, Basic, QBasic, Turbo Basic и др. Язык программирования Small Basic более легок в
понимании и в освоении для новичка, чем любой другой.
Начать лучше со Small Basic или Java?
Small Basic vs Java
Клуб программистов «1С» предлагает начинать обучаться школьникам программированию с 11 лет с языка Java, и ни слова
не говорит про Small Basic. Вполне резонный вопрос, может лучше начать с Java, и пропустить Small Basic, с учетом
того, что на тематических ознакомительных видеоуроках от фирмы «1С» часто можно слышать, что они даже детям с 10 лет предлагают
начинать с Java?
На самом деле Java гораздо сложнее, чем Small Basic, и для освоения Java нужно иметь базовые знания по
основам компьютерной грамотности и основам программирования, о чем подразумевают в клубе программистов «1С», даже когда
рекомендуют изучать Java с «нуля». Вы сами можете попробовать пройти Первое занятие по Java-программированию для школьников,
а затем сделать выбор: если вам все понятно, вы освоили первый урок по Java, то имеет смысл пропустить Small Basic и начинать изучение
программирования с Java. Если же вам показалось, что Java слишком сложно для освоения, то, тогда однозначно, следует начинать
программировать со Small Basic. Кстати говоря, сама фирма «Microsoft» рекомендует Small Basic для детей начиная с 7 лет!
Python очень легкий и популярный. Может с него начать?
Python vs Small Basic
Язык программирования Python более сложный, более требовательный к знаниям и навыкам программирования, чем Small
Basic. Если у Вас нет навыков программирования, начните с более простого языка Small Basic. Если вы поймете и освоите
Small Basic, то, скорее всего, вы сможете также осилить и Python. Нередко начинающие с языка программирования Python
не могли освоить его и бросали на полпути, предполагая, что это слишком сложно.
В какой-то степени Small Basic является лакмусовой бумажкой для новичка в программировании. В том смысле, что еще окончательно
неизвестно, сможет ли человек стать программистом или эта профессия не подходит ему. Если новичок освоил Small Basic, то при
желании и упорстве он сможет освоить и другие, более сложные языки программирования. Если же самый легкий язык Small Basic
оказался не по зубам, то, скорее всего, и более сложные языки программирования окажутся невозможным для освоения.
Почему стоит начать программирование со Small Basic
А не гнаться за популярными языками
Современные системы программирования, такие как Python, Java, JavaScript, Delphi, и, тем более, C++ или Microsoft Visual C++,
ориентированы на профессиональную разработку и предполагают наличие у пользователя знаний и начального опыта в области программирования.
Но откуда взять эти начальные знания и опыт в области программирования? Другими словами, они не подходят начинающим для
обучения программированию.
Очевидно, осознав проблему отсутствия современной среды разработки, ориентированной на начинающих,
Microsoft предложила свое решение — Microsoft Small Basic. Язык программирования Microsoft Small Basic,
несмотря на название «маленький», тем не менее является современной, вполне приличной и доступной для начинающих
средой разработки с автодополнением кода и всплывающими подсказками. Кроме этого интерфейс программы и интерактивная помощь полностью
русифицированы и адаптированы для русскоговорящего пользователя, и только код пишется на английском языке.
Чтобы выбрать первый язык программирования, надо ориентироваться не на спрос, а надо ориентироваться на задачу.
Если задачей является стать программистом и нет никакого опыта программирования, надо выбрать самый легкий в изучении язык, и,
освоив его, переходить к более сложным и продвинутым языкам, пользующимся спросом. Профессиональный программист должен в
совершенстве знать несколько языков программирования, и, в случае необходимости, быть готовым к изучению нового языка
программирования.
Язык программирования Small Basic предназначен для того, чтобы сделать обучение программированию предельно
простым и доступным занятием для новичков, которое также может приносить удовольствие. Язык Small Basic
разрабатывался с намерением снести барьер сложности и проложить дорогу в удивительный мир компьютерного
программирования как для взрослых, так и для детей.
Все читатели этих строк могут принять участие и проголосовать в социологическом опросе онлайн, ответив на вопрос «Какой должен быть первый язык программирования для начинающих?», и увидеть результат, исходя из мнений народного голосования.
Изучите основы программирования
C помощью Microsoft Small Basic
Основы программирования – это фундаментальные знания по программированию, это начало и азы навыков по программированию. Без основ
программирования вы не освоите ни один из языков программирования. Основы программирования частично входят в базовый школьный курс
«Информатики» начиная с 7 класса. В некоторых школах изучают углубленно этот предмет, а в некоторых школах изучают
поверхностно, ограничиваясь понятием компьютера и его истории развития, понятием информации и информатизации, общими
понятиями информационных технологий и их роли в повседневной жизни. Понятия «алгоритмизация» и «программирование» в
некоторых школах проходят настолько поверхностно, что многие уже и не помнят, проходили или нет такое.
Программирование, как и иностранный язык, лучше начинать в школе, и чем раньше, тем лучше. Все больше и больше стран понимают
пользу от раннего изучения программирования, в некоторых странах его изучают в школах с 5 лет. Раннее изучение программирования
позволяет развить творческое, креативное мышление, расширяет кругозор, развивает логическое и алгоритмическое мышление,
причинно-следственные связи, способность к аналитическому мышлению. Изучение методов программирования позволяет разбить задачу на
более мелкие, строить логические связи и анализировать ситуации.
Каковы дальнейшие перспективы после Small Basic?
Что потом изучать проще всего?
На примере Small Basic можно изучить базовые концепции программирования, алгоритмические структуры, инструкции управления
ходом выполнения программы, циклы, научиться работать с массивами, файлами и графикой. В Microsoft Small Basic в качестве языка
программирования используется диалект языка Basic, что позволяет в дальнейшем без особых проблем перейти на следующий
уровень — начать работать в Microsoft Visual Basic, или изучать более продвинутые языки разработки, например, язык
программирования Python.
Microsoft Visual Basic
На языке Small Basic можно компилировать программы и писать приложения под Windows. Если же функциональности вам будет
недостаточно, проще всего при самостоятельном изучении перейти к следующему уровню – Microsoft Visual Basic, при этом
переучиваться на другой язык не нужно, поскольку Microsoft Visual Basic, по сути, продолжение и расширение Microsoft Small
Basic. Более того, код программы, написанный в Small Basic, если перенести без изменения в Visual Basic, точно так же запускается
и выполняется.
VB.NET
Продолжением Microsoft Visual Basic, (а следовательно и Microsoft Small Basic) является один из мощнейших и современнейших языков
программирования Visual Basic .NET (VB.NET), реализованный на платформе Microsoft .NET.
Где еще пригодится Small Basic?
VBScript & VBA
Кроме того, следующим шагом, после Microsoft Small Basic можно изучить VBScript (VBS, развернуто Microsoft Visual Basic Script Edition,
иногда еще называют Visual Basic Script). VBScript пригодится при веб-программировании как альтернатива JavaScript на веб-страницах,
а также при создании динамических веб-страниц ASP, как альтернатива PHP страниц.
Знание Small Basic поможет вам при дальнейшем изучении Visual Basic for Applications (VBA). Знания VBA вам поможет при программировании
в приложениях Microsoft Office (Excel, Word, Access и др). Учитывая популярность и возможности офисных программ, с помощью VBA можно писать,
дописывать и редактировать макросы (которые, кстати, написаны на VBA), т.е. создавать расширения в офисных программах Microsoft Office.
И это все, что может Small Basic?
Дополнительные возможности
С помощью Small Basic можно программировать игровую приставку Kinect, роботов Lego Mindstorm и Arduino, гарнитуру для виртуальной
реальности Oculus Rift и многое другое. С помощью Silverlight player вы можете даже размещать свои игры, написанные на Small Basic,
в собственных блогах и веб-сайтах и воспроизводить их в браузере. Кроме этого, есть множество расширений
Microsoft Small Basic, позволяющие существенно расширить функционал и возможности программирования на языке Microsoft
Small Basic.
Знание Small Basic это, в первую очередь, знание основ программирования. Никто не запрещает вам изучать после Microsoft Small
Basic такие языки программирования, как Python, Java, C++, JavaScript и прочие языки программирования для дальнейшего
самообразования, саморазвития или трудоустройства. Таким образом, Microsoft Small Basic — это первый шаг программиста практически
любого направления программирования.
Полезные ссылки по Microsoft Small Basic
Скачать, попробовать, научиться
- Скачать Microsoft Small Basic 1.2 —
(Русский интерфейс). Ссылка с официального сайта Microsoft.(SmallBasic.msi, 7.0 MB) - Никита Культин, Лариса Цой. Small
Basic для начинающих. Бесплатный учебник по Small Basic на русском языке на 245 стр. Ссылка с официального сайта Microsoft (PDF-формат, 5,73 MB) - Ильдар Ахметов. Программирование на Small Basic. Учебник для тех, кто не понимает никакие другие учебники. Бесплатный учебник на 50 стр. (PDF-формат, 4,06 MB)
-
Microsoft Small Basic. Знакомство с программированием. Бесплатное
пособие на русском языке на 70 стр. Ссылка с официального сайта Microsoft (PDF-формат, 2,5 MB) -
Валерий Рубанцев. Занимательные уроки с компьютером или Small Basic для начинающих. Книга на русском языке на 588 страницах для самых
маленьких и неопытных новичков с нулевым уровнем подготовки. Ссылка с Гугл Диска (PDF-формат, 35,9 MB) - Русскоязычное сообщество Small Basic в социальной сети «ВКонтакте».
- Документация по командам и ключевым словам на русском языке
- Обучающие видеоуроки по Microsoft Small Basic на YouTube.
Бесплатный видеокурс из 19 видеоуроков на русском языке от TeachVideo. - Бесплатный обучающий курс из 23 уроков по Microsoft Small Basic (PDF-формат, каждый урок по 1-1,5 MB)
- Введение в Small Basic (скачать / просмотреть PDF — 1,43МБ)
- Инструкции, свойства и операции (скачать / просмотреть PDF — 1,42МБ)
- Переменные (скачать / просмотреть PDF — 1,19МБ)
- Условия и циклы (скачать / просмотреть PDF — 1,14МБ)
- Ветви и процедуры (скачать / просмотреть PDF — 1,14МБ)
- Графическое окно
- Графика черепашки
- Изучение фигур
- Объекты Sound, Program и Text
- Объекты Clock, Desktop и Dictionary
- Объекты Flickr, ImageList и Network
- Ввод и вывод файлов
- Стеки и массивы
- Объект Math
- События и интерактивность
- Объект Controls
- Средства отладки
- Игры с фигурами
- Реагирование на события
- Обнаружение столкновений
- Сложные игры
- Совместное использование кода
- Изучение среды разработки Microsoft Visual Basic
- РАСШИРЕНИЯ Microsoft Small Basic или углубленный уровень Microsoft Small Basic.
- SMALL BASIC PRIME – расширенная интегрированная среда разработки (IDE) для Small Basic. Интерфейс редактора кода для профессионалов с расширенными возможностями.
- Социологический опрос по первому языку программирования. Народное голосование «С чего начать программировать?»
Посмотрите результат по первому языку программирования для начинающих и
проголосуйте сами. - Дистанционный курс по скайп
(или Zoom) «Программирование на Microsoft Small Basic» Индивидуальные онлайн занятия с репетитором по Zoom, наиболее эффективное обучение программированию,
если бесплатное обучение оказалось недостаточно эффективно, или если недостаточно времени для самостоятельного изучения программирования Microsoft Small Basic.
Поделиться в соцсетях…
Данный сайт SMALL-BASIC.RU создан НПЦ «ИНФА-ОБРАЗОВАНИЕ» в рамках проекта по популяризации языка
программирования Microsoft Small Basic в России и в русскоговорящих странах.
2019 — 2020 © INFA-Education.RU
Готовые программы Visual Basic. Примеры, задачи.
Готовые программы Visual Basic. Примеры, задачи.
- Главная
- Готовые программы Visual Basic
- Найти количество столбцов матрицы, элементы которых упорядочены по убыванию
- Запустить бат файл средствами VB6
- Проверка электронной цифровой подписи Authenticode. Часть 1. Теория
- Recordset — Как ускорить?
- Эмуляция нажатия клавиш в стороннем приложении
- Актуален ли Visual Basic 6.0?
- Проверка электронной цифровой подписи Authenticode. Часть 2. Описание реализации
- Вывести на форму сведения о Оперативной Памяти
- Вывести на форму время работы компьютера
- Вывести в листбокс информацию о видеокарте, материнской плате и свойства экрана
- Вывести в Listbox сколько занято и сколько свободно памяти на жёстком диске
- Вывести информацию на форму о памяти, о устройствах подключенных к нему(мышь, клавиатура)
- Поиск минимального в массиве
- Все элементы главной диагонали заменить наибольшим элементом всего массива
- Выделить все четные положительные элементы цветом и обвести рамкой, максимальный элемент увеличить в 10 раз
- Создаю текстовый редактор не получается сделать «Выделить все»
- Логгирование в программе на vb6.0
- Дано натуральное трехзначное число.Определить цифры этого числа (K, L, M)-Visual Basic
- Сохранение и чтение данных из TextBox в TXT
- Меню на кнопке с цветным выделеним курсора
- Найти сумму элементов первой строки и первого столбца матрицы
- Порядок
- Найти количество нечетных чисел среди введенных
- Вывод в Combobox списка файлов в папке
- Ввести слово и образовать новое слово, заменив в нем 3-ю букву от конца на букву «ю»
- Как превратить двумерный массив в одномерный?
- В заданном массиве подсчитать количество чисел, делящихся без остатка на 7
- Разработать программу, которая вводит слово с клавиатуры
- Собрать несколько блоков кода в один
- Подсчитать значение выражения Y=78-24C на промежутке
- Не прописываются данные из VB6 в xl 2010
- Поменять местами правую и левую часть массива
- 4 числа. Найти наибольшее и наименьшее число
- Посчитать количество вхождений числа в строку и закрасить ячейку по результатам
- Разработать программу, которая выводит объединение и пересечение множеств
- Обработка активной книги Excel
- Определить, есть ли в массиве последовательность из n повторяющихся элементов
- Изменить массив так, чтобы сначала выводились 1,затем 0, и потом 2
- Определение процедуры,выполняющей обмен двух переменных
- Сохранение и загрузка данных
- Нужно сделать программу «Угадай число»
- Generate QR-code VB6
- Программа, вводящая натуральные числа а и б и выводит все нат.числа, квадраты кот. в диапазоне
- Разработать программу которая рисует несколько одинаковых окружностей на форме
- Определить максимальный элемент массива VB
- Выбрать наименьшее из трёх чисел
- VB Подсчитать % введеных пользователем 0
- Программа неправильно определяет цвет
- Ошибка sub or function not defined
- Проверка подключения USB (flash)
Basic4Android. Пишем на бэйсике нативные приложения для Android / Хабр
Не знаю, почему про данный продукт инженерной мысли еще не рассказывали на Хабре. Может потому что писался в Израиле, а может, потому что сама мысль, что на Basic можно писать под Android – есть святотатство.
В общем, факт остается фактом: писать на Basic под Android теперь можно и поможет вам в этом продукт под предсказуемым названием «Basic4Android».
Кому интересно почитать про возможности продукта велком на официальный сайт. Я же предлагаю посмотреть на этого зверя в бою и разобрать небольшой пример, который покажет процесс разработки простенькой галереи.
Первое что меня порадовало при знакомстве с b4a это то, что у него свой небольшой и шустрый редактор.
Ничего сверхъестественного. Только самое привычное и необходимое: редактор кода и визуальный редактор форм.
Чуть позже я обнаружил и по достоинству оценил возможность рисовать формы прямо внутри штатного эмулятора Android либо виртуальной машины.
А теперь перейдём к примеру. Сделаем с помощью b4a простенький просмоторщик картинок, который ищет все картинки в папке «sdcard/Images» и выводит их в виде скролируемой галереи.
Для этого в визуальном редакторе добавляем элемент «HorizontalScrollView».
Выставляем ему такие начальные настройки:
Затем, растянем этот элемент по ширине окошка. Для этого зайдем во вкладку «Designer scripts» и введем следующий код:
HorizontalScrollView1.Width = 100%x
После этого дизайнер можно закрыть. Перед закрытием вам предложат сохранить слой. Сохраняем:
Затем переходим в редактор кода и в глобальных модулях определяем объекты к которым будем обращается:
Sub Process_Globals
'These global variables will be declared once when the application starts.
'These variables can be accessed from all modules.
Dim imagesFolder As String : imagesFolder = File.DirRootExternal & "/Images"
Dim Bitmaps As List
End Sub
Sub Globals
'These global variables will be redeclared each time the activity is created.
'These variables can only be accessed from this module.
Dim HorizontalScrollView1 As HorizontalScrollView
End Sub
А это листинг основной части программы с комментариями:
Sub Activity_Create(FirstTime As Boolean)
If FirstTime Then 'Если Activity загружается впервые то
ProgressDialogShow("Загрузка картинок") ' показываем прогресс-бар
Bitmaps.Initialize ' инициализируем массив в котором будут лежать картинки
Dim files As List ' инициализируем массив в котором будут лежать пути к файлам
If File.Exists(imagesFolder, "") = False Then 'проверка наличия папки с картинками
ToastMessageShow("Такой папки нет: " & CRLF & imagesFolder, True)
Return ' Прости меня Хосспади
End If
files = File.ListFiles(imagesFolder) 'Вносим в массив все файлы в указанной папке
Dim f As String
For i = 0 To files.Size - 1
DoEvents 'Необходимо чтоб прогрессбар реагировал
'Берем i-тый файл. Если он кончается на .jpg то закидываем в список картинок
f = files.Get(i)
If f.ToLowerCase.EndsWith(".jpg") Then
'объявляем переменную в которую поместим картинку
'загружаем в нее изображение и добавляем в массив картинок
'на всякий случай делаем ограничение в 50 картинок
Dim b As Bitmap
b.InitializeSample(imagesFolder,f,350dip,350dip)
Bitmaps.Add(b)
If Bitmaps.Size > 50 Then Exit
End If
Next
'Это сообщение которое появится по окончании загрузки
ToastMessageShow("Найдено " & Bitmaps.Size & " картинок", True)
ProgressDialogHide 'скрываем прогрессбар
End If
Activity.LoadLayout("main") 'Загружаем в текучую Activity наш слой
'подгоняем ширину панелей внутри HorizontalScrollView1 под всю ленту картинок
HorizontalScrollView1.Panel.Width = 350dip* files.Size
'Добавляем ImageView для каждой картинки рядом с друг другом
'саму картинку вставляем бэкграундом
For i = 0 To Bitmaps.Size -1
Dim iv As ImageView : iv.Initialize("")
Dim bd As BitmapDrawable
bd.Initialize(Bitmaps.Get(i))
iv.Background = bd
HorizontalScrollView1.Panel.AddView(iv, 5dip + i * 350dip, 5dip, 340dip, 340dip)
Next
End Sub
Запускаем Debug
Отвечаем на запросы о названии пакета и названия программы:
В результате получаем галерею с плавной прокруткой.
Остается лишь добавить что продукт платный. На сегодняшний день стоимость подписки от 34$ до 299$. Лично я приобрел с двухгодовой подпиской, т.к. Продукт сейчас хорошо развивается и смысла брать с подпиской на 2 месяца — не вижу. Кстати если кому вдруг захочется приобрести — пишите в личку, у меня есть несколько купонов с 50% скидкой.
Язык Бэйсик
Раздел: Как стать программистом /
Языки программирования
Язык Бэйсик (он же Бейсик, он же BASIC) входит в семейство языков программирования высокого уровня.
BASIC — это аббревиатура, которая расшифровывается так:
Beginner’s All-purpose Symbolic
Instruction Code — универсальный код символических инструкций для начинающих).
Язык программирования Бейсик был разработан в 1964 году. Затея заключалась в том,
чтобы создать язык, с помощью которого студенты, не имеющие навыков программирования,
могли самостоятельно создавать компьютерные программы для решения своих задач.
Этот язык в своё время был очень популярен и расплодился по миру компьютеров в виде различных диалектов, в основном, как язык для домашних компьютеров.
Бэйсик с момента создания многократно дорабатывался и усложнялся, повинуясь законам
современного программирования. По этой причине к настоящему времени он уже утратил
(по сравнению с первыми версиями) свою простоту. Хотя, даже с учётом этого,
современный Бэйсик всё-равно остаётся относительно простым языком, по сравнению с
такими языками, как, например, С++.
Начиная с 1960-х годов компьютеры становились всё более доступными. На компьютерах могли работать уже не только учёные-программисты, но и школьники и студенты, которые не являлись программистами. Однако у этих школьников и студентов уже появились задачи, которые надо было решать с помощью компьютеров.
Готовых программ тогда почти не было. Поэтому под каждую задачу надо было создавать отдельную программу. И делать это на компьютерах тех лет, используя имеющиеся тогда языки программирования, было очень сложно (отчасти поэтому раньше языки программирования создавались для решения конкретных задач, например, ПРОЛОГ был ориентирован на создание систем с искусственным интеллектом, ФОРТРАН — для работы с математическими формулами в научных и инженерных вычислениях и т.п.).
Поэтому неудивительно, что у кого-то появилась мысль создать язык программирования настолько простой, насколько это вообще возможно, чтобы люди, совсем незнакомые с программированием, могли создавать хотя бы простые программы для решения каких-то задач на компьютерах (эта мысль была воплощена в жизнь, хотя потом критики ставили эти особенности в вину Бейсику).
В итоге в 1964 году преподавателями Дартмутского Колледжа Джоном Кемени и Томасом Курцем был придуман язык Бэйсик, и под их руководством был реализован командой студентов колледжа. Со временем, когда стали появляться другие диалекты, изначальную реализацию стали называть Dartmouth BASIC.
Бейсик был задуман и сделан так, чтобы студенты могли относительно легко создавать свои программы. Бэйсик был ориентирован на пользователей, для которых скорость выполнения программ не была слишком важной, и которым намного более важно было иметь возможность использовать компьютер для решения своих задач в принципе, не имея специальной подготовки (напомню, готовых программ тогда почти не было).
При разработке языка Бэйсик использовались следующие восемь принципов:
- Язык должен быть простым в использовании и понятным для начинающих.
- Должен быть языком программирования общего назначения (а не специального, как, например, упомянутые выше Фортран и Пролог).
- Язык должен предоставлять возможность расширения функциональности, доступную опытным программистам.
- Язык должен быть интерактивным, то есть выполнять команды пользователя.
- Язык должен предоставлять однозначные и понятные сообщения об ошибках.
- Язык должен быстро работать на небольших программах.
- Язык не должен быть привязан к “железу” и не должен требовать от программиста понимания работы этого самого “железа”.
- Язык должен защищать пользователя от операционной системы (или операционную систему от пользователя — кому как больше нравится))).
При создании Бэйсика за основу были взяты частично Фортран II и частично Алгол 60. Первоначально Бэйсик был реализован на мейнфрейме GE-265 с поддержкой множества терминалов (мейнфрейм — это большой высокопроизводительный отказоустойчивый сервер).
Несмотря на то, что язык уже использовался на нескольких мини-компьютерах, его настоящее распространение началось с внедрения на микрокомпьютере Альтаир 8800.
Многие языки программирования были слишком громоздкими, чтобы поместиться в небольшую память, которую пользователи подобных компьютеров могли себе позволить. Для машин с таким медленным носителем информации, как бумажная лента (позднее — магнитофонная кассета), и без подходящего текстового редактора такой небольшой язык, как Бейсик, был наилучшим решением.
В 1975 году Microsoft (тогда это были лишь двое — Билл Гейтс
и Пол Аллен, при участии Монте Давидова), выпустила Altair BASIC. Затем его версии
появились на другой платформе под лицензией и скоро в использовании были уже миллионы
копий и различных вариантов. Один из вариантов, Applesoft BASIC, стал стандартным
языком на Apple II. Для операционной системы CP/M был создан диалект BASIC-80, который надолго опередил свое время.
Кстати, Билл Гейтс говорил, что Бэйсик — это его любимый язык программирования.
Наиболее бурно и успешно Бэйсик развивался в течение 1970-х и в начале 1980-х годов. В это время почти все персональные компьютеры имели собственный интерпретатор Бейсика, часто зашиваемый прямо в ПЗУ. В простейших компьютерах он даже выполнял функции операционной системы.
Практически все более мощные компьютеры также имели интерактивные Бейсик-системы. Было создано несколько новых версий Бейсика для платформы IBM PC и совместимых. Microsoft продавала Бейсик для MS-DOS/PC DOS, включая BASICA, GW-BASIC (модификация BASICA, не требующая «прошивки» от IBM) и QuickBASIC.
Компания Borland, получившая широкую известность благодаря Turbo Pascal (с которым она и вышла впервые на рынок) в 1985 году выпустила основанную на той же программной среде систему Turbo Basic 1.0 (его наследники впоследствии продавались другой компанией под именем PowerBASIC).
К концу 1980-х годов персональные компьютеры стали намного мощнее и предоставляли
новые возможности (такие, как графический интерфейс пользователя). Использовать эти
новые возможности в Бейсике было уже не так просто и не так удобно. Кроме того,
появились недорогие компиляторы более продвинутых языков (таких как Паскаль и Си),
которые, к тому же, имели навороченные по тем временам средства разработки
и дополнительные библиотеки с готовыми стандартными подпрограммами (например, Borland Pascal с библиотекой Turbo Vision).
Бейсик начал терять популярность, хотя огромное число его версий ещё использовались и продавались. В это же время начался постепенный переход Бэйсика в сторону признанных структурных языков: расширился словарь и набор конструкций языка, появились сложные ветвления, именованные подпрограммы и функции, длинные имена переменных.
Особенности языка Бейсик
Ранние версии Бейсика (такие как BASICA, GW-BASIC) сильно отличаются от современных диалектов и сегодня практически не используются. Причём отличаются настолько сильно, что начинающий программист не каждую программу на старом Бэйсике сможет перевести на современный Бэйсик.
Структура программы на ранних версиях Бейсика во многом формировалась с учётом того, что он предназначался для среды программирования со строчным редактором текста. В таком редакторе пользователь не имел возможности отображать весь текст на экране (в окне), не мог перемещаться по нему в любых направлениях с помощью клавиатуры и/или мыши. В строчных редакторах пользователь для изменения строки текста должен дать команду изменения строки с заданным номером, затем ввести новый текст указанной строки (вот была житуха у программистов))).
Для вставки новой строки нужно дать команду вставки, опять-таки указав номер. Вводимые строки отображаются на экране последовательно (независимо от номеров). Чтобы увидеть сделанные изменения, применяется команда вывода текста, которая выводит строки в правильном порядке (по возрастанию номеров).
Поэтому в старом Бэйсике каждая строка начиналась с номера. При вводе в редактор строка оказывалась в исходном тексте программы на позиции, соответствующей её номеру. Для вставки новой строки нужно было дописать строку с номером, находящимся в диапазоне между номерами двух других строк.
«Раздвинуть» строки было невозможно, если требовалось вставить новую строку между строками с соседними номерами, приходилось повторно вводить эти строки с другими номерами, чтобы обеспечить разрыв в нумерации (либо применять специальную команду RENUM, которая изменяла номера всех уже введённых строк с постоянным шагом).
Как вы понимаете, при создании более-менее сложной программы практически невозможно предугадать, сколько в ней будет строк и в каком порядке они будут следовать.
Поэтому для обеспечения последующего редактирования программы стало принято нумеровать строки с шагом 10 (а иногда и больше). Это позволяло в большинстве случаев без проблем вставлять новые строки без изменения номеров строк, которые были введены ранее.
Пример рассмотрим чуть позже, когда познакомимся с синтаксисом языка Бейсик.
Синтаксис языка Бейсик
Признаком конца оператора служит конец строки. Чтобы на одной строке разместить несколько операторов, нужно поставить между ними двоеточие (это разрешалось не во всех реализациях языка).
Простейшая программа на Бэйсике:
10 PRINT “Hello, WORLD!”
Бэйсик — не чувствительный к регистру язык. То есть для Бэйсика слова PRINT и print — это одно и тоже. Это касается не только ключевых слов, но и имён переменных. Хотя некоторые реализации языка являются чувствительными к регистру полностью или частично (например, Liberty BASIC).
Имена переменных должны начинаться с буквы и могут состоять из латинских букв и цифр. Для создания переменной строкового типа нужно было после имени указать знак доллара ($).
Например:
X = 100 ‘Числовая переменная X$ = “Hello” ‘Строковая переменная
Выражения похожи на выражения в большинстве других процедурных языков программирования, но в первых вариантах Бейсика их было довольно мало. В самых ранних вариантах число ключевых слов было менее 20 (в этом и прелесть Бэйсика))).
Объявлять простые переменные не нужно. Просто в любом месте программы пишем имя переменной, и всё. Правда, массивы надо объявлять.
Ниже перечислены самые основные конструкции языка, которые были реализованы практически в любой Бейсик-системе конца 1970-х годов (многие из этих конструкций поддерживаются и современными реализациями языка Бэйсик):
LIST
Вывод на монитор текста программы в правильной последовательности строк.
RUN
Запуск текущей программы с первого оператора строки с самым маленьким номером.
REM
Комментарий. Текст, находящийся после ключевого слова и до конца строки, является комментарием. Многие интерпретаторы также поддерживают в качестве знака начала комментария одиночную кавычку ‘. Некоторые интерпретаторы допускают использовать слово REM, только если оно находится в самом начале строки.
INPUT
Выводит на монитор текст приглашения и ожидает, пока пользователь введёт значение и нажмёт ENTER.
PRINT
Выводит данные на монитор (текст и значения переменных).
CLS
Очищает экран.
DIM
Описание массива. В отличие от обычных переменных, массивы требуют предварительного объявления.
GOTO Метка
Команда безусловного перехода на Метку.
IF … THEN …
Обычный оператор ветвления. После IF размещается логическое условие, после THEN — оператор, который должен быть выполнен при истинности этого условия.
END
Завершение выполнения программы. Система выходит в интерпретатор и пользователю выдаётся приглашение на ввод команд.
SAVE
Команда интерактивного режима, которая сохраняет текущую программу в файле на внешнем носителе.
LOAD
Команда интерактивного режима, которая загружает в память программу из файла на внешнем носителе. При этом обычно из памяти удаляется ранее загруженная программа и данные.
Пример программы на Бейсике:
10 CLS 'Очистить экран 20 PRINT "Привет, МИР!!!" 30 X = 100 'Присвоить 100 переменной Х 40 INPUT "Введите число : "; Y 50 PRINT Y; " * "; X; " = "; X * Y 60 END
Интерпретаторы Бэйсик
Один из наиболее известных интерпретаторов языка Бэйсик — это QBasic от Microsoft. Много лет он бесплатно поставлялся вместе с операционными системами MS-DOS и Windows. QBasic имел неплохие по тем временам графические и звуковые возможности. Поэтому на QBasic создавались даже игры (один мой знакомый это делал — не то, что на картинке, но что-то типа того))).
Бейсик поздних версий (начиная с Turbo Basic и Visual Basic) сильно отличается от ранних реализаций. По сути это новый язык, который уже больше похож на Фортран или Паскаль, чем на исходный Бейсик (хотя многие конструкции поддерживаются).
Вторую жизнь Бейсик получил с появлением Visual Basic от Microsoft. Но, несмотря на популярность, в 2001 году Microsoft отказалась от дальнейшей поддержки Visual Basic (если не ошибаюсь, последняя версия Visual Basic была 6.5) в пользу принципиально нового языка Visual Basic .NET, где язык был снова “перекроен” и “перешит”, ориентирован на кросс-платформенную технологию .NET, и в текущем состоянии практически совпадает по набору возможностей c языком C#. Отличия только в синтаксисе и ключевых словах.
Так Basic перерос из средства для создания программ любителями-непрофессионалами до полноценного средства создания программ.
Помимо написания полноценных программ, Бейсик широко применяется как основа для
различных скриптовых языков (например, макросы в пакете Microsoft Office пишутся
на диалекте VBA, язык сценариев VBScript используется в SCADA-системах и других подобных программах).
Сколько людей, столько и мнений
Даже в свои лучшие времена (1970…1980 годы) Бейсик подвергался жёсткой критике (впрочем, как и почти все другие языки программирования — критиковать у нас любят).
Конечно, у Бэйсика было немало недостатков. Но ведь он же таким и был задуман! Да, с недостатками. Но зато простой и доступный для понимания даже гуманитарию.
В основном же профессиональные программисты разносили в пух и прах Бэйсик за то, что его простота и отсутствие структурирования приводят к тому, что начинающие программисты в погоне за сокращением времени на создание программ, напрочь забывают о “правильном” подходе к программированию. Это допустимо при написании простеньких программ, но практически всегда приводит к неудаче при работе над серьёзными крупными проектами.
Многие профессионалы также были категорически против того, чтобы использовать Бэйсик для обучения новичков. Известный в мире программистов авторитет Эдсгер Дейкстра говорил, что студентов, ранее изучавших Бейсик, практически невозможно обучить хорошему программированию. И что как потенциальные программисты они умственно изувечены без надежды на восстановление.
Несмотря на авторитет Дейкстры, я с ним в этом не согласен. То, что приписывают к недостаткам Бэйсика, на самом деле является его достоинствами. Недостатки Бейсика (если иметь в виду ранние диалекты) проявляются при попытке профессиональной разработки на нём сложных и крупных программ и при использовании его как базового языка для обучения программистов, но ни для одного их этих применений данный язык не предназначался. Его основной задачей было предоставить студентам-непрограммистам возможность после минимального обучения самостоятельно писать простейшие программы для собственных нужд, чтобы не отвлекать на эту работу специалистов. Эту задачу язык решает вполне успешно.
Если же говорить о современных диалектах и реализациях Бейсика, то они настолько далеко ушли от первоначальной формы языка, что всё вышесказанное вряд ли можно считать относящимся к ним. Современные диалекты Бейсика являются достаточно структурированными языками, они сопоставимы по возможностям с такими языками, как Си, Паскаль и т.п.
Язык Бэйсик (даже первые его реализации, такие как QBasic), вполне пригоден для обучения, потому что с моей точки зрения нет совершенно никаких проблем, при необходимости, выучить потом другой язык. Может быть в 60-е годы прошлого столетия это и было проблемой — не знаю (я родился в 1969). Но сейчас — нет.
К тому же сегодня и переучиваться особо не потребуется, так как можно создавать свои классные программы, например, на Visual Basic.
|
Директивы компилятора Как это ни странно, но даже многие опытные программисты не используют директивы компилятора, считая их чем-то ненужным и бесполезным. А между тем, директивы компилятора — это очень классная штука. Если их умело применять в своих программах, то можно существенно сократить время на разработку и уменьшить количество рутинных операций. Подробнее… |
Готовые программы QBasic. Примеры, задачи.
Готовые программы QBasic. Примеры, задачи.
- Главная
- Готовые программы QBasic
- (Не)простая последовательность. Найти ошибку в коде
- Тайна функции VAL()
- Определить, что в тексте нет равных символов
- Объединение двух множеств 3
- Найти количество чисел (от 1 до миллиона), среди цифр которых есть 3
- Найти трёхзначное число, которое первым встретится дважды
- Найти сумму всех двузначных чисел, имеющих в записи цифру 1
- Вычислить 7 ^ 77
- Возведение в степень
- Рекуррентно-заданная функция
- Achtung! Перевод из паскаля в бейсик уже 3 часа сижу
- Делимость числа на 7
- Исправить код лабиринта
- Наиболее часто встречающийся элемент в массиве целых чисел
- Простые ли числа 31, 331, 3331, 33331,
- Вычислить сумму элементов массива
- Построить шестиконечную звезду
- Дано натуральное число n. Можно ли представить его в виде суммы двух квадратов натуральных чисел?
- Напечатать в обратном порядке все положительные элементы массива
- Заполнить массив
- Проверить неравенство
- Решение уравнения SQR(x) + SQR(x+1) +.+ SQR(x+9) = 100
- Вычисление последнего платежа в счет погашения кредита с помощью правила торговца.
- По заданному числу определить ближайшее простое
- Даны координаты 2 точек
- Найти количество четырехзначных чисел по условию
- Найти сумму рациональных чисел (2)
- Определить делится ли длинное число на 1559
- алгоритм нахождения модуля выражения ax^2+bx+c при заданных значениях a,b,c и x
- алгоритм с помощью которого он определит можно ли поместить:а)Круг данного радиуса
- Найти сумму числового ряда (2)
- Найти количество точек треугольника, принадлежащих осям координат
- Решение уравнения x^2 + y^3 = z^3
- Среднеквадратическое отклонение элементов 1-го и 3-го массивов, соответствующих положительным элементам 2-го
- Задание на массивы
- Распечатать слова из файла
- В заданном числе определить цифру, которая встречается чаще всех
- Даны 5 чисел в неубывающем порядке
- Вычислить сумму неявно заданных чисел
- Найти сумму четырёх наибольших и четырёх наименьших элементов массива
- Исключить два наименьших по абсолютной величине элемента из массива
- Написать программу по заданию
- Табулирование функции, нахождение максимума и минимума
- Табулирование функции двух переменных
- Решение уравнения в натуральных числах (2)
- Домино
- Модель солнечной системы
- Распределение камней
- Найти максимум числового выражения
- Найти максимальное значение функции
Программирование на алгометрическом языке QBASIC
Темы для изучения: Линейный
алгоритм. Разветвляющийся алгоритм. Циклический
алгоритм. Цикл с известным числом повторений.
Цикл с предусловием. Цикл с постусловием.
Массивы. Процедуры и функции. Графические
возможности QB.
Задачи модуля:
- образовательные: закрепить знания
при работе со средой QB,выработать умение
составлять простейшие программы в этой среде. - воспитательные: повышение мотивации
учащихся; совершенствовать навыки общения,
воспитывать умение работать самостоятельно и в
группе. - развивающие: развитие логического
мышления и воображения, внимания и памяти;
формирование критического мышления; умения
анализировать, выделять главное, обобщать и
делать выводы.
Учащиеся должны знать:
- назначение алгоритма и его определение;
- свойства алгоритма;
- формы представления алгоритма;
- типовые алгоритмические конструкции;
- представление алгоритма в виде блок-схемы;
- основные стадии разработки алгоритма.
- графические исполнители в среде
программирования QBasic. - исполнитель DRAW. Исполнитель LINE. Исполнитель CIRCLE.
Учащиеся должны уметь:
- объяснять структуру основных
алгоритмических конструкций и уметь использовать их для построения
алгоритмов; - знать основные типы данных и операторы
(процедуры) для одного из языков
программирования; - уметь разрабатывать и записывать на языке
программирования типовые алгоритмы; - приводить примеры алгоритмов из разных сфер;
- составлять алгоритмы для различных ситуаций
или процессов в виде блок-схем; - разрабатывать циклические алгоритмы на основе
различных видов циклов.
Введение в язык программирования Basic.
Для представления алгоритма в виде, понятном
компьютеру, служат языки программирования.
Сначала разрабатывается алгоритм действий, а
потом он записывается на одном из таких языков. В
итоге получается текст программы – полное,
законченное и детальное описание алгоритма на
языке программирования. Затем этот текст
программы специальными служебными приложениями,
которые называются трансляторами, либо
переводится в машинный код (язык нулей и единиц),
либо исполняется.
Basic (Бейсик) создавался в 60-х годах в качестве
учебного языка и очень прост в изучении. По
популярности занимает первое место в мире.
Некоторые операторы языка Basic.
REM – оператор комментария.
CLS – очистить экран.
PRINT (вывод, печать) – оператор вывода.
INPUT (ввод) – оператор ввода.
DIM – оператор описания типа
переменной. .
Для задания значения переменной служит
оператор присваивания. Он записывается так:
LET переменная = значение (или
просто: переменная = значение)
END – оператор конца программы
Арифметические операции на языке Basic.
Операция | Обозначение | Пример | Результат |
Сложение | + | 2+5 | 7 |
Вычитание | – | 10–8 | 2 |
Умножение | * | 3*4 | 12 |
Деление | / | 15/3 15/4 | 5 3.75 |
Целочисленное деление | \ | 15\4 | 3 |
Возведение в степень | ^ | 2^3 | 8 |
Остаток от деления | MOD | 13 MOD 5 | 3 |
Математические функции на языке Basic.
Корень | SQR(X) |
Модуль числа | ABS(X) |
Синус | SIN(X) |
Косинус | COS(X) |
Тангенс | TAN(X) |
Целая часть числа | INT(X) |
Натуральный логарифм | LOG(X) |
Линейная структура программы.
Программа имеет линейную структуру, если все
операторы (команды) выполняются последовательно
друг за другом.
Пример: Вычислите площадь
прямоугольника по его сторонам.
REM Площадь прямоугольника
INPUT «Введите сторону а», а
INPUT «Введите сторону b», b
s = a * b
PRINT «Площадь равна: «, s
END
Пример: Вычислите длину окружности и
площадь круга по данному радиусу.
REM Вычисление длины окружности и площади круга
INPUT «Введите радиус «, r
PI = 3.14
l = 2 * PI * r
s= PI * r * r
PRINT «Длина окружности равна: «, l
PRINT «Площадь равна: «, s
END
Ветвление в алгоритмах и программах.
Разветвляющий алгоритм – это алгоритм, в
котором в зависимости от условия выполняется
либо одна, либо другая последовательность
действий.
Рассмотрим запись условного оператора на языке
Basic.
IF <УСЛОВИЕ> THEN <ОПЕРАТОР>
или
IF <УСЛОВИЕ>
<ОПЕРАТОР 1>
<ОПЕРАТОР 2>
…
<ОПЕРАТОР N>.
Условия – еще один тип логических выражений. В
них используются следующие операторы
сравнения:
= | равно |
<> | не равно |
> | больше |
< | меньше |
>= | больше или равно |
<= | меньше или равно |
Предыдущие конструкции позволяли обойти или
выполнить серию оператор в зависимости от
справедливости условия. Это еще не было
ветвлением. Чтобы вычисления могли
разветвляться по нескольким направлениям,
служит конструкция
IF…THEN…ELSE…END IF.
IF <УСЛОВИЕ> THEN
<ОПЕРАТОРЫ 1>
ELSE
<ОПЕРАТОРЫ 2>
END IF
Пример: Проверить, равно ли введенное
число некоторому значению, и в случае равенства
выдать на экран сообщение о равенстве чисел.
REM сравнить число со каким-то значением
INPUT «Введите а», а
IF a=7 THEN PRINT «Числа равны»
END
Пример: Определить большее из двух
чисел, вывести его на экран, затем – увеличить
его в двое и вывести результат на экран.
REM определить большее из двух чисел…
INPUT «Введите а», а
INPUT «Введите b», b
IF a=b TNEN
PRINT «Числа равны»
с=2*a
ELSE
IF a>b THEN
PRINT «Большее число: «, a
с=2*a
ELSE
PRINT «Большее число: «, b
с=2*b
END IF
END IF
PRINT «результат: «, c
END
Пример: Решение квадратного
уравнения.
Решение квадратного уравнения зависит от
значения дискриминанта.
REM Решение квадратного уравнения
INPUT «Введите коэффициент a: «, а
INPUT «Введите коэффициент b: «, b
INPUT «Введите коэффициент c: «, c
d=b*b-4*a*c
IF d<0 THEN
PRINT «Корней нет»
ELSE
IF d=0 THEN
x=-b/(2*a)
PRINT «корень уравнения: «, x
ELSE
x1=(-b-SQR(d))/(2*a)
x2=(-b+SQR(d))/(2*a)
PRINT «корни уравнения: «, x1, x2
END IF
END IF
END
Структура «Выбор».
Структура IF… позволяет выбрать между
двумя вариантами. Если требуется осуществить
выбор между большим числом вариантов, то это
можно организовать используя лишь структуру IF…
Но можно (что чаще проще) и с помощью структуры
«Выбор». Эта структура имеет вид:
SELECT CASE <Выражение>
CASE <условие 1>
<серия 1>
CASE<условие 2>
<серия 2>
…
CASE ELSE
<серия иначе>
END SELECT
Выражение, заданное после ключевых слов SELECT
CASE, сравнивается с определенными значениями
– условиями и если они истинны, то выполняется
соответствующая серия команд. Если не одно
условие не истинно, то выполняется серия команд
между CASE ELSE и END SELECT.
Пример: Выдать словесное значение
числа
REM Преобразование чисел в слова
INPUT «Введите число», a
SELECT CASE a
CASE 1
PRINT «один»
CASE 2
PRINT «два»
CASE 3
PRINT «три»
…
CASE 10
PRINT «десять»
CASE ELSE
PRINT «это число не могу перевести»
END SELECT
END
Циклы а алгоритмах и программах
Циклический алгоритм – описание действий,
которые должны повторяться указанное число раз
или пока не выполнено заданное условие. Перечень
повторяющихся действий называют телом цикла.
Например, на уроке физкультуры вы должны
пробежать некоторое количество кругов вокруг
стадиона.
Такие циклы называются – циклы со
счетчиком.
На языке Basic они записываются следующим
образом:
FOR Счетчик=НачЗнач TO КонЗнач [STEP шаг]
тело цикла
NEXT [Счетчик]
Параметры указанные в квадратных скобках
являются не обязательными (их можно не
записывать). По умолчанию шаг цикла равен о
Структура программы Visual Basic — Visual Basic
- 3 минуты на чтение
В этой статье
Программа Visual Basic состоит из стандартных строительных блоков. Решение включает один или несколько проектов. В свою очередь, проект может содержать одну или несколько сборок.Каждая сборка скомпилирована из одного или нескольких исходных файлов. Исходный файл обеспечивает определение и реализацию классов, структур, модулей и интерфейсов, которые в конечном итоге содержат весь ваш код.
Дополнительные сведения об этих строительных блоках программы Visual Basic см. В разделе Решения, проекты и сборки в .NET.
Элементы программирования на уровне файлов
Когда вы запускаете проект или файл и открываете редактор кода, вы видите, что какой-то код уже находится на месте и в правильном порядке.Любой код, который вы пишете, должен следовать следующей последовательности:
Опция
выпискиИмпорт
выпискиПространство имен
операторов и элементы уровня пространства имен
Если вы вводите операторы в другом порядке, это может привести к ошибкам компиляции.
Программа также может содержать операторы условной компиляции. Вы можете перемежать их в исходном файле между операторами предыдущей последовательности.
Заявления об опционах
Операторы опции
устанавливают основные правила для последующего кода, помогая предотвратить синтаксические и логические ошибки. Оператор Option Explicit обеспечивает правильное объявление и написание всех переменных, что сокращает время отладки. Оператор Option Strict помогает минимизировать логические ошибки и потерю данных, которые могут возникнуть при работе с переменными разных типов данных. Оператор Option Compare определяет способ сравнения строк друг с другом на основе их значений Binary
или Text
.
Заявления об импорте
Вы можете включить оператор Imports (пространство имен и тип .NET) для импорта имен, определенных вне вашего проекта. Оператор Imports
позволяет вашему коду ссылаться на классы и другие типы, определенные в импортированном пространстве имен, без необходимости их уточнять. Вы можете использовать столько операторов Imports
, сколько необходимо. Для получения дополнительной информации см. Ссылки и Заявление об импорте.
Операторы пространства имен
Пространства имен помогают организовать и классифицировать элементы программирования для облегчения группировки и доступа.Вы используете оператор пространства имен для классификации следующих операторов в конкретном пространстве имен. Дополнительные сведения см. В разделе Пространства имен в Visual Basic.
Операторы условной компиляции
Операторы условной компиляции могут появляться практически в любом месте исходного файла. Они заставляют части вашего кода включаться или исключаться во время компиляции в зависимости от определенных условий. Вы также можете использовать их для отладки приложения, потому что условный код работает только в режиме отладки.Для получения дополнительной информации см. Условная компиляция.
Элементы программирования на уровне пространства имен
Классы, структуры и модули содержат весь код в вашем исходном файле. Это элементы уровня пространства имен , которые могут появляться в пространстве имен или на уровне исходного файла. Они содержат объявления всех других элементов программирования. Интерфейсы, которые определяют сигнатуры элементов, но не предоставляют реализации, также появляются на уровне модуля. Для получения дополнительной информации об элементах уровня модуля см .:
Элементы данных на уровне пространства имен — это перечисления и делегаты.
Элементы программирования на уровне модуля
Процедуры, операторы, свойства и события — единственные элементы программирования, которые могут содержать исполняемый код (операторы, выполняющие действия во время выполнения). Это элементы уровня модуля вашей программы. Для получения дополнительной информации об элементах уровня процедуры см .:
Элементы данных на уровне модуля — это переменные, константы, перечисления и делегаты.
Элементы программирования на уровне процедуры
Большая часть содержимого элементов уровня процедуры — это исполняемые операторы, которые составляют код времени выполнения вашей программы.Весь исполняемый код должен находиться в какой-либо процедуре ( Function
, Sub
, Operator
, Get
, Set
, AddHandler
, RemoveHandler
, RaiseEvent
). Для получения дополнительной информации см. Заявления.
Элементы данных на уровне процедуры ограничены локальными переменными и константами.
Основная процедура
Процедура Main
— это первый код, запускаемый после загрузки вашего приложения. Main
служит отправной точкой и общим контролем для вашего приложения. Существует четыре разновидности Main
:
Вспомогательный главный ()
Sub Main (ByVal cmdArgs () как строка)
Функция Main () как целое число
Функция Main (ByVal cmdArgs () как строка) как целое число
Самая распространенная разновидность этой процедуры — Sub Main ()
.Дополнительные сведения см. В разделе Основная процедура в Visual Basic.
См. Также
.
Что такое компьютерное программирование? Основы обучения программированию
- Home
Testing
- Back
- Agile Testing
- BugZilla
- Cucumber
- Database Testing
- ETL Testing
- JTL Testing
000
- LoadRunner
- Ручное тестирование
- Мобильное тестирование
- Mantis
- Почтальон
- QTP
- Назад
- Центр качества (ALM) So
- RPA
- Тестирование SAP4
- TestLink
SAP
- Назад
- ABAP
- APO
- Начинающий
- Basis
- BODS
- BI
- BPC
- CO
- Назад
- CRM
- Crystal Reports
- FICO
- 000
- 000 HRM
- 000
- 000
- HANA 9000 MM
- Назад
- PI / PO
- PP
- SD
- SAPUI5
- Безопасность
- Менеджер решений
- Successfactors
- SAP Tutorials
Назад
Web
Web
Интернет AngularJS
- Назад
- Java
- JSP
- Kotlin
- Linux
- Linux
- Kotlin
- Linux
- Perl
js
- Назад
- PHP
- PL / SQL
- PostgreSQL
- Python
- ReactJS
- Ruby & Rails
- Scala
- SQL
- SQL
- UML
- VB.Net
- VBScript
- Веб-службы
- WPF
000
000
0003 SQL
000
0003 SQL
000
Обязательно учите!
- Назад
- Бухгалтерский учет
- Алгоритмы
- Android
- Блокчейн
- Business Analyst
- Создание веб-сайта
- CCNA
- Облачные вычисления
- 00030003 COBOL
- 9000 Compiler
- 00030003 9000 Compiler 9000
- Ethical Hacking
- Учебные пособия по Excel
- Программирование на Go
- IoT
- ITIL
- Jenkins
- MIS
- Сети
- Операционная система
- 00030003
- Назад
- 9000 Встроенные системы
Управление проектами Обзоры
- Salesforce
- SEO
- Разработка программного обеспечения
- VB A
Big Data
- Назад
- AWS
- BigData
- Cassandra
- Cognos
- Хранилище данных
- HBOps
- HBOps
- MicroStrategy
0003
0003
0003
.
Начало работы с Microsoft Small Basic: Глава 2: Основы программы Small Basic — Статьи TechNet — США (английский)
Маленький базовый
> Small Basic Books> Начало
Microsoft Small Basic > 2. Основы программы Small Basic
Обзор и предварительный просмотр В первом классе мы потратили все свое время просто на подготовку нашего компьютера к созданию и запуску программ Small Basic. Во втором занятии мы подробнее рассмотрим некоторые из выполненных нами задач.Мы еще раз рассмотрим приветственную программу первого класса. Приветственная программа (пересмотренная) Запустите SmallBasic и откройте
Программа состоит из операторов . Каждая строка - это инструкция, и каждая инструкция инструктирует компьютер что-то делать ... Давайте рассмотрим этот код строка за строкой, чтобы объяснить его структуру и посмотреть, что делает каждая строка.
| Эта глава адаптирована из книги « НАЧАЛО Microsoft Small Basic » Филипа Конрода и Лу Тайли. Чтобы приобрести эту книгу целиком, перейдите на |
Первые несколько строк программы:
- '
- ' Приветственная программа
- 'Начиная с малого Базовый
- '
Эти строки представляют собой комментария . Они просто предоставляют некоторую информацию о программе и предоставляют некоторую контактную информацию.Комментарий начинается с одного апострофа ( ‘) . Эти строки также
известный как заголовок программы . Хорошая идея — всегда помещать заголовки в ваши программы на Small Basic, чтобы дать кому-нибудь представление о том, что ваша программа делает и кто ее написал. При запуске программы Small Basic игнорирует любые комментарии — их единственное использование
дать объяснение.
Первое заявление без комментариев:
TextWindow.Title = «Приветственная программа»
Помните программу приветствия еще в классе 1? При запуске программы вы увидели это окно
Обратите внимание на слова WelcomeProgram в строке заголовка окна.В приведенной выше строке кода отображается этот заголовок. В этой строке
TextWindow — это объект , встроенный в Small Basic — это окно, которое отображает вывод программы. В Small Basic есть ряд таких объектов, доступных для нашего использования. Мы будем использовать
TextWindow широко используется в наших первых программах. Объекты имеют оба
свойства и методы . Свойства описывают объекты, а методы — объекты. В этой единственной строке кода мы устанавливаем
Заголовок объекта TextWindow в текстовую строку « Welcome Program ».Точка (. ) и оператор присваивания ( = ) — это знаки препинания, которые необходимо разместить соответствующим образом для
компьютер, чтобы понять ваши намерения. Эта строка кода буквально говорит: «Установите
Заголовок свойство объекта TextWindow на
Приветственная программа ».
Другой оператор в этой короткой программе:
TextWindow.WriteLine («Добро пожаловать в Beginning Small Basic!»)
Обратите внимание, что в текстовом окне запущенной программы есть сообщение, в котором говорится
Добро пожаловать в Beginning Small Basic! .Вышеупомянутая строка кода напечатала это сообщение. Эта строка кода использует TextWindow
WriteLine метод для выполнения задачи. Мы произносим текст «Добро пожаловать в Beginning Small Basic!» передается в
WriteLine — ввод помещается в круглые скобки — в результате вводимый текст записывается в текстовое окно.
Хотя это очень короткая и очень простая программа, она иллюстрирует некоторые основные компоненты программы Small Basic. Нам нужен заголовок программы и соответствующие комментарии.Используя свойства и методы, мы можем отображать информацию с помощью встроенного объекта Small Basic,
TextWindow .
Некоторые правила программирования Small Basic
Давайте еще раз посмотрим на код Welcome , чтобы указать на некоторые основные правила программирования на Small Basic. Вот этот код:
- '
- ' Программа приветствия
- 'Начало Small Basic
- '
- TextWindow.Title = "Программа приветствия"
- TextWindow.WriteLine («Добро пожаловать в Beginning Small Basic!»)
А вот правила:
- Small Базовый код требует совершенства. Все ключевые слова должны быть написаны правильно. Если вы напечатаете
WriteLne вместо WriteLine , человек может знать, что вы имеете в виду, но компьютер — нет. - Small Basic не чувствителен к регистру, что означает, что буквы верхнего и нижнего регистра считаются одним и тем же символом. Это значит
Линия записи и линия записи одинаковы.Но, несмотря на то, что Small Basic не чувствителен к регистру, рекомендуется использовать общепринятые соглашения о регистре в программировании. - Small Basic игнорирует любые « пробелов », например пробелы. Мы часто будем использовать пробелы, чтобы сделать наш код более читабельным для людей.
- Чтобы установить свойство объекта, мы используем это «точечное» соглашение:
ObjectName.PropertyName = PropertyValue
, где ObjectName — это объект, PropertyName — свойство и
PropertyValue значение, которое вы хотите установить. - Чтобы вызвать метод объекта, используйте это соглашение:
ObjectName.MethodName (MethodInputs)
, где ObjectName — это объект, MethodName — метод и
Method Вводит входных данных, необходимых для метода.
По мере продвижения мы узнаем гораздо больше правил программирования на Small Basic.
Создание программ Small Basic
В классе 3 мы начнем изучать язык Small Basic и писать свои собственные программы Small Basic.Для подготовки к этому вам нужно будет узнать, как создать новую программу с помощью Small Basic. Давай сделаем это сейчас. Что мы сделаем, так это воссоздадим
Приветственная программа .
Если он еще не запущен, запустите Small Basic . Щелкните
Кнопка NewProgram на панели инструментов:
Появится пустой редактор:
Щелкните это окно и начните вводить код программы Welcome .
Печатайте по одной строке за раз, обращая особое внимание на то, чтобы вводить все, как показано (обратите внимание на правила, рассмотренные ранее).После каждой строки нажимайте клавишу
- '
- ' Приветственная программа
- 'Beginning Small Basic
- '
- TextWindow.Title = "Welcome Program"
- TextWindow.WriteLine ("Добро пожаловать в Beginning Small Basic!")
После ввода четырех строк комментария и начала ввода первой строки кода вы заметите, что появляется следующее всплывающее окно:
Small Basic имеет функцию под названием «intellisense», которая помогает вам быстрее печатать ваши программы.Когда появится этот список, вы перемещаетесь по списку с помощью клавиш со стрелками вверх / вниз и делаете выбор, нажимая
и методы. Попробуйте!
Также обратите внимание, как только вы вводите TextWindow , это появляется в области справки среды Small Basic:
Small Basic предоставляет «контекстно-зависимую» справку. В области справки всегда будет отображаться информация, которую он считает важной для пользователя, в нужное время.В этом случае информация о свойствах (отмечена значком палитры художника) и методах (отмечена
значком шестеренки) для объекта TextWindow. И после выбора свойства или метода появляется справочное описание для этого выбора. Например, как только вы наберете
Заголовок , вы увидите этот экран справки, описывающий свойство и то, как оно используется:
Благодаря intellisense и контекстно-зависимой справке у вас всегда будет оперативная информация, которая поможет вам в решении задач программирования.
Обратите внимание на эти кнопки редактирования на панели инструментов:
Если вы когда-либо использовали текстовый процессор, эти задачи вам знакомы. При вводе кода вы можете
Cut , Copy и Paste . И ты можешь
Отменить и Повторить задач. Эти задачи значительно упрощают набор кода (особенно длинных программ) в среде Small Basic. Также следует отметить, что редактор использует разные цвета для разных вещей в коде.Комментарии,
объекты, имена методов и данные, используемые объектами, окрашены по-разному. Эта раскраска иногда помогает определить ошибки, которые вы могли допустить при наборе текста.
По окончании ввода вы должны увидеть:
Попробуйте запустить вашу программу. Используйте кнопку запуска программы на панели инструментов (или нажмите < F5 >). Вы должны еще раз увидеть
Добро пожаловать в Beginning Small Basic! Сообщение:
Вы также должны увидеть, что программу Small Basic действительно легко запустить и запустить.
Сохранение программ Small Basic
Перед тем, как покинуть Small Basic, нам нужно обсудить, как сохранять созданные программы. Каждую программу нужно сохранять в отдельной папке. Вы сами решаете, где вы хотите сохранить эту папку. На панели инструментов есть две кнопки, которые используются для сохранения программ. Чтобы сохранить новую программу,
нажмите кнопку SaveProgram :
Появится диалоговое окно:
Создайте папку, в которой вы хотите сохранить программу. В этом примере я создал папку с именем
Добро пожаловать в папку MySmallBasic .
Выберите имя для вашей программы. Здесь я выбрал Добро пожаловать :
Щелкните Сохранить , и программа будет сохранена. С этого момента всякий раз, когда вы повторно открываете эту программу и вносите изменения, если вы нажимаете кнопку
Сохранить на панели инструментов, программа будет автоматически сохранена с тем же именем в той же папке. Мы рекомендуем вам делать это время от времени при изменении программы.
Если вы хотите присвоить другое имя или создать другую папку для измененной программы, используйте
Сохранить как , кнопка панели инструментов:
Используйте появившиеся диалоговые окна, чтобы назвать и найти свою программу.
Если вы попытаетесь выйти из Small Basic и не сохранили программы, Small Basic отобразит диалоговое окно, чтобы проинформировать вас об этом и дать вам возможность сохранить файлы перед выходом. Пример диалога:
Сделайте правильный выбор. Нажмите «Да», чтобы сохранить программу, если вы хотите сохранить внесенные в нее изменения.
Мелкие базовые файлы
Когда вы сохраняете программу Small Basic в определенной папке, сохраняются файлы, отличные от файла, в котором указан ваш код.Эти файлы необходимы среде Small Basic для отслеживания вещей.
Используя Мой компьютер или проводник Windows в Windows, перейдите в папку, содержащую
Добро пожаловать программа, которую вы только что создали и запустили. Вы должны увидеть следующие файлы:
Файл с именем Welcome с типом Small Basic Program — это исходный код, который появляется в редакторе Small Basic. В
Добро пожаловать файл с пометкой Приложение представляет собой «скомпилированную» версию кода и является «исполняемым» кодом.Если вы дважды щелкните этот файл, программа приветствия запустится независимо от среды Small Basic. Попробуйте, если хотите. Позже
мы узнаем, как использовать этот файл, чтобы ваши друзья могли запускать ваши программы на своих компьютерах или даже в Интернете! В
Welcome.pdb Файл — это файл базы данных с информацией, необходимой вашей программе, и, наконец,
SmallBasicLibrary.dll называется библиотекой времени выполнения. Он содержит файлы, которые помогают запускать вашу программу.
Мы описываем эти файлы, чтобы вы знали об их наличии.Не изменяйте и не удаляйте какие-либо из этих файлов вне среды Small Basic.
Сводка
После всей загрузки и установки, выполненной в первом классе, этот второй класс, должно быть, показался пустяком. В этом классе мы рассмотрели несколько важных концепций, которые позволят нам начать создавать наши собственные программы на Small Basic.
В этом классе мы изучили структуру программы, зная, что она построена с использованием объектов, свойств и методов. Мы узнали, как использовать Small Basic для создания и запуска новой программы.Мы вкратце рассмотрели некоторые правила, используемые при написании кода Small Basic, и
мы увидели, как сохранить программу. На следующем занятии мы наконец приступим к изучению языка Small Basic. И мы напишем и запустим нашу первую программу на Small Basic.
Следующая глава>>
Выдержка © Kidware Software LLC, 2010-2013. Все права защищены. Computer Science For Kids, логотип Computer Science For Kids и соответствующий товарный знак являются товарными знаками или зарегистрированными
товарные знаки Kidware Software LLC.Филип Конрод и Лу Тайли являются соавторами десятков книг и руководств для начинающих разработчиков Microsoft Basic, Small Basic, Visual Basic и Visual C # всех возрастов на протяжении более 25 лет.
.
Язык FreeBASIC | Дом
FreeBASIC — это бесплатный компилятор BASIC с открытым исходным кодом (GPL) для Microsoft Windows, DOS и Linux.
Получить бесплатноBASIC
При использовании в языковом режиме «QB» FreeBASIC обеспечивает высокий уровень поддержки программ.
написан для QuickBASIC. Многие программы, написанные для QuickBASIC, компилируются и запускаются в этом режиме.
без изменений.Однако для компиляции в языковом режиме по умолчанию FreeBASIC,
наиболее существенные программы потребуют изменений.
- Совместимый
- Мощный
- Выразительный
- 100% бесплатное программное обеспечение
Простой пример, показывающий процедуры.
функция AddNumbers (a как целое число, b как целое число) как целое число
возврат a + b
конечная функция
дополнительный привет ()
печать «привет»
конечный переводник
объявить подпринт (число как целое)
‘Код вне каких-либо процедур является основной частью программы
привет ()
печатные номера (1, 1)
мойпринт 5
sub myprint (число как целое)
печатное число
конечный переводник
FreeBASIC — это компилятор с собственным хостингом, который использует инструменты программирования GNU binutils как
backends и может создавать консольные, графические / графические исполняемые файлы, динамические и статические библиотеки.FreeBASIC полностью поддерживает использование библиотек C и частично поддерживает библиотеки C ++. Это позволяет
программисты используют и создают библиотеки для C и многих других языков. Он поддерживает стиль C
препроцессор, способный к многострочным макросам, условной компиляции и включению файлов.
Скорость FreeBASIC близка по скорости к основным инструментам, таким как GCC.
Получить бесплатноBASIC
Подробнее о FreeBASIC
Проект FreeBASIC — это набор кроссплатформенных инструментов разработки, состоящий из компилятора,
Ассемблер, компоновщик и архиватор на основе GNU, а также вспомогательные библиотеки времени выполнения, включая программные
графическая библиотека.Компилятор fbc в настоящее время поддерживает сборку для архитектур на базе i386 в DOS,
Платформы Linux, Windows и Xbox. Проект также содержит тонкие привязки (файлы заголовков) к некоторым популярным
Сторонние библиотеки, такие как библиотека времени выполнения C, Allegro, SDL, OpenGL, GTK +, Windows API и многие другие.
другие, а также примеры программ для многих из этих библиотек.
FreeBASIC — это язык программирования высокого уровня, поддерживающий процедурные, объектно-ориентированные и
парадигмы метапрограммирования с синтаксисом, совместимым с Microsoft QuickBASIC.Фактически,
Проект FreeBASIC изначально начался как попытка создать совместимую с кодом бесплатную альтернативу.
в Microsoft QuickBASIC, но с тех пор он превратился в мощный инструмент разработки. FreeBASIC
можно увидеть, чтобы расширить возможности Microsoft QuickBASIC несколькими способами, поддерживая
больше типов данных, языковых конструкций, стилей программирования, а также современных платформ и API.
На FreeBASIC можно написать любой тип программы, см. Нашу Галерею приложений.
для некоторых примечательных примеров.
Читать далее о FreeBASIC
.