Visual Basic

Загрузить архив:
Файл: ref-10968.zip (16kb [zip], Скачиваний: 363) скачать

МИНИСТЕРСТВОВЫСШЕГО И СРЕДНЕГО СПЕЦИАЛЬНОГО ОБРАЗОВАНИЯ

БУХАРСКИЙ ТЕХНОЛОГИЧЕСКИЙ ИНСТИТУТ ПИЩЕВОЙ И ЛЕГКОЙ ПРОМЫШЛЕННОСТИ


По производственной практике

На тему:


     Сдал: ст. гр. 1-98 МААТ                         Шлямов Д.

    

     Приняла:                                           Убайдулаева Ш.Р.

Бухара – 2000 г.

Basic был создан коллективом сотрудников Дартмугского колледжа во главе с Джоном Кемени и Томасом Куртом. Это произошло в далеком 1964 году, задолго до появления персонального компьютера в его современном виде, в эпоху больших ЭВМ. BASIC расшифровывался как Beginner'sAll-purposeStandardInstruction Code (Все целевой стандартный код инструкций для начинающих).

Поначалу язык Бейсик предназначался, прежде всего, для обучения новичков принци­пам программирования. Именно поэтому он с самых ранних пор был самым простым в ис­пользовании.

Примечательно,чтопри  наличиимножества общецелевых языков

программирования,доступных  программирующимфанатикам,Бейсик

остаетсяпростейшим для изучения и по истечении 20 лет после его

введения. Но еще лучше оказывается выполненная на Бейсике работа.

Вопреки притязаниям снобов Си и Паскаля, Бейсик является вовсе не

пустяковымязыком,  наделенныммощными инструментами пригодными

длятого,  чтобыбратьсяза специфическое дело, которое люди в

большинстве случаев делают с помощью малых компьютеров, а именно,

за работу с файлами и вывод текстов и графики на дисплей.

    Бейсики и машинный язык

Какэто  ниудивительно,нолюбой данный компьютер способен

исполнятьпрограммы,  написанныетолькона его родном машинном

языке.Существует почти столько же машинных языков, сколько есть

типовкомпьютеров,  новсеони  представляютсобойнекоторые

вариациина  однуиту  жетему-простые операции, выполняемые

молниеностно быстро над двоичными числами. На персональных компь-

ютерах IBM используется семейство машинного языка 8086, поскольку

их аппаратная конструкция базируется на этом конкретном семействе

микропроцессоров.

Возможно,хотя и трудно, писать программы непосредственно на

машинномязыке.Вранние  годыкомпьютеризации(на заре 1950-х

годов)машинный  языкбылтем  единственным, что сделали люди,

чтобыспасти программистов от цепенящего озноба программирования

в машинных кодах, как некий мост между человеческими существами и

мироммашинных  языков компьютеров, были созданы высокоуровневые

(т.е. не машинные) языки.

Высокоуровневые языки работают через трансляторные программы,

которыепереводят  "исходныйкод"(машинно-читабельныйгибрид

английскогоязыка  иматематических выражений) и в конце концов

вынуждаюткомпьютер  исполнять подходящие инструкции на машинном

языкедля  выполнениязаданнойработы.  Двумя базисными типами

трансляторов   являются   интерпретаторы,   которыесканируют  и

исполняютисходный  код в режиме единичного шага, и компиляторы,

которыесканируют исходный код, переводя его на машинный язык, а

результат этого сканирования используется затем отдельно.

Интерпретаторы

ИсторическиБейсик  обычнореализовалсякак  интерпретатор

(знакомымизомером  является сам интерпретаторный Бейсик). Одно,

часто   упоминаемое   преимущество   интерпретаторнойреализации

состоитв  том,чтоона  допускает  "непосредственный  режим".

Кроме   того,   интерпретаторыимеютспециальные  атрибуты,

которыеупрощают  отладку.Можно,например, прервать обработку

интерпретаторнойпрограммы,  отобразитьсодержимое определенных

переменных,бегло  просмотретьпрограмму,а  затемпродолжить

исполнение.

Болше   всего   программистам   нравится   в  интерпретаторах

возможностьполучения быстрого ответа. Здесь нет необходимости в

компилировании,   так   как   интерпретатор   всегда   готовдля

вмешательствав  вашупрограмму. Введите RUN и результат вашего

самого последнего изменения оказывается на экране.

Однакоинтерпретаторные языки не без недостатков. Необходимо

например иметь копию интерпретатора в памяти все время, тогда как

многие   возможности   интерпретатора,   аследовательно  иего

возможностимогут не быть необходимыми для исполнения конкретной

программы.

Слабо различимым недостатком интерпретаторов является то ,что

они   имеют   тенденцию   отбивать   охоту   к   хорошему   стилю

программирования.Посколькукомментарии  идругиеформализуемые

детализанимают  значительноеместопрограммной  памяти,люди

стремяться   ими  непользоваться.Дьявол  менееяростен,чем

программист,работающий  на интерпретаторном Бейсике, пытающийся

получитьпрограмму  в120К в памяти емкостью 60К. но хуже всего

то, что интерпретаторы тихоходны. Ими затрачивается слишком много

временинаразгодывание  того,чтоделать,  вместо того чтобы

заниматься действительно делом.

Приисполнении  программныхоператоров,интерпретатор должен

сначала   сканировать  каждыйоператорс  цельюпрочтенияего

содержимого(что  этотчеловекпросит  меня сделать?), а затем

выполнитьзапрошенную  операцию.Операторы в циклах сканируются

излишне много.

Компиляторы

Компилятор-этотранслятор  текстана машинный язык, который

считывает   исходный   текст, оцениваетего  всоответствиис

синтаксическойконструкцией  языка и переводит на машинный язык.

¬атемвывод  намашиннойязыке (машинный код), прогоняется как

независимый   шаг  трансляции.Другимисловами,  компиляторне

исполняетпрограммы, он  ихстроит.Интерпретаторы невозможно

отделить от программ, которые ими прогоняются, компиляторы делают

свое дело и уходят со сцены.

Фирма Microsoft впервые взялась за Бейсик в 1975 году. Тогда она приняла участие в разработке языка Altair/Microsoft 4К Basic. Бук­вально через несколько месяцев была создана более мощная его реализация Altar/Microsoft 8К Basic. Накопив необходимый опыт, в 1976 году Microsoft уже без чьей-либо посторонней помощи воплотила систему ExtendedBasic, затем последовали DiskBasic (1977),R-MAX Basic (1978),M-BASIC, BASIC-80 (1979)... В августе 1981 года родилась MS-DOS 1.0. В эту систему фирма Microsoft интегрировала и свою первую версию языка Бейсик для IBMPC -MS-BASIC. Немного позже появилась усовер­шенствованная и более обкатанная реализация языка Advanced Basic, или BASICA.

В 82-м Microsoft провозгласила еще более "продвинутое" новшество - GW-BASIC. Версия 2.0 этого продукта, вышедшая годом позже,была внедрена во вторую же версию MS-DOS, появившуюся одновременно с компьютерами IBMPC XT. GW-BASIC 2.0 являлся более совер­шенным по сравнению со своими младшими собратьями. Однако для нас такая система, как GW-BASIC, - еще мезозойская эра. Представь­те себе черный текстовой экран, на котором красуется приглашение типа "Ok...". В нижней части этого экрана - справочная строчка, в которой объясняются назначения функциональ­ных клавиш: - UST (просмотр текста програм­мы сначала. Прокрутить его, как мы это делаем сейчас в окне VBA, было нельзя!), - RUN (выполнить), - LOAD (загрузить с диска), -SAVE (сохранить на диск)...

Настоящий расцвет Бейсика начался с развитием оконного интерфейса (в среде DOS, конечно, до Windows еще пока далеко!). Где-то с середины 80-х все больше и больше про­грамм оснащалось линейками прокрутки, око­шечками, статусными строчками, флажками...

В 1987 году фирма BorlandInternational, известная реализациями языков С, C++, Pascal и, конечно же, своей системой Delphi, выпусти­ла продукт под названием TurboBasic 1.0. Это был шаг вперед! Отдельные окна для ввода и выполнения, окно отладки, окно справочной си­стемы, спускающиеся меню, многочисленные опции - в общем, все, что сейчас мы называем "интегрированная среда". Прорыв заключался еще и в том, что Turbo Basic мог компилировать файлы, т. е. позволял создавать автономные файлы программ с расширением ЕХЕ.

Но самым что ни на есть популярным сред­ством разработки на Бейсике для DOS был (и остается сейчас!) Microsoft'OBOow QuickBASIC (в частности, версия 4.5, выпущенная в 1988 году), а также его более "продвинутая" разновидность QuickBASICExtendedProfessionalDevelopment System (версии 7.0/7.1 1989/1990 годов). Рань­ше Бейсик был языком уя любителей: он по­зволял писать мелкие простые программки, но не более того. Microsoft же задумала сделать из Бейсика быстрое средство профессиональной разработки. И ей это удалось!

Полная версия QBXPDS 7.1 занимала на диске уже около 14 Мбайт (кстати, TurboBasic "тянул" менее чем на 1 Мбайт). В ее состав включались две интегрированные среды: соб­ственно QBX, предназначавшаяся для набора текста программы, выполнения, отладки и т. п., и PWB (Programmer'sWorkBench), включавшая намного большие возможности отлаживания. Кроме того, в PDS был автономный отладчик CodeView, а также масса готовых библиотек -финансовых функций, функций матричной мате­матики, графических шрифтов и т. д. и т. п. Среда QBX предоставляла обширные возможно­сти настройки: не было на экране элемента, цвет которого нельзя изменить так, как хочется. В окне ввода текста работала автоматическая коррекция ввода, можно было подключить также и "горячую" проверку синтаксиса.

С появлением Windows программирование под DOS начало терять свое значение. В начале 90-х для Бейсик-программистов наступил насто­ящий кризис: полнокровных версий языка для Windows еще не было, и власть захватили в свои руки "писатели" на Паскале и Си. И тогда Microsoft выпустила первую версию системы VisualBasic для Windows. Это нововведение произвело насто­ящую сенсацию:  появилось cредство, позволившее разрабатывать полноценные Windows-приложения в десять-пятнадцать раз быстрее и проще, чем припомощи тех же Паскаля и Си. Разработка приложений на VisualBasic в корне отличается от написания программ при помощи любой из предыдущих реализации Бейсика. VB перевернул все с ног на голову. Здесь первым делом создается форма - окно будущего приложения. И уже после этого пи­шутся процедуры, обрабатывающие события, способные произойти с тем или иным свой­ством какого-либо объекта (элемента) формы.

Во времена Windows З.х были выпущены вторая и третья версии VB, а в эпоху Windows95 - четвертая и пятая. 32-разрядный VisualBasic 5.0, в котором реализована поддержка Active-X, Internet-технологий и прочих несус­ветных вещей, распространяется в составе MS VisualStudio - мощнейшего инструментально­го комплекса, вобравшего в себя последние реализации MicrosoftC++ и J++ (вариант язы­ка Java). Но Билл Гейтс не мог бы спать спо­койно и Microsoft была бы не Microsoft, если бы не устроила очередную западню конкурен­там, пытающимся продвинуть свои инструмен­тальные средства в Windows. Сама западня зак­лючалась в том, что Microsoft задумала сделать VisualBasic фактическим стандартом языка для управления    всеми    крупномасштабными Windows-приложениями! Однако реализация такой идеи оказалась не так проста. Первый вариант VBA 1.0 появился в составе MSOffice4.0, но лишь в программах Excel 4.0 и Project6.0. В других же приложениях - Word 6.0 и Access 2.0 - были собственные варианты Basic. Более того, VBA 1.0 довольно сильно отличался от используемой тогда универсаль­ной системы VisualBasic 3.0. Реальное сбли­жение между VisualBasic и VBA произошло осенью 1995 г. после выхода VisualBasic 4.0 и Office 95.


B состав последнего VBA 2.0 был уже включен Access 95, однако Word 95 тогда по-прежнему имел соб­ственный WordBasic, а каждое приложение пакета - соб­ственную среду программиро­вания. А в Office 97 VBA стал неотъемлемым самостоятель­ным компонентом, единым для всех приложений. В Office97 единый языковый механизм VBA используют все основные приложения:   Word,   Excel, PowerPoint и Access. Отдель­ным компонентом VBA являет­ся интегрированная среда раз­работчика VisualBasic Editor (VBE), который фактически яв­ляется специализированным вариантом VB 5.0 для работы в комплексе с приложениями.

Фирмам, которые поначалу с усмешкой смотрели на все эти проекты, теперь ничего не остается делать, как принимать условия игры. Microsoft продвигает VBA в качестве стандарта отрасли для управления программи­руемыми приложениями, объявив о возможно­сти его лицензирования.

Новейшая версия VBA уже в скором време­ни будет встроена во многие "немайкрософ-товские" программы, и сегодня уже сотни программных продуктов третьих фирм имеют логотип "FeaturingMicrosoftVisualBasic Technology". Это заставляет задуматься над тем, что же такое BASIC - "стандартный код для начинающих" или "основной язык для ос­новной среды"...

С ЧЕГО НАЧАТЬ?

Все книги по программированию (как хорошие так и не очень) начинаются с написания традиционноговывода приветствия.Мы не будем оригинальными и начнем с этого же.

Проще всего создать команды Сервис->Макрос->Начать запись. Все действия пользователя до нажатия кнопки Стоп записываются в макрос и воспроизводятся при запуске этого макроса. Такой способ не позво­ляет организовывать циклы и выдавать сообще­ния пользователю, поэтому для написания пол­ноценной программы необходимо отредакти­ровать записанный макрос. Для этого в Word6.0 и 7.0 необходимо выбрать команду Сервис ->Макрос-> Изменить (Сервис->Макрос->Ре-дактор VisualBasic в Word97).

Основным элементом экрана теперь является окно текстового редактора, в котором вы може­те вводить и редактировать программы, напи­санные на языке VBA. Созданная вами програм­ма будет сохранена вместе с рабочим файлом,так что любой VBA-код, размещенный здесь, будет всегда сопровождать базовый файл.

Команды, расположенные между строчками "Sub Hello" и "EndSub", представляют собой действия, выполняемые макрокомандой. Мы не будем сейчас их подробно рассматривать, а ска­жем лишь, что они отражают именно те дей­ствия, которые вы производили при записи мак­рокоманды. Важно понять, что программа рабо­тает в соответствии с инструкциями, которые вы­полняются одна за другой, сверху вниз. Первая инструкция выполняется в первую очередь, и в большинстве случаев работа программы приоста­навливается до момента окончания выполнения действия, предписанного текущей инструкцией. Затем выполняется следующая инструкция, и так далее до конца программы, который отмечен командой "EndSub" (конец программы).

VBA - этосокращениедля Visual Basic for Application. Макрорекодер пишет программы вместо вас. Шаги, которые вы выполняете, |ранслируются в программный код и записыва­ются в специальный лист. Совершенно такой же макрос можно создать, если перейти в этот лист и набрать код вручную. Мы уже говорили о том, что не все операции можно ввести с помощью макрорекодера, не говоря уж о том, что не все макросы, созданные с помощью макрорекодера, красивы и эффективны.

Например, простейшая операция, которую невозможно ввести с помощью макрорекодера, - это подача звукового сигнала "Веер". Созда­дим для примера небольшой макрос, который совершенно невозможно было бы написать, используя макрорекодер.

Sub Hellof)

MsgBox «Hello Word», vblnformation, «Моепервоесообщение»

Веер

EndSub

Если теперь вы проиграете этот макрос, то машина выдаст вам окно с приветствием, а принажатии "ОК"раздастся звуко^ вой сигнал, который в ControlPanel-Sounds обозначен как Defualt.

Слово "Sub" в первой строке указывает на то, что эта процедура - тип программы на языке VBA. Hello - это имя макроса. Круглые скобки необходимы каждой процеду­ре. Мы еще будем говорить подробно о функции скобок. Наиболее значимыми частями этого макроса являются вторая и третья строчки. Вторая строчка вызывает окно с над­писью "HelloWord ". Первый параметр функции MsgBox задает текст сообщения, вто­рой - тип сообщения, т.е. значок и кнопки, а третий задает заголовок окна сообщения. Строка с Веер заставляет компьютер подать звуковой сигнал. "End Sub" указывает на окончание процедуры.

Теперь попробуем немного усложнить про­грамму. Пусть она выводит на экран сообщение с надписью «Закончить работу в Word?» и кноп­ками «Ok» и «cancel». Кроме того, пусть про­грамма закрывает Word при нажатии Ok. Sub Hello()

If MsgBox( «Закончитьработув Word», vbOKCancel, «Моевтороесообщение») = vbOK Then Application.Quit End If End Sub

Здесь мы использовали новые "слова" If... Then, vbOK, vbCancel, Applications, Quit.


Поле IF обозначает выполнение одной из двух операций, в зависимости от выполнения указан­ных условий. Например, утверждение "Если по-годя будет хорошей, мы пойдем в пари, d еити

нет - пойдем в кино" определяет условие, которое должно быть соблюдено IF (хорошая погода), чтобы произошло определенное собы­тие THEN (поход в парк). Если условие не соблю­дено, происходит альтернативное событие (по­ход в кино). Используя возвращенное функцией MsgBox значение для того, чтобы определить, на какую кнопку нажал пользователь.

Если функция возвратила vbOK, т.е. пользо­ватель выбрал кнопку ОК, мы вызываем метод Quit объекта ApplicationjcaMoro Word'a), то есть можно сказать что Applications.Quit сообща­ет программе о том, что необходимо завер­шить работу с программой.

Кроме того, создавая макросы, вы, навер­ное, заметили, что некоторые слова в макросе окрашены или могут быть окрашены. Об этих и других особенностях поговорим в следую­щий раз.