|
||||||||||||||||||||||||||||||||||||||
|
Доклад: Не много теории о Visual Basic. Visual basic рефератРеферат - Visual Basic - Программное обеспечениеМИНИСТЕРСТВО ВЫСШЕГО И СРЕДНЕГО СПЕЦИАЛЬНОГО ОБРАЗОВАНИЯ БУХАРСКИЙ ТЕХНОЛОГИЧЕСКИЙ ИНСТИТУТ ПИЩЕВОЙ И ЛЕГКОЙПРОМЫШЛЕННОСТИ По производственной практикеНатему: <img src="/cache/referats/7278/image002.gif" " v:shapes="_x0000_s1027"> Сдал: ст. гр. 1-98 МААТ ШлямовД.
Приняла: Убайдулаева Ш.Р. Бухара – 2000 г. Basicбыл создан коллективом сотрудников Дартмугского колледжа во главе с Джоном Кемении Томасом Куртом. Этопроизошло в далеком1964 году, задолго допоявления персонального компьютера в его современном виде, в эпоху больших ЭВМ.BASICрасшифровывался как Beginner'sAll-purposeStandardInstructionCode(Все целевой стандартныйкод инструкций для начинающих). Поначалуязык Бейсик предназначался, прежде всего, для обучения новичков принципампрограммирования. Именно поэтому он с самых ранних пор был самым простым в использовании. Примечательно, что при наличии множества общецелевыхязыков программирования, доступных программирующим фанатикам, Бейсик остается простейшим для изучения и по истечении 20 летпосле его введения. Но еще лучшеоказывается выполненная на Бейсике работа. Вопреки притязаниям снобов Сии Паскаля, Бейсик является вовсе не пустяковым языком, наделенным мощными инструментамипригодными для того, чтобы браться за специфическое дело, которое люди в большинстве случаев делают спомощью малых компьютеров, а именно, за работу с файлами и выводтекстов и графики на дисплей. Бейсики имашинный язык Как это ни удивительно, но любой данный компьютер способен исполнять программы, написанные только на его родном машинном языке. Существует почти столько же машинных языков,сколько есть типов компьютеров, но все они представляют собой некоторые вариации на одну и ту же тему-простыеоперации, выполняемые молниеностнобыстро над двоичными числами. На персональных компь- ютерахIBM используется семейство машинного языка 8086, поскольку их аппаратная конструкциябазируется на этом конкретном семействе микропроцессоров. Возможно, хотя и трудно, писать программынепосредственно на машинном языке.В ранние годы компьютеризации (на заре 1950-х годов) машинный язык был тем единственным, что сделали люди, чтобы спасти программистов от цепенящего ознобапрограммирования в машинных кодах, как некиймост между человеческими существами и миром машинных языков компьютеров, были созданы высокоуровневые (т.е. не машинные) языки. Высокоуровневые языки работаютчерез трансляторные программы, которые переводят «исходный код» (машинно-читабельный гибрид английского языка и математических выражений) и вконце концов вынуждают компьютер исполнять подходящие инструкции на машинном языке для выполнения заданной работы. Двумя базисными типами трансляторов являются интерпретаторы, которые сканируют и исполняют исходный код в режиме единичного шага, и компиляторы, которые сканируют исходный код, переводя его намашинный язык, а результат этого сканированияиспользуется затем отдельно. Интерпретаторы Исторически Бейсик обычно реализовался как интерпретатор (знакомым изомером является сам интерпретаторный Бейсик). Одно, часто упоминаемое преимущество интерпретаторной реализации состоит в том, что она допускает «непосредственный режим». Кроме того, интерпретаторы имеют специальные атрибуты, которые упрощают отладку. Можно, например, прервать обработку интерпретаторной программы, отобразить содержимоеопределенных переменных, бегло просмотреть программу, а затем продолжить исполнение. Болше всего программистам нравится в интерпретаторах возможность получения быстрого ответа. Здесь нетнеобходимости в компилировании, так как интерпретатор всегда готов для вмешательства в вашу программу. Введите RUN ирезультат вашего самого последнего измененияоказывается на экране. Однако интерпретаторныеязыки не без недостатков. Необходимо например иметь копиюинтерпретатора в памяти все время, тогда как многие возможности интерпретатора, а следовательно и его возможности могут не быть необходимыми для исполнения конкретной программы. Слабо различимым недостаткоминтерпретаторов является то, что они имеют тенденцию отбивать охоту к хорошему стилю программирования.Поскольку комментарии и другие формализуемые детали занимают значительное место программной памяти, люди стремяться ими не пользоваться. Дьявол менее яростен, чем программист, работающий на интерпретаторном Бейсике, пытающийся получить программу в 120К в памяти емкостью 60К. нохуже всего то, что интерпретаторытихоходны. Ими затрачивается слишком много времени на разгодывание того, что делать, вместо того чтобы заниматься действительноделом. При исполнении программных операторов, интерпретатордолжен сначала сканировать каждый оператор с целью прочтения его содержимого (что этот человек просит меня сделать?), а затем выполнить запрошенную операцию. Операторы в циклахсканируются излишне много. Компиляторы Компилятор-это транслятор текста на машинный язык, который считывает исходный текст, оценивает его в соответствии с синтаксической конструкцией языка и переводит на машинный язык. ¬атем вывод на машинной языке (машинный код), прогоняется как независимый шаг трансляции. Другими словами, компилятор не исполняет программы, он их строит. Интерпретаторы невозможно отделить от программ, которыеими прогоняются, компиляторы делают свое дело и уходят со сцены. Фирма Microsoftвпервые взялась за Бейсик в1975 году. Тогда она приняла участие вразработке языка Altair/Microsoft4К Basic. Буквально через несколько месяцев была создана болеемощная его реализация Altar/Microsoft8К Basic. Накопив необходимый опыт, в1976 году Microsoftуже безчьей-либо посторонней помощи воплотила систему ExtendedBasic, затемпоследовали DiskBasic(1977),R-MAXBasic(1978),M-BASIC, BASIC-80(1979)... Вавгусте1981 года родилась MS-DOS1.0.В эту систему фирма Microsoftинтегрировала и свою первую версию языка Бейсик для IBMPC-MS-BASIC. Немного позже появилась усовершенствованная и болееобкатанная реализация языка AdvancedBasic, или BASICA. В 82-м Microsoftпровозгласила еще более«продвинутое» новшество- GW-BASIC. Версия 2.0 этого продукта, вышедшая годом позже, была внедрена во вторую же версию MS-DOS,появившуюся одновременно с компьютерами IBMPCXT. GW-BASIC2.0являлся более совершенным по сравнению со своими младшимисобратьями. Однако для нас такая система, как GW-BASIC,- еще мезозойская эра. Представьте себе черный текстовой экран, накотором красуется приглашение типа "Ok...". В нижней части этого экрана- справочная строчка, в которой объясняются назначения функциональныхклавиш:- UST(просмотр текста программы сначала. Прокрутить его, как мыэто делаем сейчас в окне VBA, былонельзя!),- RUN(выполнить),- LOAD(загрузить с диска),-SAVE(сохранить на диск)... Настоящийрасцвет Бейсика начался с развитием оконного интерфейса (в среде DOS, конечно, до Windowsеще пока далеко!). Где-то с середины 80-х все больше ибольше программ оснащалось линейками прокрутки, окошечками, статуснымистрочками, флажками... В1987 году фирма BorlandInternational, известнаяреализациями языков С,C++, Pascalи, конечно же, своей системой Delphi, выпустила продукт под названием TurboBasic1.0.Это был шаг вперед! Отдельные окнадля ввода и выполнения, окно отладки, окно справочной системы, спускающиесяменю, многочисленные опции- в общем,все, что сейчас мы называем «интегрированная среда». Прорывзаключался еще и в том, что TurboBasicмог компилировать файлы, т.е. позволял создавать автономные файлы программ с расширением ЕХЕ. Но самымчто ни на есть популярным средством разработки на Бейсике для DOSбыл (и остается сейчас!) Microsoft'OBOowQuickBASIC(вчастности, версия4.5, выпущенная в1988 году), а также его более«продвинутая» разновидность QuickBASICExtendedProfessionalDevelopmentSystem(версии7.0/7.1 1989/1990 годов). Раньше Бейсик былязыком уя любителей: он позволял писать мелкиепростые программки, но не более того. Microsoftжезадумала сделать из Бейсика быстрое средство профессиональной разработки. И ейэто удалось! Полнаяверсия QBXPDS7.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-разрядный VisualBasic5.0,в котором реализована поддержка Active-X,Internet-технологий и прочих несусветныхвещей, распространяется в составе MSVisualStudio-мощнейшего инструментальногокомплекса, вобравшего в себя последние реализации MicrosoftC++и J++ (вариант языка Java). Но БиллГейтс не мог бы спать спокойно и Microsoftбыла бы неMicrosoft, если быне устроила очередную западню конкурентам, пытающимся продвинуть своиинструментальные средства в Windows. Самазападня заключалась в том, что Microsoftзадумаласделать VisualBasicфактическим стандартом языка для управления всеми крупномасштабными Windows-приложениями!Однако реализация такой идеи оказалась не так проста. Первый вариантVBA 1.0 появился в составе MSOffice4.0,но лишь в программах Excel4.0и Project6.0.В других же приложениях- Word6.0и Access2.0 -были собственные варианты Basic. Более того,VBA 1.0довольно сильно отличался от используемой тогда универсальной системы VisualBasic3.0.Реальное сближение между VisualBasicиVBA произошло осенью1995 г. после выхода VisualBasic4.0и Office95. Bсостав последнего VBA2.0был уже включен Access95,однако Word95 тогда по-прежнему имел собственный WordBasic, а каждое приложение пакета-собственную среду программирования. А в Office97 VBAстал неотъемлемым самостоятельнымкомпонентом, единым для всех приложений. В Office97единый языковый механизм VBA используют все основные приложения: Word, Excel, PowerPointи Access. Отдельным компонентомVBAявляется интегрированная среда разработчика VisualBasicEditor(VBE), который фактически является специализированным вариантомVB 5.0 для работы в комплексе с приложениями. Фирмам,которые поначалу с усмешкой смотрели на все эти проекты, теперь ничего неостается делать, как принимать условия игры. MicrosoftпродвигаетVBA вкачестве стандарта отрасли для управления программируемыми приложениями,объявив о возможности его лицензирования. НовейшаяверсияVBA уже в скором времени будетвстроена во многие "немайкрософ-товские"программы, и сегодня уже сотни программных продуктов третьих фирм имеют логотип"FeaturingMicrosoftVisualBasicTechnology". Этозаставляет задуматься над тем, что же такое BASIC-«стандартный код дляначинающих» или «основной язык для основной среды»... С ЧЕГОНАЧАТЬ? Все книгипо программированию (как хорошие так и не очень) начинаются с написаниятрадиционного вывода приветствия.<span Arial",«sans-serif»;mso-bidi-font-family:«Times New Roman»">Мы не будеморигинальными и начнем с этого же.<span Arial",«sans-serif»;mso-bidi-font-family:«Times New Roman»">Проще всегосоздать ко манды Сервис->Макрос->Начать запись. Все действияпользователя до нажатия кнопки Стоп записываются в макрос и воспроизводятся призапуске этого макроса. Такой способ не позволяет организовывать циклы ивыдавать сообщения пользователю, поэтому для написания полноценной программынеобходимо отредактировать записанный макрос. Для этого в Word6.0и7.0 необходимо выбрать команду Сервис->Макрос-> Изменить (Сервис->Макрос->Ре-дакторVisualBasicв Word97).Основнымэлементом экрана теперь является окно текстового редактора, в котором вы можетевводить и редактировать программы, написанные на языкеVBA. Созданная вами программа будет сохранена вместе с рабочим файлом, так что любойVBA-код, размещенный здесь, будет всегда сопровождать базовый файл. Команды,расположенные между строчками "SubHello" и "EndSub", представляют собой действия, выполняемыемакрокомандой. Мы не будем сейчас их подробно рассматривать, а скажем лишь,что они отражают именно те действия, которые вы производили при записи макрокоманды.Важно понять, что программа работает в соответствии с инструкциями, которые выполняютсяодна за другой, сверху вниз. Первая инструкция выполняется в первую очередь, ив большинстве случаев работа программы приостанавливается до момента окончаниявыполнения действия, предписанного текущей инструкцией. Затем выполняетсяследующая инструкция, и так далее до конца программы, который отмечен командой"EndSub" (конец программы). VBA — этосокращениедляVisualBasic for Application. Макрорекодерпишетпрограммы вместо вас. Шаги, которые вы выполняете, |ранслируютсяв программный код и записываются в специальный лист. Совершенно такой жемакрос можно создать, если перейти в этот лист и набрать код вручную. Мы ужеговорили о том, что не все операции можно ввести с помощью макрорекодера,не говоря уж о том, что не все макросы, созданные с помощью макрорекодера,красивы и эффективны. Например,простейшая операция, которую невозможно ввести с помощью макрорекодера,- это подача звукового сигнала «Веер».Создадим для примера небольшой макрос, который совершенно невозможно было бынаписать, используя макрорекодер. Sub Hellof) MsgBox«Hello Word», vblnformation, «Моепервоесообщение» Веер EndSub Если теперьвы проиграете этот макрос, то машина выдаст вам окно с приветствием, а принажатии "ОК«раздастсязвуко^ вой сигнал, который в ControlPanel-Soundsобозначен как Defualt. Слово „Sub“в первой строке указывает на то, что эта процедура- тип программы на языке VBA. Hello — это имямакроса. Круглые скобки необходимы каждой процедуре. Мы еще будем говоритьподробно о функции скобок. Наиболее значимыми частями этого макроса являютсявторая и третья строчки. Вторая строчка вызывает окно с надписью „HelloWord“. Первый параметр функцииMsgBox задает текст сообщения, второй- тип сообщения, т.е. значок и кнопки, а третий задает заголовококна сообщения. Строка с Веерзаставляет компьютер подать звуковой сигнал. „EndSub“ указываетна окончание процедуры. Теперьпопробуем немного усложнить программу. Пусть она выводит на экран сообщение снадписью «Закончить работу в Word?» и кнопками«Ok» и «cancel». Кроме того, пусть программа закрывает Wordпри нажатии Ok. Sub Hello() If MsgBox( «ЗакончитьработувWord», vbOKCancel, «Моевтороесообщение»)= vbOK Then Application.Quit End IfEnd Sub Здесь мыиспользовали новые „слова“ If… Then, vbOK,vbCancel, Applications, Quit. Поле IFобозначает выполнение одной из двух операций, взависимости от выполнения указанных условий. Например, утверждение «Если по-годя будет хорошей, мы пойдем в пари, dеити нет- пойдем в кино» определяет условие,которое должно быть соблюдено IF(хорошаяпогода), чтобы произошло определенное событие THEN(поход в парк). Если условие не соблюдено, происходитальтернативное событие (поход в кино). Используя возвращенное функцией MsgBox значение для того, чтобы определить, накакую кнопку нажал пользователь. Еслифункция возвратилаvbOK, т.е. пользовательвыбрал кнопку ОК, мы вызываем метод Quitобъекта ApplicationjcaMoroWord'a), то есть можно сказать что Applications.Quitсообщаетпрограмме о том, что необходимо завершить работу с программой. Кроме того,создавая макросы, вы, наверное, заметили, что некоторые слова в макросеокрашены или могут быть окрашены. Об этих и других особенностях поговорим вследующий раз. www.ronl.ru Visual Basic - Реферат
МИНИСТЕРСТВО ВЫСШЕГО И СРЕДНЕГО СПЕЦИАЛЬНОГО ОБРАЗОВАНИЯ БУХАРСКИЙ ТЕХНОЛОГИЧЕСКИЙ ИНСТИТУТ ПИЩЕВОЙ И ЛЕГКОЙ ПРОМЫШЛЕННОСТИ
По производственной практике
На тему:
Сдал: ст. гр. 1-98 МААТ Шлямов Д. Приняла: Убайдулаева Ш.Р.
Бухара 2000 г.
Basic был создан коллективом сотрудников Дартмугского колледжа во главе с Джоном Кемени и Томасом Куртом. Это произошло в далеком 1964 году, задолго до появления персонального компьютера в его современном виде, в эпоху больших ЭВМ. BASIC расшифровывался как Beginners All-purpose Standard Instruction Code (Все целевой стандартный код инструкций для начинающих). Поначалу язык Бейсик предназначался, прежде всего, для обучения новичков принципам программирования. Именно поэтому он с самых ранних пор был самым простым в использовании. Примечательно,что при наличии множества общецелевых языков программирования, доступных программирующим фанатикам, Бейсик остается простейшим для изучения и по истечении 20 лет после его введения. Но еще лучше оказывается выполненная на Бейсике работа. Вопреки притязаниям снобов Си и Паскаля, Бейсик является вовсе не пустяковым языком, наделенным мощными инструментами пригодными для того, чтобы браться за специфическое дело, которое люди в большинстве случаев делают с помощью малых компьютеров, а именно, за работу с файлами и вывод текстов и графики на дисплей.
Бейсики и машинный язык
Как это ни удивительно,но любой данный компьютер способен исполнять программы, написанные только на его родном машинном языке. Существует почти столько же машинных языков, сколько есть типов компьютеров, но все они представляют собой некоторые вариации на одну и ту же тему-простые операции, выполняемые молниеностно быстро над двоичными числами. На персональных компь- ютерах IBM используется семейство машинного языка 8086, поскольку их аппаратная конструкция базируется на этом конкретном семействе микропроцессоров. Возможно, хотя и трудно, писать программы непосредственно на машинном языке.В ранние годы компьютеризации (на заре 1950-х годов) машинный язык был тем единственным, что сделали люди, чтобы спасти программистов от цепенящего озноба программирования в машинных кодах, как некий мост между человеческими существами и миром машинных языков компьютеров, были созданы высокоуровневые (т.е. не машинные) языки. Высокоуровневые языки работают через трансляторные программы, которые переводят "исходный код" (машинно-читабельный гибрид английского языка и математических выражений) и в конце концов вынуждают компьютер исполнять подходящие инструкции на машинном языке для выполнения заданной работы. Двумя базисными типами трансляторов являются интерпретаторы, которые сканируют и исполняют исходный код в режиме единичного шага, и компиляторы, которые сканируют исходный код, переводя его на машинный язык, а результат этого сканирования используется затем отдельно.
Интерпретаторы
Исторически Бейсик обычно реализовался как интерпретатор (знакомым изомером является сам интерпретаторный Бейсик). Одно, часто упоминаемое преимущество интерпретаторной реализации состоит в том, что она допускает "непосредственный режим". Кроме того, интерпретаторы имеют специальные атрибуты, которые упрощают отладку. Можно, например, прервать обработку интерпретаторной программы, отобразить содержимое определенных переменных, бегло просмотреть программу, а затем продолжить исполнение. Болше всего программистам нравится в интерпретаторах возможность получения быстрого ответа. Здесь нет необходимости в компилировании, так как интерпретатор всегда готов для вмешательства в вашу программу. Введите RUN и результат вашего самого последнего изменения оказывается на экране. Однако интерпретаторные языки не без недостатков. Необходимо например иметь копию интерпретатора в памяти все время, тогда как многие возможности интерпретатора, а следовательно и его возможности могут не быть необходимыми для исполнения конкретной программы. Слабо различимым недостатком интерпретаторов является то ,что они имеют тенденцию отбивать охоту к хорошему стилю программирования.Поскольку комментарии и другие формализуемые детали занимают значительное место программной памяти, люди стремяться ими не пользоваться. Дьявол менее яростен, чем программист, работающий на интерпретаторном Бейсике, пытающийся получить программу в 120К в памяти емкостью 60К. но хуже всего то, что интерпретаторы тихоходны. Ими затрачивается слишком много времени на разгодывание того, что делать, вместо того чтобы заниматься действительно делом. При исполнении программных операторов,интерпретатор должен сначала сканировать каждый оператор с целью прочтения его содержимого (что этот человек просит меня сделать?), а затем выполнить запрошенную операцию. Операторы в циклах скани www.studsell.com Доклад - Не много теории о Visual Basic. Бывший когда-то инструментом общего назначения, пакет VB теперь оснащен более совершенными функциями управления базами данных и работы в Интернете, ориентированными непосредственно на рынок корпоративных систем. Похоже, корпорация Microsoft в последние несколько лет сосредоточила свои усилия исключительно на Интернете — это проявляется даже в системе программирования Visual Basic. Версию 6.0 своего самого популярного языка программирования Microsoft оснастила множеством функций, с помощью которых можно строить прикладные программы для Web. Хотя эти функциональные возможности уже были введены в систему VB5 в виде дополнительных модулей, они гораздо лучше интегрированы в VB6 и более разнообразны. Стремясь укрепить свои позиции в секторе Web-приложений, Microsoft на этот раз сосредоточила усилия почти исключительно на разработке функций VB6, предназначенных для работы в Интернете, а также на расширении возможностей управления базами данных, т. е. в конечном итоге на корпоративной редакции (Enterprise Edition) данного продукта. Разумеется, в VB6 не обошлось без заметных усовершенствований ядра пакета. Тем не менее кое-что в этой версии ухудшилось. В целом, VB6 примерно на 10% дороже VB5. Например, цена нового экземпляра пакета VB6/Pro на 50 долл. выше, чем у VB5, — 549 долл. против 499 долл. (рекомендуемая изготовителем цена). Однако переход на VB6/Pro для владельцев предыдущей версии, объем продаж которой будет наибольшим, обойдется на 15% дороже — 229 долл., тогда как цена обновления VB5/Pro составляла 199 долл. И, что еще хуже, фактически рекомендуемая изготовителем цена обновления составляет 279 долл. Вам придется позаботиться о возвращении одного из купонов на скидку, чтобы получить назад свои 50 долл. Стоит уделить особое внимание практическим вопросам применения Visual Basic. Обновление версий традиционно ставит перед разработчиками специфические проблемы. Всегда приходится что-то изменять в тексте программ или настраивать параметры рабочей среды, чтобы VB-проект правильно работал с новой версией. Пропуск версии VB обостряет эту проблему, удваивая число трудностей, связанных с обновлением. Поэтому для профессионалов, регулярно работающих с VB, постоянное обновление версий должно быть само собой разумеющимся. Каждый из гигантской массы программистов, применяющих VB, просто вынужден оплачивать все модификации успешно развивающейся системы Microsoft VB. Давайте сначала рассмотрим функции VB6 для работы в Интернете, а затем перейдем к функциям ядра новой версии этого пакета. Работа в Интернете В характерной для себя манере Microsoft эффектно демонстрирует функции VB6 для работы в Интернете. Нам удалось воспроизвести примеры, прилагаемые как часть рабочего руководства пакета VB6 менее чем за 15 минут, и результаты были впечатляющими. Примеры, предлагаемые Microsoft, выполняются легко и быстро, потому что наиболее трудная работа по формированию реальных страниц Web, применяемых в этих проектах (а также некоторых компонентов самих проектов), уже проведена ранее. Процесс предусматривает подготовку Web-страниц с помощью Microsoft Visual InterDev или какого-либо другого инструмента с последующим применением VB для связывания программ обработки событий на VB или элементов управления ActiveX с этими страницами. Другими словами, нельзя выполнить всю работу только средствами VB. В этом состоит главное отличие VB от таких систем разработки, как Clarion фирмы Topspeed, в которой готовую прикладную программу можно одним щелчком мыши преобразовать в интерактивные Web-страницы. В VB применяется подход, основанный на использовании компонентов: взяв HTML-текст Web-страниц, вы формируете компоненты VB для связывания с ними. Есть два метода построения ориентированных на Web прикладных программ VB, причем оба они представлены новыми типами приложений VB. В одном для составления программ на базе информационного сервера Интернета IIS (Internet Information Server) применяется новая объектная модель WebClass. При другом подходе программа на VB привязывается к объектам — элементам управления ActiveX в рамках объектной модели динамического HTML (Dynamic HTML, DHTML). Оба метода имеют ряд специфических для Microsoft особенностей. IIS — продукт Microsoft, составная часть Windows NT Server. Следовательно, основанные на применении IIS прикладные программы VB будут функционировать только на Web-серверах, работающих под управлением NT. Язык DHTML еще не превратился в стандарт для Интернета, по крайней мере пока, поэтому для применения данного подхода требуется, чтобы пользователь просматривал такие Web-страницы с помощью браузера Microsoft Internet Explorer (IE) Version 4.01. Чтобы начать разработку программы на базе IIS, надо выбрать в диалоговом окне New Project (Новый проект) пункт IIS Application. В качестве простого примера в рабочем руководстве показано, как строить программы с помощью «конструктора» (окна проектирования). Поля Approved (Доступ разрешен), Denied (Доступ запрещен) и Login (Регистрация) представляют собой HTML-страницы, сформированные вне среды VB. На странице Login определено событие Submit (Выполнить), при наступлении которого выполняется сбор регистрационной информации, вводимой просматривающим Web-страницу пользователем, и затем в зависимости от полученных данных происходит переход к странице Approved или Denied. На правой панели «конструктора» выводятся все теги (дескрипторы) HTML со связанной Web-страницы, в том числе описывающие кнопку Submit. VB преобразует Web-страницу для связывания кнопки Submit с фрагментом программы, отвечающим за обработку этого события. В VB6 имеются встроенные средства проверки разрабатываемой программы: нажатие клавиши F5 для выполнения приложения приводит к запуску IE4 и выводу на экран связанной Web-страницы. Для начала разработки DHTML-программы надо выбрать в диалоговом окне New Project пункт DHTML Application. В качестве примера в руководстве приводится «конструктор», применяемый для построения такой программы. В этом примере в форму ввода заказа вслед за меткой «Ship Date» (Дата отгрузки) был помещен новый фирменный элемент управления ActiveX — DateTimePicker. Для этого мы «отбуксировали» элемент управления с панели инструментов ToolBox на Web-страницу, отображаемую в правой половине окна «конструктора». Вывод на экран сообщения о корректности выбранной даты осуществляется фрагментом программы, связываемым с событием Click элемента DateTimePicker. На левой панели окна «конструктора» отображаются компоненты DHTML-страницы, в том числе добавленный нами элемент DateTimePicker. Тестирование DHTML-приложения, как и IIS-программы, — встроенный процесс. Заметьте, что большая часть элементов управления в панели инструментов ToolBox отключена. Дело в том, что основные элементы управления, имеющиеся в пакете VB, не относятся к ActiveX-компонентам, а представляют собой жестко запрограммированные элементы управления VB. Поскольку с DHTML-программой будут работать лишь элементы управления ActiveX, то в данном случае можно пользоваться только ими. Несмотря на легкость, с которой мы справились с примерами, разработка программ такого типа не так проста, как пытается уверить нас Microsoft. Необходимо понимать концепции, лежащие в основе Web-страниц, и быть знакомым с языком HTML. Нужно уметь визуально отображать взаимосвязь между информацией, получаемой от «конструктора», и ранее сформированными Web-страницами. Для разработки IIS- и DHTML-программ вы должны понимать объектную модель VB. И, конечно же, надо уметь строить Web-страницы, с которыми будет связываться программа, составленная с помощью VB. Фирма Microsoft славно потрудилась, интегрировав средства проектирования в ИСР VB, поэтому по крайней мере часть работы выполняется графически, а не путем ввода строк программы. Однако придется разбираться, что обозначают древовидные конструкции на левой панели окон проектирования. Таким образом, краткость нашего описания дает не совсем верное представление о внутренних сложностях разработки прикладных программ для Интернета с помощью VB. В ходе обсуждения функций VB6 для работы с Интернетом мы упомянули концепцию «конструкторов» (окон проектирования). «Конструкторы» — это новые компоненты Visual Basic, которые могут входить в состав проекта наряду с формами, MDI-формами, модулями, модулями классов и т. д. «Конструкторы» не относятся к универсальным элементам. В проекте можно использовать только «конструкторы», разработанные Microsoft, а их всего четыре: DHTML, WebClass (для IIS-приложений), DataReport и DataEnvironent. Чуть позже мы обсудим два «конструктора», связанные с обработкой данных. Компоненты ядра системы VB6/Pro поставляется на трех компакт-дисках. На одном содержится сам VB, а на двух других редакция сетевых средств разработчика Microsoft (MSDN, Microsoft Developer Network) для Visual Studio. Компакт-диски с MSDN очень важны, поскольку на них размещаются все файлы справочной системы. Процедура инсталляции стала сложнее: увеличилось число необходимых шагов, причем требуется несколько раз перезапустить систему. Сначала устанавливается VB6, затем MSDN. Наконец, предлагается установить различные служебные программы, такие, как серверные расширения пакета Microsoft FrontPage 98. Довольно трудно определить необходимый объем используемого дискового пространства, поскольку компоненты размещаются в различных папках, но предполагается, что для типовой установки потребуется от 100 до 150 Мбайт. Установка длится примерно 20 минут. Для новейших версий продуктов серии Visual Studio становится обычным предложение удалить предшествующие версии. Если согласиться с ним, время инсталляции возрастет. Хотя Microsoft не рекомендует устанавливать VB6 и предшествующие версии в одной системе, у нас на одном компьютере установлены профессиональные редакции VB4, VB5 и VB6, но никаких проблем пока не возникало. ИСР осталась такой же, как в VB5. Появились два новых пункта меню — Query и Diagram, с помощью которых осуществляется непосредственное управление процессом формирования запросов к базам данных и работой с ними, а также проектированием самих баз данных и выводом диаграмм по информации из них. Этих дополнений ИСР давно ожидали пользователи. Однако пункты Query и Diagram активны только при наличии подключенной к серверу БД, например SQL Server, DB2, Sybase или Oracle. Для прикладных программ, в которых применяется технология Jet (обычная практика среди разработчиков VB), пункты меню Query и Diagram остаются заблокированными. Существенное изменение — переход от WinHelp к HTMLHelp, хотя трудно сказать, хорошо ли это. Качество справочной системы VB начало ухудшаться в версии VB4 из-за сокращения числа примеров. В VB5 эта тенденция продолжалась: появились ссылки на многочисленные справочные файлы. В обеих версиях число разорванных гиперсвязей возрастало. Все эти проблемы характерны и для VB6. Для программиста средней квалификации тенденция к снижению числа примеров весьма болезненна. Первоначально VB отличался наличием примеров, иллюстрирующих почти любое применение его средств. Из них новички, а также пользователи, овладевающие новыми возможностями VB, черпали ценную информацию. И хотя многие сложные функции VB трудно проиллюстрировать краткими примерами, для более простых функций примеры были бы весьма кстати, однако и они все чаще отсутствуют. На первый взгляд установление связей между несколькими справочными файлами — неплохая идея, но практическое ее воплощение ужасно. Проблема заключается в потере контекста. Например, если на одном компьютере установлены VB5 и Microsoft Office, перемещение по файлам справочной системы VB5 может привести в справочную систему MS Access. Единственный положительный момент состоит лишь в том, что при использовании WinHelp можно явно определить, какой справочный файл выводится на экран. В новой справочной системе HTMLHelp это не предусмотрено. При работе с VB6 просмотр осуществляется по всему набору справочных файлов пакета Visual Studio — более 800 Мбайт информации. Здесь нельзя отличить одну справочную страницу от другой, поэтому, активизируя расположенную в теме по VB ссылку, ведущую, как вы предполагаете, к дополнительной информации по VB, можно попасть на тему с похожим названием, которая не имеет ничего общего с VB. Наш любимый пример такого рода — поиск справки о получении программным путем информации о номере версии Visual Basic. В действительности, в VB нет никаких синтаксических конструкций для этого. Однако последовательные ссылки могут привести к примеру, который называется Version Property Example (Пример использования свойства «версия»). Здесь можно найти оператор Debug.Print Application.VBE.Version. Звучит неплохо, но на деле оказывается, что эта синтаксическая конструкция специфична для языка Visual Basic for Applications (VBA) и применяется для определения версии управляющего модуля VBA (например, MS Word). В то же время нет даже намека на то, что данная тема не имеет отношения к VB6. Наличие полной справочной системы по пакету Visual Studio на самом деле полезно лишь для тех, кто хочет углубленно изучить VB. Специалисты Microsoft пытаются справиться с данной проблемой, формируя подмножества справочной информации. Любое подмножество легко может быть выбрано из комбинированного окна. Одно из таких подмножеств называется Visual Basic Documentation (Документация по Visual Basic). При его выборе изменяется вид указателя, так что элементы, не имеющие отношения VB, оказываются заблокированными (окрашенными в серый цвет). Тем самым выделяется информация, относящаяся к VB. Лучше было бы просто скрывать элементы, не относящиеся к VB, поскольку указатель со ссылками для всего пакета Visual Studio имеет гигантский объем. Экран заполняется серым цветом, разбавленным редкими темами VB. У подмножеств есть и другие, свойственные только им, проблемы. В данном случае справочная система выдает сообщение о том, что выводимая на экран тема по VB отсутствует в оглавлении подмножества VB, несмотря на то что можно видеть и то, и другое. Проблема разорванных связей от версии к версии растет с числом файлов справочной системы. Теперь, когда все размещается на одном диске со справочной системой Visual Studio, ситуация стала еще хуже. При неработающих ссылках неизвестно, как найти информацию другими способами. Можно искать ее часами, но никогда не найти ту страницу, к которой, предположительно, должна была привести разрушенная связь. Если вы думаете, что мы излишне придирчивы к справочной системе, учтите, что в комплекте VB больше нет печатных руководств. Они приобретаются отдельно и стоят весьма дорого. Microsoft подразумевает, что основным источником информации будет прилагаемая электронная документация. В этом нет ничего плохого, пока качество, полнота и подбор этой документации остаются на должном уровне. Одна полезная функция, впервые появившаяся в VB5, — контекстно-чувствительная подсказка, доступная из инспектора объектов (object browser). Большинство пользователей VB знают, что ее можно вызвать, щелкнув правой клавишей мыши на имени в исходном тексте программы и выбрав пункт Definition (Определение). Для переменных и функций, определяемых пользователем, при этом выводится описание переменной или функции. Для ключевых слов и встроенных элементов VB5 и VB6 запускают VB Object Browser, который выводит сообщение о том, к какому классу принадлежит этот элемент, и каков его синтаксис. Щелчок правой клавишей мыши в данный момент приводит к появлению еще одного меню, в котором есть ссылка на справочный файл. Многие не знают, что для вызова справочной системы достаточно еще одного щелчка мышью. Переход от VB5 к VB6 При каждом переходе к новой версии VB были некоторые изменения, которые вынуждали разработчиков переделывать свой проект под новую версию. В прошлом предусматривалось такое преобразование текста программ, как изменение элементов управления, синтаксиса VB и определенных методов. Приятно, что мы не обнаружили таких ловушек при переходе от VB5 к VB6. Фактически, как только нам удалось преодолеть одну большую проблему, связанную с переходом к VB6, мы смогли преобразовать, скомпилировать и запустить десяток небольших апплет и две крупные промышленные системы, не внося никаких изменений в тексты программ. На нашей памяти это произошло впервые — большое достижение Microsoft. Серьезная проблема возникала при переходе от VB4 к VB5, поэтому мы были весьма разочарованы, снова столкнувшись с ней. Если в своей программе на VB5 вы применяете какие-либо типовые элементы управления Windows, например инструментальные панели (ToolBars), списки изображений (ImageLists) или строки состояния (StatusBars), при переходе к новой версии надо быть внимательным. В VB5 эти и другие элементы управления содержатся в DLL-файлах COMCTL32.OCX и COMCT232.OCX. В случае VB6 они находятся в файлах COMCTL.OCX, COMCTL2.OCX и COMCT332.OCX. Любому регистрируемому в Windows элементу присваивается некий глобальный уникальный идентификатор — GUID (Globally Unique Identifier). Если посмотреть на файл проекта VB с помощью текстового редактора, можно увидеть, что в ссылках на OCX-файлы применяются не имена, а идентификаторы GUID — длинные последовательности шестнадцатеричных цифр, разделенных несколькими дефисами. Проблема возникает оттого, что идентификаторы GUID для типовых элементов управления Windows в версиях VB5 и VB6 различаются. До тех пор пока при переносе проекта в VB6 применяются элементы управления VB5, можно не беспокоиться. Проблемы возникают при попытке конвертировать проект. При преобразовании проекта VB4 из среды VB5 выдается запрос: хотите ли вы обновить версию проекта. При ответе «да» все типовые элементы управления Windows превращались в графические изображения (Picture Boxes), поскольку в VB нет механизма сопоставления идентификаторов GUID старых элементов управления с их новыми версиями. При работе с бета-версией VB6 эта ситуация воспроизводилась полностью, но Microsoft утверждает, что в коммерческой версии продукта этот недочет будет устранен. Для этого Microsoft предоставит небольшую программу, которая просматривает проект VB5 и изменяет нужным образом GUID. Этот конвертор надо запускать до первой загрузки проекта в VB6. Мы испытали бета-версию конвертора, который пока не имеет названия. Она работала превосходно. Microsoft предполагала поместить этот конвертор на Web-узел VB ко времени начала поставок VB6. Несмотря на то что данная проблема существовала еще при переходе от VB4 к VB5, Microsoft не устранила ее даже к моменту завершения процесса бета-тестирования VB6. Будем надеяться, что когда-нибудь такое преобразование будет выполняться автоматически при загрузке проекта VB6 в рабочую среду VB7 или, если нам действительно повезет, конвертор будет включен в состав пакета исправлений Service Pack. Производительность С каждой новой версией производительность Visual Basic возрастает. Microsoft указывает несколько сфер применения VB6, в которых повысилась производительность. Как утверждает фирма, ускорен доступ к данным благодаря «использованию усовершенствованных драйверов БД и компонентов доступа к данным». Мы испытали две рабочие программы на основе технологии Jet (DAO) и не заметили сколько-нибудь заметных улучшений. Однако, учитывая явную заинтересованность Microsoft в обеспечении взаимодействия с такими СУБД, как Oracle и собственная система SQL Server, мы предполагаем, что большая часть усовершенствований коснулась именно этой области. Но во время подготовки данной статьи мы не проводили испытаний при подключении к таким СУБД. Кроме того, Microsoft утверждает, что был усовершенствован процесс обработки форм, в частности их загрузка. Существенные улучшения были заметны в VB5, и это стало одной из самых серьезных причин для перехода на новую версию продукта. Улучшений в VB6 мы не заметили. Большие сложные формы по-прежнему могут быть медлительными. Мы сравнили время, которое было необходимо для загрузки на одной и той же машине версии VB6 и проекта, а также VB5 и такого же проекта. Нам показалось, что VB6 был чуть медленнее, хотя такое снижение производительности будет совершенно незаметным благодаря росту быстродействия современных процессоров. Одна область, в которой пакет VB6 заметно улучшен, — обработка строк, давно бывшая камнем преткновения для программистов VB. В VB6 имеется довольно много новых функций для обработки строковых переменных, предназначенных для ускорения выполнения типовых операций со строками. Некоторые из них, по-видимому, основаны на собственных приемах программирования Microsoft, а не на повседневной практике широкого круга программистов, применяющих VB. Примером служит функция Split, которая делит строку на слова, фразы или подстроки, основываясь на положении заданного разделителя. Эта функция полезна для разработчиков компиляторов или системных программистов, а для тех, кто выпускает коммерческие прикладные программы, она менее интересна. К той же категории относятся функции Filter, Join и StrReverse. Мы приветствуем появление функции InstrRev, с помощью которой осуществляется поиск вхождения подстроки с конца строки, поскольку она полезна при выполнении такой типовой задачи, как синтаксический разбор маршрутов доступа к файлам. Хороша и долгожданная функция Round, хотя ее присутствие в списке строковых функций небесспорно. (Round воспринимает строковый аргумент, если его можно интерпретировать как число.) Возможно, наиболее интенсивно применяется строковая функция Format$, способная преобразовывать значение почти любого типа в строку, форматированную произвольным образом. Из-за того что эта функция универсальна, она работает медленно. В VB6 имеются специализированные версии функции Format для большинства типовых задач форматирования: FormatDateTime, FormatCurrency, FormatPercent и FormatNumber. Главное отличие этих функций от функции Format$ заключается в том, что им заранее известен тип обрабатываемого значения, поэтому нет необходимости проводить синтаксический разбор строки, чтобы определить, как должна выглядеть отформатированная строка. Исключение строки формата, вероятно, вносит наиболее значительный вклад в ускорение операции. Подобные специализированные функции, основанные на применении Format$, уже входят в библиотеки большинства профессиональных программистов, но их появление среди встроенных функций языка программирования можно только приветствовать. Еще бы! Мы написали простую тестовую программу для сравнения быстродействия функций двух видов. Новые функции быстрее в два-пять раз; это заметное улучшение. Нам было любопытно узнать, повысилось ли также быстродействие базовых функций обработки строк, таких, как Mid$ и операции слияния(&).Усовершенствование подобных функций приводит к ускорению выполнения любой программы без внесения изменений в ее текст. Чтобы проверить это, мы также составили небольшую тестовую программу. Есть версия этой апплеты и для VB5, и для VB6, причем каждая из них показывает результаты другой. К нашему разочарованию, мы отметили некоторое замедление почти для всех проверявшихся функций в среде VB6. Поскольку расхождения были малы, мы подумали, что они могут быть вызваны неточной работой функции Timer. Однако при повторных прогонах тестовой программы были воспроизведены те же результаты. Справедливости ради следует отметить, что все функции обработки строк стали быстрее с появлением в версии VB5 компилятора. Однако печально, что произошел частичный отход назад, особенно с учетом намного более быстрой обработки строк другими продуктами (в первую очередь это относится к пакету Delphi компании Inprise). Обработка данных В целом работа с базами данных в VB6 заметно улучшена. Ранее мы уже отметили два новых «конструктора»: Data Environment и Data Report. Хотя VB позволяет формировать новый проект под названием Data Project и все примеры, предлагаемые Microsoft, относятся к этой категории, данные «конструкторы» можно применять в стандартном проекте VB. Как работает «конструктор» Data Environment. В его окне отображаются все доступные проекту подключения (источники данных), а также их специфические элементы. Кроме того, в окне Data Environment можно видеть взаимосвязи между такими элементами. В правой части экрана расположено окно Data View, запускаемое нажатием кнопки Data View Window на панели инструментов. В нем показывается содержание связи. Таблицы из такого окна просто переносятся с помощью мыши в «конструктор». Именно здесь можно просмотреть и изменить страницы свойств таблицы, в том числе закладку Relation, на которой описываются связи между таблицами. В данном случае таблица Orders связана с таблицей Customers, а Order Details — с Orders. Данное иерархическое представление можно видеть в окне «конструктора». Форма для этого простого проекта была построена одной операцией drad-and-drop. Мы лишь перенесли мышью поле Customer name (фамилия заказчика) в форму. «Конструктор» вставил поля для всех элементов записи, относящейся к заказчику, и добавил табличные бланки (MSFlexGrid) для таблиц Orders и Details. Запустив полученную программу, мы увидели, что она работает правильно, хотя для перехода от первой записи к другим необходимо добавить элементы управления перемещениями. «Конструктор» Data Report показан в правом нижнем углу. Традиционный внешний вид этого «конструктора» с использованием полос сразу делает очевидным его назначение. Действительно, Data Report — генератор отчетов в стиле Microsoft Access. Данный «конструктор» относительно прост в применении и интуитивно понятен. Появление собственного генератора отчетов в VB — долгожданное событие. Хотя пакет Crystal Report фирмы Seagate — прекрасный продукт, та его версия, которая традиционно входила в комплект поставки VB, как минимум, на одно поколение старше. Фирма Seagate заинтересована в том, чтобы стимулировать у пользователей VB желание приобрести полную версию ее продукта. Мы надеемся, что Data Report может стать важной частью рабочей среды VB и разовьется до полноценной системы подготовки отчетов, используемой по умолчанию. Пока этот «конструктор» станет таким, каким он должен быть, вероятно, выйдет пара версий, что соответствует традициям Microsoft. Что касается Crystal Report, то он по-прежнему входит в комплект пакета, однако на этот раз он не был обновлен вместе с VB — с ним поставляется та же версия (4.6), что и с VB5. То, что начиналось как образец программы на VB несколько версий назад, теперь стало составной частью рабочей среды VB. Графический администратор данных — Visual Data Manager (VisData) — упрощает работу с базами данных, входящими как составная часть в программу пользователя. VisData представляет собой простое средство для просмотра и отбора данных с помощью запросов, при этом он намного проще и компактнее, чем Access, и работать с ним существенно удобнее, особенно если учесть, что его можно вызвать из первой строки меню Add-Ins (Дополнения) пакета VB6. VisData по-прежнему остается примером программы — его исходный текст находится в папке с образцами программ VB6 на компакт-диске. У VisData есть ряд специфических для Jet-систем функций, таких, как Compact (Упаковать) и Repair (Восстановить), поэтому его можно применять как полезную утилиту для клиентов, не имеющих лицензию на Access. Разработчики также могут встраивать VisData или его фрагменты в свои собственные программы. Наступление новой эры Visual Basic появился как инструмент, облегчающий разработку прикладных программ Windows для самого широкого круга лиц. С выпуском каждой новой версии VB становился все больше и сложнее. VB6 продолжает эту традицию: в нем имеются развитые средства работы с базами данных и Интернетом, указывающие на то, что он выходит на корпоративный уровень, — несомненно, это новая эра для некогда простого продукта. www.ronl.ru Реферат на тему Основы Visual Basic 50В приложениях VB 5.0 исполняемые строки должны размещаться внутри процедур либо функций. Операторы в VB редко используют номера строк, а любые из них обычно начинаются с новой строки. Строки ограничены длиной в 1023 символа. можно расширять строки, используя символ “_” после пробела в конце строки. Несколько операторов можно объединять в одной строке, разделяя их “ : ”. Комментарии задаются верхней кавычкой (‘), либо оператором REM. Комментарий может быть выведен отдельной строкой, либо в конце строки. Во втором случае лучше использовать кавычку (‘), чем REM, т.к. REM здесь требует разделителя (:). Например, DIM FARENG ‘ переменная для вычисления t0 по Фаренгейту или DIM FARENG : REM переменная для вычисления t0 по Фаренгейту Оператор End - программа останавливается. После оператора End закрываются все окна, открытые программой, а сама она стирается из памяти. Внутри приложения VB может быть сколько угодно операторов End, но обычно лучше использовать только один оператор End в процедуре обработки событий QueryUnload для основной формы. В этом случае все операторы End заменяются на Unload Me, который вызывает себе QueryUnload для формы. Одним из основных операторов является присваивание значения переменным и установка значений свойств. Например, 1) Result = 0.5 ? 20 имя значение переменной Можно использовать оператор LET 2) объект.свойство = значение txtDisplay.Text = “ “ Свойства по умолчанию У любого объекта VB есть свойство по умолчанию. Например, для текстового поля это свойство Text. При ссылке на данное свойство можно не указывать его имя. Например, txtDisplay=“Привет!” Некоторые свойства могут принимать значения TRUE или FALSE. В VB5 имеются встроенные константы для обозначения данных свойств, например, cmdExit=False будет скрывать командную кнопку, пока не появится выражение cmdExit=True. Внутри себя VB использует значение 0 для False и -1 для True (или любое ненулевое значение). Можно использовать следующее выражение для изменения свойства на противоположное cmdExit.Visible = Not (cmdExit.Visible). Переменные. Имена переменных менее 255 символов начинаются с буквы, за которой следуют другие буквы, цифры или символ “_”. Регистр значения не имеет. В качестве имен переменных нельзя использовать зарезервированные слова, например, Print. Принято использовать смешанный регистр при задании имен переменных, состоящих из нескольких слов, например, CurrentValue. Типы переменных. Используется 14 стандартных типов переменных. Можно определить и собственный тип. Основные типы: String - строковые переменные. Для обозначения этого типа можно добавить символ “$” к концу имени. Например, Message $ = txtDisplay.Text Integer - целочисленная переменная в диапазоне -32768 ? +32767. Для обозначения в конце имени добавляется “%” арифметический оператор выполняется быстро. Например, IntVar% =5 LongInteger - длинное целое от -2147483648 до +2147483647. Обозначается “&”. LongInt&= 123456789. SinglePrecision хранит дробные числа с точностью до 7 цифр. Для на чисел может достигать 38 знаков с обозначением “!”. Вычисления ч данными переменными будет приблизительным. DoublePrecision “#”. Числа с точностью до 16 цифр и длиной до 300 символов. Вычисления тоже приблизительны, а скорость небольшая. Используется для научных расчетов. Currency - используется при преобразовании десятичных чисел в двоичную форму и наоборот. Обозначение - “@”. Может иметь до 14 цифр до запятой и до 4 цифр - после. Используется для финансовых расчетов. Date - значения даты и времени от 00 час.1 января.100 года до 00час.31 декабря.9999 г. Значение обозначается “#”. Time = # May 5, 1999 # Byte - для хранения целых чисел от 0 до 255. Экономит оперативную память и размеры массивов. Используется также при работе с двоичными файлами. Variant - данные любого типа. Если VB не знает тип принимаемых данных, используется этот тип. Использование его замедляет работу программ, т.к. требует времени и ресурсы для операций преобразования типов. В отличие от других версий Basic в одной программе нельзя использовать одни и те же имена переменных, отличающихся только типом. Например, A% и А! При первом использовании переменной VB временно присваивает переменной тип Variant и пустое значение. Это значение исчезает в тот момент, когда переменной присваивается реальное. Любой тип данных имеет свое “пустое” значение. Для String это строка нулевой длины “ “. Для численных переменных это 0. Можно не использовать идентификаторы для обозначения типа переменной, а использовать оператор Dim. Оператор Dim служит для объявления типов переменных. Dim Years As Integer Dim Amount As Currency . . . . Объявления можно комбинировать в одной строке. Dim Years As Integer, Amount As Currency Dim Result без типа присваивает переменной тип Variant. Если в программе используются необъявленные переменные, легко допустить ошибку при написании их имени. В этом случае используется принудительное объявление переменных с помощью оператора Option Explicit. Этот оператор не используется в конкретных процедурах обработки событий, а размещается в разделе General формы, чтобы быть доступным всем процедурам обработки событий. После того, как VB встречает оператор Option Explicit, он не позволяет более использовать необъявленные переменные. Этот оператор можно использовать для изменения значений по умолчанию. Область видимости переменных В программах VB5 все переменные изолированы внутри процедур. То есть переменная Result в одной процедуре не влияет на значение переменной с тем же именем в другой процедуре. То есть переменные являются локальными по отношению к процедурам, если не указано иначе. Иногда необходимо, чтобы какая-то переменная была доступна всем процедурам формы. Такие переменные называют переменными уровня формы или модуля. Переменные уровня формы также объявляются в разделе General с помощью операторов Private или Dim. В больших проектах, в которых процедуры и формы хранятся в отдельных модулях, а не подключаются к форме, можно объявить глобальную переменную, доступную в любой части проекта. Это делается в разделе Declarations любого модуля кода: Public Amount As Single или Global Amount As Single Когда VB вызывает процедуру обработки события, старые значения локальных переменных уничтожаются. Они принимают значения по умолчанию. Такие переменные называются динамическими. Но в некоторых случаях необходимы статические переменные, которые не инициализируются повторно при вызове процедуры. Часто такие переменные используются для счетчиков, их используют, чтобы сделать элементы управления видимыми или невидимыми. Чтобы объявить статическую переменную внутри процедуры необходим оператор Dim заменить на Static. Static Amount As Single, Is_Visible As Boolean. Если необходимо, чтобы все переменные в процедуре были статическими, необходимо добавить Static Private Sub cmdLom_Click() Строки Операция конкатенации для сложения нескольких строк + или & Например, A$ = “Иванов” B$ = “Иван” C$ = “Иванович” D$ = A$ & B$ & C$ или D$ = A$ + B$ + C$ Отличие. С помощью “&” можно объединять строковые и другие типы. Например, C = A% & B$, изменится их тип на Variant. Для перехода к новой строке при печати символов (перевод каретки) используется встроенная const VbCrLf. Например, чтобы разорвать строку в информационной панели или в многостроковом текстовом поле можно Message $ = “1-я строка” Message $ = Message $+VbCrLf + “2-я строка” MsgBox Message $ Замечание. Если в программе используются числа и они не присваиваются переменной Variant, то VB полагает: Если число не имеет десятичной точки и лежит в диапазоне от -327686 +32767, то это Integer. Если не имеет десятичной точки и лежит в диапазоне для Long Integer, то это Long Int. Если имеет десятичную точку и лежит в диапазоне для чисел с обычной точностью (7 цифр), то это Single divcision. Если имеет десятичную точку, но лежит вне диапазона, то это Double divcision. Такие приблизительные расчеты часто приводят к проблемам. Например, VB полагает, что тип результата с двумя целыми числами есть целое. Например результат Print 123456 ? 789 выходит за рамки целого и возникает ошибка переполнения. Тогда необходимо использовать идентификатор хотя бы для одной переменной Print 123456& ? 789. Можно также использовать встроенные функции для преобразования типов, например, LInt - округляет число до целого, Clong - до длинного целого, Cvar - преобразует к Var. Если производятся операции с переменными Variant, то не возникает проблем с преобразованием типов. Помимо обычных, десятичных чисел, VB использует двоичные и шестнадцатеричные. Последние обозначаются с префиксом &H. Например, число 49 = &h41. Шестнадцатиричные цифры используются для кодирования различных цветов: любой цветовой код состоит из 6 шестнадцатиричных цифр от &H000000& = 0 до &HFFFFFF& (длинное целое) (16777215). Вообще конкретный цвет определяется количеством красного R, зеленого G и синего цветов B во всевозможных сочетаниях. В коде цвета VB две последние цифры означают количество красного, две средние - количество зеленого, а две первые - количество синего, например &H0000FF& - максимально красный &H00FF00& - максимально зеленый &HFF0000& - максимально синий &H000000& - черный &HFFFFFF& - белый &H00FFFF& - желтый (красный + зеленый) &H808080& - серый (равные количества цветов) Константы Для неизменных значений в программе используются константы. Константы объявляются аналогично переменным, по тем же правилам: имя содержит не более 200 символов, первый символ буква. Если в программе используется только одна форма, то константу можно объявить в разделе DeclarationHous для объекта General. Или же можно и непосредственно в процедуре, но это хуже. Константу объявляют через зарезервированные слова Const. Например, Const Pi = 3?14159 Const Course = “Informatics” VB5 имеет только набор встроенных констант, например, VbCrLf или VbOrOnly. Их можно вставлять в текст программы из окна Object Browser (F2 или меню View). Чтобы вставить Const в программе: Курсор должен быть в окне кода. В окне Object Browser щелкнуть на кнопке Copy to Clipboard. Перейти в программе на место вставки и нажать Ctrl+V. Встроенные функции Особое значение имеют строковые функции, т.к. в полях ввода информация хранится в текстовом формате или в формате ariant. Использование же неявных преобразований типов из Variant часто приводит к проблемам и является более медленным. Строковые функции: = Space (число пробелов) - выдает строку, состоящую из одних пробелов, причем число символов в строке определяется параметром в скобках. = String (число, строковое выражение $) - формирует строку, содержащую одинаковые символы. Например, X$=String (10, “z”) - 10z = Len (строковое выражение) - длина текущей строки с проблемами и напечатанными символами. = Mid (строка, начало [, длина]) Mid (“Visual Basic”, 1,6) = “Visual” Mid (“Visual Basic”, 8,6) = “Basic” Mid (“Visual Basic”, 8) = “Basic” Пример. Подсчет числа точек в строке Points % = 0 Length % = Len (Text $) For I% = 1 to Length % If Mid (Text $, I%, 1) = “.” then Points $ = Points $ + 1 End If Next I% = Left (cтрока, № до позиции) = Right (строка, с № позиции) Функцию Mid можно использовать для изменения содержания внутри текущей строки. Например X $ = “Best Basic” Mid (X $,1,5) = “Quick” какое количество символов с какого символа будет взято из новой строки вставляется новая строка поверх части старой = Insert ([начальная позиция], строка для поиска, подстрока) является ли данная строка частью другой строки, выдает номер позиции, с которой начинается подстрока. Text $ = “QuickBasic” X $ = Instr (1, Text $, “Basic”)=6. Если подстрока не найдена Instr возвращает нулевое значение (False). Пример. If Instr (Text $, “? ”) then Print “символ найден” Else Print “Не найден” End If = LСase, = UСase - преобразует все символы строки в нижний (верхний) регистр Вместо Lcase $ Ucase$ = Str lomp - для сравнения строк Пусть X = StrComp (A$, B$) Если A$ или B$ пуста, то х=NULL Если использовать StrComp (A$,B$,1) - регистр не учитывается, а если StrComp (A$,B$,0) - регистр учитывается. = Trim (строка $) - уничтожает пробелы начале и конце строки LTrim (строка $) - уничтожает пробелы в левой части строки RTrim(строка $) - уничтожает пробелы в правой части Все строковые функции, за исключением Mid, не изменяют строку, а создают ее копию и потом с ней работают. Управляющие структуры в программе Определенные циклы For ___ Next For I% = 1 to 10 (% - целочисленный тип для ускорения работы цикла) Print I% Next I% Цикл завершается, не в тот момент, когда значение счетчика равняется конечному, а когда оно превышает его. Пример. Печать всеми доступными шрифтами экрана. Private Sub Form_Click() Dim I As Integer For I=0 to Screen.FontCount - 1 FontName = Screen.Fonts (I) Print “Это шрифт”; Screen.Fonts (I) Next I End Sub Неопределенные циклы Не выполняются фиксированное число раз. Цикл может выполняться или нет в зависимости от результата, вычисляемого внутри цикла Do Выражение Loop Until выполняется условие Пример. Проверка пароля Private Sub Form_Load () Do X$ = InputBox$ (“Пароль ?”) Loop Until X$ = “VB” End Sub Для остановки бесконечного процесса используют клавиши “Break” или Run|End или закрыть приложение. В программе можно использовать оператор Exit Do (или Exit For), которые переводят программу к оператору следующему после цикла. Сложные неопределенные циклы В неопределенных циклах проверка происходит в конце цикла и счетчика увеличивается еще на 1. Иногда это вызывает лишнее обновление счетчика. Можно передвинуть проверку условия на начало цикла: Do Until условие Тело цикла Выражение Loop Do While Do Loop Until аналогичен Do Loop While условие Пример. Do Do Loop Until N>5 ? Loop While N =0 and N bukvasha.ru Реферат - Основы программирования на Visual Basic 6Основы программирования на Visual Basic 6.0Переменные используют для хранения и обработки данных в программе. Переменным присваивают имена, определяющие область ОЗУ, в которой хранятся значения переменных. Имя переменной может состоять из цифр, латинских и русских букв, должно обязательно начинаться с буквы и не должно содержать точку «.». Количество символов должно быть не более 255. Например, digA =55, strB =“word”, лог2 =true Типы переменных определяют диапазоны значений, которые могут принимать переменные. Тип Возможные значения Byte Целые неотрицательные числа от 0 – 255 Integer Целые числа от -32768 до 32767 Long Целые числа от -2147483648 до 2147483648 Single Десятичные числа одинарной точности от -1,4*10-45 до 3,4*1038 Double Десятичные числа двойной точности от -5*10-324 до 1,7*10308 Boolean Логическое значение true или false String Строка символов Date Дата от 1 января 100 г. до 31 декабря 9999 г. Currency Число в денежном формате Variant Любые значения ^ Объявление типа переменной Для объявления типа переменной используют оператор определения переменной Dim: Dim [Имя] As [Тип] Например, Dim A As Byte. ^ Запись арифметических выражений на языке VB. Арифметическая запись Запись на VB Описание x+7 x+7 Сложение x-15 x-15 Вычитание 5x 5*x Умножение x:y x/y Деление yx y^x Возведение в степень x\y Целочисленное деление без округления, например, 5\2=2, а не 5/2=2,5 5(x+12y):2 5*(x+12*y)/2 Сложные выражения подчиняются тому же порядку выполнения арифметических операций, как и в математике. ^ Строковые выражения Строками являются любые последовательности символов, заключенные в кавычки. Например, ”привет”,”256”,”2*2” При сложении таких строк осуществляется операция конкатенации (соединения). Например, ”Рок”+”кот”=Роккот ”25”+”три”=25три ^ Логические выражения Логическое выражение Запись на VB Описание > > Больше < < Меньше = = Равно ≥ >= Больше или равно ≤ <= Меньше или равно & And И V Or ИЛИ Искл. ИЛИ Xor Исключающее ИЛИ → Imp Импликация ↔ Eqv Эквивалентность ^ Математические функции Функция Описание Z = x Mod y Остаток от деления x и y Abs(x) |x|, модуль числа x Sqr(x) √x, квадратный корень числа x Exp(x) ex, экспоненциальная функция, e≈2,7 Round(x,a) Округление числа x с точностью до a десятичных знаков Rnd(x) Датчик случайных чисел в интервале [0…1] Sin(x) Синус Cos(x) Косинус Tan(x) tg(x), тангенс Atn(x) Arctg(x), арктангенс Log(x) Ln(x), натуральный логарифм Например, ^ Функции преобразования типов данных Функция Описание Val (строка$) Преобразование значения строки в десятичное число. Например, Val(2000$)=2000 Str (число) Возвращает строку, представляющую число. Преобразование десятичного числа в строковую форму. Например, Str(2000) = 2000$ или Str(10) + Str(20) = 10 20 (вывод через пробел) CStr (число) Возвращает значение типа String. Например, CStr(10) + CStr(20)=1020 Oct (число) Преобразование десятичного числа в восьмеричное число в строковой форме. Например, Oct(2000)=3720$ Hex (число) Преобразование десятичного числа в шестнадцатеричное число в строковой форме. Например, Hex(2000)=H7D0$ Asc(строка$) Преобразование строки в числовой код по таблице кодировки первого символа. Например, Asc(ж)=230; Asc(жар)=230. Chr (число) Преобразование числа в соответствующий ему символ (обратная операция Asc). Например, Chr(100)=d. ^ Строковые функции Функция Описание Left (строка$,d) Вырезает левую подстроку длиной d. Например, Left (“килобайт”,4) = кило. Right (строка$, d) Вырезает правую подстроку длиной d. Например, Right (“килобайт”,4) = байт. Mid (строка$,p, d) Вырезает произвольную подстроку длиной d, начиная с позиции p. Например, Mid (“информатика”, 3, 5) = форма. Len (строка$) Определяет длину строки. Например, Len (машина) = 6. ^ Алгоритм создания программы-калькулятора на языке Visual Basic. 1). Создать графический интерфейс. Расположить на форме столько текстовых полей ввода (TextBox), сколько переменных (исходных данных) требуется ввести по условию задачи (на картинке это два поля Text1 и Text2) и столько полей вывода, сколько потребуется для вывода решения задачи (на рисунке одно поле вывода Text3). Добавить командную кнопку, щелкнув на которой будет происходить обработка введенных данных. 2). Этап программирования. Двойной щелчок по командной кнопке ввода кода. а) объявить тип переменных с помощью оператора Dim: ^ Dim [переменная 1, переменная 2,…] As [тип переменной]. б) Осуществить ввод исходных данных из текстовых окон Text1, Text2, …: [Переменная 1] = Val(Text1.Text) (или просто Text1.Text, если в поле будут вводится не только цифры). [Переменная 2] = Val(Text2.Text) … в) Записать математические выражения и уравнения на языке Visual Basic. [Переменная 3] = [ваше матем. выражение]. Здесь же могут применяться различные алгоритмические структуры (условия и циклы). г) Осуществить вывод результатов в текстовые поля: Text3.Text = [Переменная 3]. … (Обратите внимание: переменные и текстовые поля меняется местами в записи вывода). 3). Протестировать вашу программу на работоспособность, т.е. запустить на выполнение: Run. ^ Основные типы алгоритмических структур. 1. Ветвление. А) Полная команда ветвления: … If [условие] Then [оператор 1] Else [оператор 2] End If … Б) Неполная команда ветвления: … If [условие] Then [оператор 1] End If … В) Многовариантная команда ветвления: … If [условие 1] Then [оператор 1] ElseIf [условие 2] Then [оператор 2] ElseIf [условие 3] Then [оператор 3] Else [оператор 4] End If … 2. ^ Цикл со счетчиком For Счетчик = Нач. знач. To Кон. знач. [step шаг] Тело цикла Next [Счетчик] Например, дан фрагмент цикла со счетчиком: For i=1 To 10 Print «Линия» Next i Результат: на форму выведется 10 раз подряд слово «Линия». 3. ^ Цикл с предусловием (Цикл «Пока»). Применяется в том случае, когда нужно какие-либо операции исполнить несколько раз пока условие не станет ложным. Запись на языке Visual Basic: Do While [условие] [Тело цикла] Loop 4^ . Одномерные массивы i = 0 1 2 3 4 5 7 -5 4 2А Массив А состоит из 5 элементов. Индекс элемента (i) записывается в круглых скобках после имени данного массива. Например, при i=1, А(i) = А(1) = 7 Объявление массива Dim A(9) As Byte Dim arrB(1 To 1000) As Integer. В первом случае нумерация индексов i начинается с нуля. Во втором – начинается с единицы. Например. Dim A(1 To 10) as Integer Dim i as Byte For i = 1 To 10 A(i) = i^2 Text1.Text = Text1.Text + CStr(A(i)) Next Ответ: 149162536496481100 5. Двумерные массивы. Объявление: Dim A(1 To 9, 1 To 9) As Byte Dim B (9,9) As Byte. Например. nk 1 2 3 4 5 1 2 3 4 5 6 2 3 4 5 6 7 3 4 5 6 7 8 4 5 6 7 8 9 5 6 7 8 9 0 ^ Разбор олимпиадных задач Дано натуральное число. Определить, является ли разность его максимальной и минимальной цифр четным числом. Решение на Visual Basic: Dim digA, i, f, f1, f2, s As Integer digA = Text1 'считывание числа 'Поиск минимальной цифры fmin = Mid(digA, 1, 1) 'Пусть минимальная цифра для начала равна первой цифре числа For i = 1 To Len(digA) 'Организуем цикл, который зависит от длины числа f = Mid(digA, i, 1) If f <= fmin Then fmin = f End If Next i 'Поиск максимальной цифры числа fmax = Mid(digA, 1, 1) For i = 1 To Len(digA) f = Mid(digA, i, 1) If f >= fmax Then fmax = f End If Next i s = fmax - fmin 'разность максимальной и минимальной цифр числа. Text3 = s 'вывод на экран разницы. If s = 0 Then Text2 = "это нуль" ElseIf s Mod 2 = 0 Then 'Если остаток от деления равен нулю, то число четное. Text2 = "Чет" Else Text2 = "нечет" End If Известны координаты трех точек на плоскости. Если они могут являться вершинами треугольника, то определить вид этого треугольника и по формуле Герона определить его площадь. Решение на Visual Basic: Dim x1, x2, x3, y1, y2, y3 As Double x1 = Text1 x2 = Text3 x3 = Text5 y1 = Text2 y2 = Text4 y3 = Text6 lac = Sqr((x3 - x1) ^ 2 + (y3 - y1) ^ 2) lab = Sqr((x2 - x1) ^ 2 + (y2 - y1) ^ 2) lbc = Sqr((x3 - x2) ^ 2 + (y3 - y2) ^ 2) If lac < lab + lbc And lab < lac + lbc And lbc < lac + lab Then Text7 = "Это треугольник" Else: Text7 = "Это точка или линия" End If If lab = lbc = lac Then Text8 = "Равносторонний" ElseIf lab = lac Or lab = lbc Or lbc = lac Then Text8 = "Равнобедренный" Else: Text8 = "Все стороны разные" End If If Text7 = "Это точка или линия" Then Text8 = "" End If p = (lab + lac + lbc) / 2 S = Sqr(p * (p - lab) * (p - lac) * (p - lbc)) Text9 = S Text10 = lab Text11 = lac Text12 = lbc Даны две фамилии. Определить какая из них длиннее. Ввод данных осуществляется в текстовый файл «input.txt», а вывод в файл «output.txt». Решение на Visual Basic: Open "input.txt" For Input As #1 Input #1, a, b Close #1 If Len(a) > Len(b) Then Open "Output.txt" For Output As #2 Print #2, a ElseIf Len(a) < Len(b) Then Open "Output.txt" For Output As #2 Print #2, b Else Open "Output.txt" For Output As #2 Print #2, "одинаковые:", a, b End If Close #2 В заданном массиве из N элементов есть хотя бы один нуль. Вычислить произведение элементов массива до первого нуля. Решение на Visual Basic: Dim n, arr As Double n = 1 arr = 1 Do While arr <> 0 arr = InputBox("Введите элемент массива", "Ваша цифра") If arr = 0 Then Exit Do End If Text2 = arr * n n = arr * n Loop www.ronl.ru Visual Basic - Реферат стр. 2руются излишне много.
Компиляторы
Компилятор-это транслятор текста на машинный язык, который считывает исходный текст, оценивает его в соответствии с синтаксической конструкцией языка и переводит на машинный язык. атем вывод на машинной языке (машинный код), прогоняется как независимый шаг трансляции. Другими словами, компилятор не исполняет программы, он их строит. Интерпретаторы невозможно отделить от программ, которые ими прогоняются, компиляторы делают свое дело и уходят со сцены.
Фирма Microsoft впервые взялась за Бейсик в 1975 году. Тогда она приняла участие в разработке языка Altair/Microsoft 4К Basic. Буквально через несколько месяцев была создана более мощная его реализация Altar/Microsoft 8К Basic. Накопив необходимый опыт, в 1976 году Microsoft уже без чьей-либо посторонней помощи воплотила систему Extended Basic, затем последовали Disk Basic (1977), R-MAX Basic (1978), M-BASIC, BASIC-80 (1979)... В августе 1981 года родилась MS-DOS 1.0. В эту систему фирма Microsoft интегрировала и свою первую версию языка Бейсик для IBM PC -MS-BASIC. Немного позже появилась усовершенствованная и более обкатанная реализация языка Advanced Basic, или BASICA. В 82-м Microsoft провозгласила еще более "продвинутое" новшество - GW-BASIC. Версия 2.0 этого продукта, вышедшая годом позже,была внедрена во вторую же версию MS-DOS, появившуюся одновременно с компьютерами IBM PC XT. GW-BASIC 2.0 являлся более совершенным по сравнению со своими младшими собратьями. Однако для нас такая система, как GW-BASIC, - еще мезозойская эра. Представьте себе черный текстовой экран, на котором красуется приглашение типа "Ok...". В нижней части этого экрана - справочная строчка, в которой объясняются назначения функциональных клавиш: - UST (просмотр текста программы сначала. Прокрутить его, как мы это делаем сейчас в окне VBA, было нельзя!), - RUN (выполнить), - LOAD (загрузить с диска), -SAVE (сохранить на диск)... Настоящий расцвет Бейсика начался с развитием оконного интерфейса (в среде DOS, конечно, до Windows еще пока далеко!). Где-то с середины 80-х все больше и больше программ оснащалось линейками прокрутки, окошечками, статусными строчками, флажками... В 1987 году фирма Borland International, известная реализациями языков С, C++, Pascal и, конечно же, своей системой Delphi, выпустила продукт под названием Turbo Basic 1.0. Это был шаг вперед! Отдельные окна для ввода и выполнения, окно отладки, окно справочной системы, спускающиеся меню, многочисленные опции - в общем, все, что сейчас мы называем "интегрированная среда". Прорыв заключался еще и в том, что Turbo Basic мог компилировать файлы, т. е. позволял создавать автономные файлы программ с расширением ЕХЕ. Но самым что ни на есть популярным средством разработки на Бейсике для DOS был (и остается сейчас!) MicrosoftOBOow QuickBASIC (в частности, версия 4.5, выпущенная в 1988 году), а также его более "продвинутая" разновидность QuickBASIC Extended Professional Development System (версии 7.0/7.1 1989/1990 годов). Раньше Бейсик был языком уя любителей: он позволял писать мелкие простые программки, но не более того. Microsoft же задумала сделать из Бейсика быстрое средство профессиональной разработки. И ей это удалось! Полная версия QBX PDS 7.1 занимала на диске уже около 14 Мбайт (кстати, Turbo Basic "тянул" менее чем на 1 Мбайт). В ее состав включались две интегрированные среды: собственно QBX, предназначавшаяся для набора текста программы, выполнения, отладки и т. п., и PWB (Programmers WorkBench), включавшая намного большие возможности отлаживания. Кроме того, в PDS был автономный отладчик CodeView, а также масса готовых библиотек -финансовых функций, функций матричной математики, графических шрифтов и т. д. и т. п. Среда QBX предоставляла обширные возможности настройки: не было на экране элемента, цвет которого нельзя изменить так, как хочется. В окне ввода текста работала автоматическая коррекция ввода, можно было подключить также и "горячую" проверку синтаксиса. С появлением Windows программирование под DOS начало терять свое значение. В начале 90-х для Бейсик-программистов наступил настоящий кризис: полнокровных версий языка для Windows еще не было, и власть захватили в свои руки "писатели" на Паскале и Си. И тогда Microsoft выпустила первую версию системы Visual Basic для Windows. Это нововведение произвело настоящую сенсацию: появилось cредство, позволившее разрабатывать полноценные Windows-приложения в десять-пятнадцать раз быстрее и проще, чем припомощи тех же Паскаля и Си. Разработка приложений на Visual Basic в корне отличается от написания программ при помощи любой из предыдущих реализации Бейсика. VB перевернул все с ног на голову. Здесь первым делом создается форма - окно будущего приложения. И уже после этого пишутся процедуры, обрабатывающие события, способные произойти с тем или иным свойством какого-либо объекта (элемента) формы. Во времена Windows З.х были выпущены вторая и третья версии VB, а в эпоху Windows 95 - четвертая и пятая. 32-разрядный Visual Basic 5.0, в котором реализована поддержка Active-X, Internet-технологий и прочих несусветных вещей, распространяется в составе MS Visual Studio - мощнейшего инструментального комплекса, вобравшего в себя последние реализации Microsoft C++ и J++ (вариант языка Java). Но Билл Гейтс не мог бы спать спокойно и Microsoft была бы не Microsoft, если бы не устроила очередную западню конкурентам, пытающимся продвинуть свои инструментальные средства в Windows. Сама западня заключалась в том, что Microsoft задумала сделать Visual Basic фактическим стандартом языка для управления всеми крупномасштабными Windows-приложениями! Однако реализация такой идеи оказалась не так проста. Первый вариант VBA www.studsell.com Visual Basic - Реферат стр. 31.0 появился в составе MS Office 4.0, но лишь в программах Excel 4.0 и Project 6.0. В других же приложениях - Word 6.0 и Access 2.0 - были собственные варианты Basic. Более того, VBA 1.0 довольно сильно отличался от используемой тогда универсальной системы Visual Basic 3.0. Реальное сближение между Visual Basic и VBA произошло осенью 1995 г. после выхода Visual Basic 4.0 и Office 95. B состав последнего VBA 2.0 был уже включен Access 95, однако Word 95 тогда по-прежнему имел собственный WordBasic, а каждое приложение пакета - собственную среду программирования. А в Office 97 VBA стал неотъемлемым самостоятельным компонентом, единым для всех приложений. В Office 97 единый языковый механизм VBA используют все основные приложения: Word, Excel, PowerPoint и Access. Отдельным компонентом VBA является интегрированная среда разработчика Visual Basic Editor (VBE), который фактически является специализированным вариантом VB 5.0 для работы в комплексе с приложениями. Фирмам, которые поначалу с усмешкой смотрели на все эти проекты, теперь ничего не остается делать, как принимать условия игры. Microsoft продвигает VBA в качестве стандарта отрасли для управления программируемыми приложениями, объявив о возможности его лицензирования. Новейшая версия VBA уже в скором времени будет встроена во многие "немайкрософ-товские" программы, и сегодня уже сотни программных продуктов третьих фирм имеют логотип "Featuring Microsoft Visual Basic Technology". Это заставляет задуматься над тем, что же такое BASIC - "стандартный код для начинающих" или "основной язык для основной среды"... С ЧЕГО НАЧАТЬ? Все книги по программированию (как хорошие так и не очень) начинаются с написания традиционного вывода приветствия.Мы не будем оригинальными и начнем с этого же. Проще всего создать команды Сервис->Макрос->Начать запись. Все действия пользователя до нажатия кнопки Стоп записываются в макрос и воспроизводятся при запуске этого макроса. Такой способ не позволяет организовывать циклы и выдавать сообщения пользователю, поэтому для написания полноценной программы необходимо отредактировать записанный макрос. Для этого в Word 6.0 и 7.0 необходимо выбрать команду Сервис ->Макрос-> Изменить (Сервис->Макрос->Ре-дактор VisualBasic в Word97). Основным элементом экрана теперь является окно текстового редактора, в котором вы можете вводить и редактировать программы, написанные на языке VBA. Созданная вами программа будет сохранена вместе с рабочим файлом,так что любой VBA-код, размещенный здесь, будет всегда сопровождать базовый файл. Команды, расположенные между строчками "Sub Hello" и "End Sub", представляют собой действия, выполняемые макрокомандой. Мы не будем сейчас их подробно рассматривать, а скажем лишь, что они отражают именно те действия, которые вы производили при записи макрокоманды. Важно понять, что программа работает в соответствии с инструкциями, которые выполняются одна за другой, сверху вниз. Первая инструкция выполняется в первую очередь, и в большинстве случаев работа программы приостанавливается до момента окончания выполнения действия, предписанного текущей инструкцией. Затем выполняется следующая инструкция, и так далее до конца программы, который отмечен командой "End Sub" (конец программы). VBA - это сокращение для Visual Basic for Application. Макрорекодер пишет программы вместо вас. Шаги, которые вы выполняете, |ранслируются в программный код и записываются в специальный лист. Совершенно такой же макрос можно создать, если перейти в этот лист и набрать код вручную. Мы уже говорили о том, что не все операции можно ввести с помощью макрорекодера, не говоря уж о том, что не все макросы, созданные с помощью макрорекодера, красивы и эффективны. Например, простейшая операция, которую невозможно ввести с помощью макрорекодера, - это подача звукового сигнала "Веер". Создадим для примера небольшой макрос, который совершенно невозможно было бы написать, используя макрорекодер. Sub Hellof) MsgBox Hello Word, vblnformation, Мое первое сообщение Веер End Sub Если теперь вы проиграете этот макрос, то машина выдаст вам окно с приветствием, а принажатии "ОК"раздастся звуко^ вой сигнал, который в Control Panel-Sounds обозначен как Defualt. Слово "Sub" в первой строке указывает на то, что эта процедура - тип программы на языке VBA. Hello - это имя макроса. Круглые скобки необходимы каждой процедуре. Мы еще будем говорить подробно о функции скобок. Наиболее значимыми частями этого макроса являются вторая и третья строчки. Вторая строчка вызывает окно с надписью "Hello Word ". Первый параметр функции 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 (поход в парк). Если условие не соблюдено, происходит альтернат www.studsell.com |
|
||||||||||||||||||||||||||||||||||||
|
|