Мегаобучалка Главная | О нас | Обратная связь


Loop While условие.                                      ...блок кода



2019-11-13 205 Обсуждений (0)
Loop While условие.                                      ...блок кода 0.00 из 5.00 0 оценок




’                                                                       Loop

 

                                        Цикл While и Until.

Зарезервированные слова While и Until определяют логику условия, причем While указывает, что цикл будет выполняться до тех пор, пока условие принимает значение True, а Until указывает, что цикл будет выполняться до тех пор, пока условие не станет True. Отношение между While и Until можно выразить следующим образом:

                      While условие = Until Not условие

Оператор Exit Do предназначен для преждевременного прекращения цикла и обычно применяется в логической структуре (вроде оператора If), которая проверяет альтернативное условие прерывания цикла, например ошибку.

Запись условия в начале или в конце цикла определяет, где это условие будет определяться. Когда условие определяется в начале цикла, цикл выполняется (или не выполняется), если условие исходно удовлетворено. Такой вид цикла удобно применять в тех случаях, когда  цикл не должен выполняться до тех пор, пока условие не будет выполнено.

Например, при чтении дискового файла можно использовать функцию EOF() для проверки очередной части файла в поисках маркера его конца. Если вы попытаетесь прочесть маркер конца файла, ваша программа остановится с ошибкой; таким образом, перед тем, как прочесть из файла какие-либо данные, необходимо проверять очередную часть файла в поисках маркера конца файла. Чтобы сделать это, можно использовать нечто подобное

         Open “Myfile.txt” For Input As #1 ’ Открытие файла .

           Do Until EOF(1) ’ Проверка на конец файла.

            Input #1, A$ ’ Если нет, то чтение данных.

              ’ Код преобразования величины A$

                                    Loop

           Close #1 ’ Закрытие файла по концу работы.

В этом фрагменте кода функция EOF() проверяет маркер конца файла. Если вы еще не дошли до конца файла, функция EOF() возвратит False и цикл выполниться, прочитав из файла строку и обработав ее. Если функция EOF() обнаружит маркер конца файла, то она возвратит True и цикл прервется.

Запись условия в конце цикла означает, что цикл выполнится хотя бы один раз. Этот вид цикла применяеися в тех случаях, когда когда цикл должен быть выполнен хотя бы один раз, чтобы сформировать условие, которое затем будет проверятьсяю. Он используется в основном для поиска, например, конкретного значения в массиве.

                           Встроенные диалоговые окона.

 

Visual Basic представляет возможность применять диалоговые окна для получения данных от пользователя и для передачи ему информации. Кроме собственных встроенных диалоговых окон, Visual Basic может использовать все диалоговые окна Excel или Project.

Выделяют следующие виды окон:

· Встроенные диалоговые окна сообщений;

· Встроенные диалоговые окна ввода данных;

· Диалоговые окна Excel.

Функция MsgBox() обеспечивает создание диалогового окна, подобного простому окну сообщения. Если окно сообщения всего лишь отображает сообщение для пользователя. то диалоговое окно требует от пользователя некоторых действий по вводу данных. Оно отображает строку текста, а затем ожидает, пока пользователь нажмет командную кнопку (их возможное число не ограничено).

Для создания простого окна сообщения применяется зарезервированное слово MsgBox, за ним следует текст, который будет отображен в виде сообщения. При создании простого окна сообщения используется функция в форме оператора,так как любое возвращенное значение будет проигнорировано и нет необходимости в передаче аргументов.

Если требуется отобразить числа. используются функции Str() или Format() позволяющие преобразовать число в символьное представление.

Чтобы код был более очевидным, следует использовать поименованные константы, а не числа.

Можно использовать, например, любой из операторов MsgBox():

             MsgBox prompt:= “Доброе утро, страна?”, _

             buttons:=theCode

           MsgBox “Доброе утро, страна?”, theCode

                                        Применение функции .

 

Функция InputBox создает диалоговое окно другого типа. Базовое окно ввода содержит окно редактирования, командную кнопку ОК и Cancel. Любой текст, записываемый в текстовое окно диалогового окна, будет возвращен функцией после того, как пользователь нажмет кнопку ОК, иначе будет возвращена пустая строка.

Первый аргумент функции InputBox() – строка текста, применяемая в качестве запроса на ввод в диалоговом окне; второй – заголовок; третий – default – содержит любой текст по умолчанию, который Вы можете отобразить в окне редактирования при открытии диалогового окна. Функция не использует аргумент buttons. Все аргументы должны быть строками текста, и значение, возвращаемое функцией, также является строкой текста. Для того, чтобы использовать возвращенное функцией значение в качестве числа, нужно преобразовать его из символьного представления в двоичное с помощью функции Val().

              Применение диалоговых окон других типов.

 

Существует еще два типа встроенных диалоговых окон: GetOpenFilename и GetSaveAsFilename. Эти окна не открывают файл и не сохраняют его, а только позволяют указать его имя и путь. Команды, создающие такие диалоговые окна, являются не операторами Visual Basic, а методами Application.

Операторы, создающие эти два типа диалоговых окон, имеют следующий синтаксис:

theFilename=Application.GetOpenFilename(файловый_фильтр,индекс_фильтра, заголовок)

theFilename=Application.GetSaveAsFilename(начальное_имя_файла,

_файловый фильтр, индекс_фильтра, заголовок)

Оба метода применяются к объекту Application и возвращают имя файла и путь, выбранные пользователем. Аргумент файловый_фильтр определяет, какие файловые фильтры перечисляются в выпадающем списке File Type диалогового окна. Всписке файлов диалогового окна появляются только те файлы, которые совпали с выбранным файловым фильтром. Файловый фильтр состоит из двух частей – текста и фильтра. Текст отображается в выпадающем списке File Type; а фильтр используется для выбора файлов из списка.

Аргумент индекс_фильтра является целым числом, задающим в выпадающем списке File Type файловый фильтр поумолчанию. Аргумент заголовок аналогичен используемому для функции InputBox(). Аргумент начальное_имя_файла определяет начальное, заданное по умолчанию, имя файла, которое помещают в окно редактирования текста.

 

                                      Работа с файлами.

В Visual Basic существуют два основных типа дисковых файлов – последовательного и произвольного доступа.

Способы, которыми записываются данные в файлы последовательного и произвольного доступа, значительно отличаются друг от друга.

Файлы последовательного доступа читаются и пишутся последовательно, от начала файла до его конца. Текстовые файлы, такие как README, встречающиеся в большинстве прикладных программ, являются файлами последовательного доступа. Для того, чтобы получить доступ к определенной части информации в последовательном файле, необходимо начать от начала файла и читать последовательно, запись за записью, до тех пор, пока не будет найдена требуемая информация.

Файлы произвольного доступа основаны на записях постоянной длины, что позволяет читать и писать информацию произвольно, в любом порядке. Последовательный файл можно либо читать, либо писать, а файл произвольного доступа – читать и писать одновременно.

Ограничением файлов произвольного доступа является фиксированная длина записи. Однако это ограничение позволяет Visual Basic быстро обнаружить запись на диске. Например, для чтения восьмой записи файла Visual Basic пропускает семь полных записей, а затем читает следующую. Если бы записи не имели фиксированной длины, то пришлось бы поддерживать отдельный индекс, определяющий, где кончается одна запись и начинается другая.

Последовательный файл является наиболее общим типом файла. Любой файл, который читается в память целиком, должен быть последовательным. Большинство неформатированных текстовых файлов являются последовательными – так же. Как и большинство файлов программ. В Visual Basic текстовые файлы также представляют собой файлы последовательного доступа. Данные в этих файлах записаны также в форме строк символов ANSI.

Прежде чем Visual Basic сможет что-либо сделать с дисковым файлом, необходимо открыть этот файл и подключить к нему файловое число.

Файловые числа – это небольшие целые числа, которые связываются с файлом при его открытии. Команды чтения и записи используют файловые числа для указания файла, в который надо писать или из которого надо читать.

Для открытия последовательного файла используется оператор Open, имеющий следующий синтаксис:

                Open имя_файла For режим As файловое_число

Аргумент имя_файлаявляется строкой, содержащей имя и путь файла, который необходимо открыть. Если файл находиться в текущей директории, то достаточно указать только его имя. Если файл находиться не в текущей директории, то для него необходимо указывать полный путь.

Аргумент режимопределяет тип файла, который необходимо открыть, и способ открытия файла. Режим должен принимать одно из литеральных значений: Input, Output, Append (для последовательных файлов) или Random (для файлов произвольного доступа). Кроме того, в особых ситуациях может применяться режим двоичного доступа. Режим Input  открывает файл для чтения, а режим Output – для записи. Оба режима открывают файл последовательного доступа с его начала. Режим Appendоткрывает файл с конца – с тем, чтобы при записи новых данных не пришлось переписывать все записи от начала файла. Попытки открыть несуществующий файл с режимом Input приведут к ошибке; если открыть несуществующий файл с режимами Output и Append, то файл будет создан.

Аргумент файловое_числоопределяет число, которое присваивается файлу. Обычно первому файлу присваивают 1, второму – 2 и т.д. если файл закрывается, то освободившееся файловое число может быть использовано повторно; нельзя открыть файл, используя файловое число, которое уже присвоено открытому файлу.

Если неизвестно, какое файловое число является допустимым в данный момент, то для присвоения некоторой переменной допустимого файлового числа можно воспользоваться функцией FreeFile. Затем эта переменная используется в качестве оператора Open, а также операторов чтения и записи файла. Так, следующие строки кода открывают последовательный файл для чтения:

                            FileNum1 = FreeFile

              Open “myfile.txt” For Input As FileNum1

В данном примере функция FreeFile использована для выбора следующего допустимого файлового числа, а затем файл с именем MYFILE.TXT открывается с начала для чтения.

После завершения работы с файлом, его необходимо закрыть с помощью оператора Close. В качестве аргумента оператора Closeиспользуется файловое число, указывающее на то, какой файл нужно закрыть.

Ниже приведен синтаксис оператора Close:

            Close #файловое_число

Если опустить аргумент файловое_число, то Visual Basic закроет все открытые файлы.

                                              Печать в файл.

 

Если файл открыт, то для записи в него данных можно использовать оператор Print. Данные, записываемые оператором Print, представляют собой текст, подобный тому, который выдается на принтер.

Если печатается некоторый текст, то этот текст записывается в файл. Если печатается число, то это число помещается в файл. Если печатается переменная, то в файл помещается значение этой переменной.

Если поместить в строку для печати несколько элементов, разделенных запятыми, то они будут напечатаны в блоках, заполненных пробелами и разделенных фиксированными табулостопами через каждые 14 символов:

Print 1, 2, 3, 4

1       2        3        4

Print “Один”, “Два”, “Три”, “Четыре”



2019-11-13 205 Обсуждений (0)
Loop While условие.                                      ...блок кода 0.00 из 5.00 0 оценок









Обсуждение в статье: Loop While условие.                                      ...блок кода

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Как построить свою речь (словесное оформление): При подготовке публичного выступления перед оратором возникает вопрос, как лучше словесно оформить свою...
Почему двоичная система счисления так распространена?: Каждая цифра должна быть как-то представлена на физическом носителе...
Генезис конфликтологии как науки в древней Греции: Для уяснения предыстории конфликтологии существенное значение имеет обращение к античной...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (205)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.007 сек.)