Электронный научный журнал

Информационно-коммуникационные технологии
в педагогическом образовании

12+

Особенности использования диалогов в среде Gambas при решении задач по теме «Текстовые файлы».

Автор: И. А. Буяковская
Раздел: ИТ в образовании

Задачи по теме «Текстовые файлы», как правило, предполагают обработку содержимого исходного файла, который необходимо предварительно подготовить в текстовом редакторе (Kwrite или Leafpad). Одна из наиболее частых ошибок, возникающих на первоначальном этапе связана с правильным указанием пути доступа к файлу. Если при связывании файловой переменной, объявленной в процедуре, мы указываем только имя файла, например: F = OPEN "file.txt" FOR READ, то его необходимо разместить в папке проекта, в противном случае обязательно прописываем полное имя файла (F = OPEN "/home/student/file.txt" FOR READ).

В данном случае, для удобства пользователя можно рассмотреть использование компонента FileChooser - для открытия файла, расположенного на закладке Dialog палитры компонентов.

Установите этот компонент на форму и он будет отображаться при запуске приложения (см. рисунок 1). FileChooser — предназначен: для доступа к файлам на дисках, для открытия.

Рис.1. Пример интерфейса приложения, содержащая FileChooser.

Приведем пример задачи на тему «Текстовые файлы» с использованием компонента FileChooser.

Задача. Дан текстовый файл. Определить количество повторений и позиции символа, заданного пользователем с клавиатуры.

На форме разместим следующие компоненты: Label1 — содержит условие задачи, Label2 — комментарий, Label3 — добавим для отображения содержимого текстового файла, Label4 — необходим для вывода результата расчетов, далее разместим TextBox1, где будем задавать искомый символ, а также FileChooser и две кнопки Button1(решение) и Button2 (выход).

Рассмотрим листинг процедуры для кнопки «Решение».

PUBLIC SUB Button1_Click()

DIM F AS File

'Объявим файловую переменную

DIM k, i, j AS Integer

'k-количество повторений, i-номер позиции в строке, j-номер строки

DIM s, sl, name, dir1 AS String

sl = TextBox1.Text

'В переменную sl запишем искомый символ

IF Len(sl) = 1 THEN

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

Label3.Caption = ""

j = 0

k = 0

FileChooser1.Dir = "/home/"

'Зададим текущую директорию

name = FileChooser1.SelectedPath

dir1 = FileChooser1.Dir

'Запомним в строковую переменную имя файла, которое было выбрано пользователем

IF Exist(dir1) THEN

F = OPEN name FOR INPUT

'Проверим существует ли указанный файл и свяжем его с файловой переменной

WHILE NOT Eof(F)

LINE INPUT #F, s

Label3.Text = Label3.Text & s & Chr(10)

j = j + 1

FOR i = 1 TO Len(s)

IF sl = Mid(s, i, 1) THEN

Label4.Caption = Label4.Caption & j & "," & i & ";"

k = k + 1

ENDIF

NEXT

WEND

ENDIF

Label4.Caption = Label4.Caption & Chr(10) &" Кол-во повторений = " & k

ENDIF

END

Оставить комментарий







Авторизация
E-mail

Пароль  


Регистрация