встроен функции

25

Upload: lidikashka

Post on 22-Mar-2017

15 views

Category:

Presentations & Public Speaking


2 download

TRANSCRIPT

Page 1: встроен функции
Page 2: встроен функции

Преподаватель Косарь О.В.Преподаватель Косарь О.В.

Тема:Тема:

ВыходВыход

Page 3: встроен функции

Функции работыФункции работы со строками со строками

ВыходВыход

Page 4: встроен функции

ФУНКЦИИ РАБОТЫ СО СТРОКАМИ

Строка в VBA может иметь переменную или постоянную длину.

Строка переменной длины занимает объем оперативной памяти, который может меняться в процессе выполнения программы.

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

Например: Dim strA As String Dim strB As String * 15 strA = "Программирование" strB = "Программирование"

ВыходВыход

Page 5: встроен функции

ПриПри работе со строками используются работе со строками используются три функции удаления пробеловтри функции удаления пробелов::

Например: Dim strA As String Dim strB As String strA = " Строковая переменная " strB = LTrim(strA) strB = Trim(strA)

Функция Описание

LTrim Удаляет все пробелы в начале строки (слева – left)

RTrim Удаляет все пробелы в конце строки (справа – right)

Trim Удаляет все пробелы в начале и конце строки

ВыходВыход

Page 6: встроен функции

ФункцииФункции преобразованияпреобразования

Например: Dim strA As String Dim strB As String strA = "Строковая переменная" strB = Replace(strA, "переменная", "константа")

Функция Описание

CStr или Str Преобразует число в строку

ValПреобразует строку в число

UCase Преобразует строку к верхнему регистру

LCase Преобразует строку к нижнему регистру

Replace Заменяет часть строки или определенные символы

ВыходВыход

Page 7: встроен функции

ФункцииФункции выделения подстрокивыделения подстрокиФункция Описание

Left (строка, количество)Возвращает начало строки с указанным количеством символов

Right (строка, количество)

Возвращает подстроку с указанным количеством символов с конца строки

Mid (строка, номер[, количество])

Возвращает подстроку, содержащую указанное количество символов, начиная с указанного номера. Если количество не указано – возвращает символы до конца строки

ВыходВыход

Dim strA As StringDim strA As StringDim strB As StringDim strB As StringstrA = "Моя строковая переменная"strA = "Моя строковая переменная"strB = Left (strA, 3)strB = Left (strA, 3)strB = Right (strA, 10)strB = Right (strA, 10)strB = Mid (strA, 5, 9)strB = Mid (strA, 5, 9)

Page 8: встроен функции

ФУНКЦИИФУНКЦИИ РАБОТЫРАБОТЫ С ФАЙЛАМИ С ФАЙЛАМИ

ВыходВыход

Page 9: встроен функции

Файл последовательногоФайл последовательногодоступадоступа

представляет собой текстовый файл, состоящий

из записей переменной

длины, конец которой

отмечается символом возврата

каретки/перевода строки CRLF

Файл произвольногоФайл произвольногодоступадоступа Бинарный файлБинарный файл

сохраняет данные как ряд

записей фиксированного

размера,разрешается

непосредственный

доступ к каждой записи по ее

номеру

данные хранятся как неформатиро

-ванная последовате

ль-ность байтов

ВыходВыход

Page 10: встроен функции

Режимы доступа к файлу Аргумент

mode Режим доступа к файлу

APPEND Последовательный доступ к файлу. Если filename уже существует, то новые данные присоединяются в конце этого файла. Если filename не существует, файл создается

BINARY Бинарный доступ к файлу, для чтения и записи данных. Если filename не существует, файл создается

INPUTПоследовательный доступ к файлу, только для чтения данных. Если filename не существует, оператор выдает ошибку

OUTPUT Последовательный доступ к файлу, только для записи данных. Если filename существует, файл удаляется и создается новый файл. Если filename не существует, файл создается

RANDOMПроизвольный доступ к файлу, для чтения и записи данных. Если filename не существует, файл создается. Этот режим файлового доступа используется по умолчанию, если аргумент mode не задан.

ВыходВыход

Page 11: встроен функции

Открытие Открытие файловфайлов

Open filename For mode [Access access] Open filename For mode [Access access] [lock] As [lock] As #filenum [LEN=reclen]#filenum [LEN=reclen]

название файла (записывается полный путь)

режим доступа к файлу

операции, разрешенные с открытым файлом

доступ к файлу других процессов

дескриптор файла длина записи для файлов с произвольным

доступом и размербуфера для файлов с

последовательным доступом

ВыходВыход

Page 12: встроен функции

ОПЕРАЦИИ, РАЗРЕШЕННЫЕ С ОТКРЫТЫМ ФАЙЛОМ

Файл открывается для чтения и для записи. Этот режим распространяется только на файлы и последовательные файлы, открытые для режима APPEND.

READREAD WRITEWRITE

Файл открывается только для записи

WRITEWRITE

Файл открывается только для чтения

READREAD

ОписаниеЗначение аргумента

access

ВыходВыход

Page 13: встроен функции

ФУНКЦИИ РАБОТЫ С ТЕКСТОВЫМИ ФАЙЛАМИ

Для начала работы с текстовым файлом используется оператор открытия файла:

Open Open имя имя For For назначение назначение AsAs номер номер

•имя – полное имя файла•номер – номер файла•назначение – это ключевое слово

Input (считывание информации), Output (запись) или Append (добавление информации)

ВыходВыход

Page 14: встроен функции

В качестве номера файла номер рекомендуется использовать переменную типа Integer, значение которой задается с помощью оператора присваивания номер = номер = FreeFileFreeFileЭтот опреатор должен находиться перед оператором Open; FreeFile – функция, возвращающая в программу незанятый номер файла.

ВыходВыход

Page 15: встроен функции

По окончании работы с файлом его следует закрыть с помощью оператора Close.

Синтаксис:

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

Синтаксис:

PrintPrint ##номерномер, , строкастрока

ВыходВыход

Page 16: встроен функции

Существует два способа извлечения информации из текстового файла:

1. с помощью оператора Line InputСинтаксис: LineLine Input #Input #номер, переменнаяномер, переменнаяЭтот оператор производит считывание из файла очередной строки, которая присваивается переменной строкового типа переменная

2. с помощью функции Input (Input (количество, номерколичество, номер))Эта функция возвращает в программу строку, содержащую указанное количество символов

ВыходВыход

Page 17: встроен функции

Пример использования Пример использования функций работы с файламифункций работы с файлами

ВыходВыход

Page 18: встроен функции

Sub Создание() Dim FName1 As String Dim FName2 As String Dim FNum1 As Integer Dim FNum2 As Integer Dim n1 As Long Dim n2 As Long Dim strA As String 'создание каталога texts: MkDir ("d:\texts") 'задаем имена файлов: FName1 = "d:\texts\a.txt" FName2 = "d:\texts\b.txt" ВыходВыход

Page 19: встроен функции

'Создание файла a.txt:FNum1 = FreeFileOpen FName1 For Output As FNum1strA = "Создан текстовый файл,"Print #FNum1, strAPrint #FNum1, "который состоит из нескольких _ строк."

'находим количество символов в файле a.txt:

n1 = LOF(FNum1)Close FNum1MsgBox "В файле a.txt " & Str(n1) & “ символов."

ВыходВыход

Page 20: встроен функции

'Копирование текста из файла a.txt в b.txt:

FNum1 = FreeFileOpen FName1 For Input As FNum1FNum2 = FreeFileOpen FName2 For Output As FNum2'в цикле считываем текст:Do Until EOF(FNum1)Line Input #FNum1, strA

Print #FNum2, strALoopClose FNum1

ВыходВыход

Page 21: встроен функции

'Добавление новой строки в файл b.txt:

strA = "Добавлена новая строка."Print #FNum2, strAn2 = LOF(FNum2)Close FNum2FNum2 = FreeFileOpen FName2 For Input As FNum2'считывание символа:strA = Input(1, FNum2)Close FNum2MsgBox "В файле b.txt" & Str(n2) & "символов, " _ & "причем первый символ - " & strA

End SubВыходВыход

Page 22: встроен функции

Результат работы программы:

ВыходВыход

Page 23: встроен функции

Может потребоваться уничтожение файлов a.txt и b.txt и папки texts по окончании выполнения программы. Для этого перед строкой End Sub следует добавить операторы уничтожения файлов:

Kill (FName1) Kill (FName2) RmDir ("d:\texts")

ВыходВыход

Page 24: встроен функции

Пример программы добавления строки в файл b.txt и запуска редактора Блокнот (Notepad)

Sub Добавление() Dim FNum As Integer Dim n As Long Dim RetVal ‘для функции Shell FNum = FreeFile

ВыходВыход

Page 25: встроен функции

'Открытие файла b.txt и ввод новой строкиOpen "d:\texts\b.txt" For Append As FNumPrint #FNum, "Добавлена вторая новая

строка."'находим количество символов в файле b.txt:n = LOF(FNum)Close FNumMsgBox "В файле b.txt " & Str(n) & “

символов."'Запуск редактора БлокнотRetVal = Shell (“c:\Windows\notepad.exe”,

1)End Sub

ВыходВыход