ОСОБЕННОСТИ ИСПОЛЬЗОВАНИЯ ДИАЛОГОВ В СРЕДЕ GAMBAS ПРИ РЕШЕНИИ ЗАДАЧ ПО ТЕМЕ «ТЕКСТОВЫЕ ФАЙЛЫ»
Раздел: ИТ в образовании
Журнал: Педагогические и компьютерные технологии в образовании
15 апреля 2013 г.
Авторы: Буяковская Ирина Александровна
И. А. Буяковская
ОСОБЕННОСТИ ИСПОЛЬЗОВАНИЯ ДИАЛОГОВ В СРЕДЕ 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