Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Visual Basic в примерах.docx
Скачиваний:
12
Добавлен:
18.08.2019
Размер:
1.1 Mб
Скачать

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

StrComp

Может использоваться вместо операторов отношений (таких как > или <) для сравнивания строк. В

отличие от них данная функция возвращает значение, поэтому применяется вместе с оператором присваивания.

Например, если Х= StrComp(A$, B$), то значение

Х = -1, если А$<В$;

0, если А$ = В$;

1, если A$ > B$.

Если хотя бы одна из строк пуста, Х принимает значение NULL (зарезервированная константа).

Добавляя третий параметр к функции StrComp, можно управлять чувствительностью к регистру символов при сравнении строк.

Если использовать

StrComp (А$, В$, 1)

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

StrComp(A$, В$, 0) - наоборот.

Trim (TrimS), Ltrim (LtrimS), Rtrim (RtrimS)

Хотя в предыдущих разделах показывалось, как добавлять пробелы к строке, чаще необходимо убрать лишние пробелы справа и слева от текста строки. Функция Trim уничтожает пробелы в начале и в конце выбранной строки.

Например:

А$ = " В этой строке есть пробелы по краям. "

Trim(A$) = "В этой строке нет пробелов по краям."

Похожим образом LTrim уничтожает пробелы в левой части строки, a RTrim - в правой.

Работа с файлами Чтение текстового файла (1 способ)

Прежде чем взять строку из текстового файла, ее нужно туда записать. Для этого откройте приложение «Блокнот» и занесите туда строку «Строка, которая находится в файле» (без кавычек).

Оператор Input выбирает из файла строку символов, включая пробел, до тех пор, пока не встретится запятая или символ переноса строки (Enter).

Задание:

  1. Откройте новый проект и задайте форму:

  1. Напишите код:

Private Sub Command1_Click()

Dim str As String

Dim str2 As String

Open "C:\Мои документы\Text.txt" For Input As #1

Input #1, str, str2

Close #1

Text1.Text = str & ", " & str2

End Sub

  1. Запустите программу

  2. Измените файл «Text.txt» - строку заменить на «Строка <Enter> которая находится в файле», то есть, написать эту строку в две строки и убрать запятую.

  3. Запустите программу еще раз.

  4. Уберите из программы переменную str2 и снова запустите программу.

  5. Проанализируйте результат.

Запись текста в текстовый файл: Форма

Свойства для текстового поля: MultiLine = True, ScrollBars = 2 – Vertical

(Возможность писать в несколько строк и наличие вертикальной полосы прокрутки)

Код

Private Sub Command1_Click()

Open "Output.txt" For Output As #1

Print #1, Text1.Text

Close #1

End Sub

Если для чтения текстового файла необходимо существование этого файла, то для записи этого не нужно. Если файла нет, то он автоматически создается. Если файл с таким именем был, то при таком открытии файла вся информация в нем стирается. Чтобы иметь возможность дописывать к файлу строки – то открывать его надо как: OPEN <FileName> FOR APPEND AS #<номер>

Чтение текстового файла (2 способ)

Изменить предыдущую форму, как показано:

Код

Private Sub Command1_Click()

Open "File.txt" For Output As #1

Print #1, Text1.Text

Close #1

End Sub

Private Sub Command2_Click()

Dim strTxt, strBuff As String

Open "File.txt" For Input As #2

Do While Not EOF(2)

Line Input #2, strBuff

strTxt = strTxt & strBuff & vbCrLf

Loop

Close #2

Text2.Text = strTxt

End Sub

Пояснения к программе:

Запись:

Открыть файл для вывода как №1

Записать в №1 все, что находится в текстовом поле.

Закрыть №1

Чтение:

В переменную strTxt будет записан весь текст из файла,strBuff – буферная переменная, в которой будет храниться текущая считанная строка (файл считывается по строкам), vbCrLf – символ перевода строки.

Открыть файл для ввода как №2

ВЫПОЛНЯТЬ до тех пор, ПОКА НЕ встретиться конец файла №2(End Of File)

Ввести строку из №2 в буферную переменную

Добавить к strTxt буферную строку и символ перевода строки (для разделения строк)

Закрыть цикл

Закрыть №2

Во второе текстовое поле ввести значение strTxt.

Отличие Input #N от Line Input #N

Input считывает до запятой или до конца строки (до символа перевода строки vbCrLf), Line Input считывает строку до конца вместе со всеми знаками препинания.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]