VBCoding Статьи Visual Basic 6 Файловая система Цикл For …Next или как работать с большим числом файлов

Visual Basic 6
Цикл For …Next или как работать с большим числом файлов

Данная статья рассчитана на начинающих программистов, постичь не постижимое, понять не понятное, еще раз убеждаюсь, что практика творит чудеса – так, что не бойтесь пробовать и спрашивать.

Так, как быть – нужно создать 200 «doc» или «txt» файлов, у всех цели могут быть разные, так что обсуждать это не вижу смысл. Расширение файла не имеет роли, так вы сами сможете изменить все под себя.

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

В Visual Basic’е есть несколько видов циклов – мы остановимся на одном, For …Next.

Синтаксис цикла:

For счетчик = начальное_значение To конечное_значение Step шаг

Выполняемые операции

Next счетчик

Например:

Option Explicit

Private Sub Command1_Click()

Dim i As Integer

'Объявляем переменную, для хранения текущего значения счетчика

For i = 1 To 10 Step 2

'По умолчанию значение Step = 1 и может не указываться

Print i

'Выведем значения счетчика на форму

'Получим ряд 1 3 5 7 9

Next i

End Sub

 

'Или, например, если опустить шаг

Private Sub Command2_Click()

Dim i As Integer

For i = 1 To 10

Print i

'Получим ряд 12345678910

'Т.е. все значения от 1 до 10

Next i

End Sub
 

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

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

Создаем новый проект, с одной формой, нам понадобятся 1 TextBox и 2 CommandButton. Двойным щелчком по свойству Caption формы выделим текст, и заменим на CreateFiles, так будет называться наша программа.

Переименуем текстовое поле в txtCount, а кнопки cmdStart и cmdExit, наверное, тут все понятно.

txtCount – сюда будем вводить нужное нам число, т.е. количество файлов.

cmdStart – кнопка, запускающая проект.

cmdExit – кнопка, для выхода из программы.

Вот собственно код нашей программы:

Option Explicit
'Не буду разжевывать, почему этот оператор необходим, тем более для новичков
'Скажу коротко, после его использования необходимо явно объявлять все переменные
'Т.е. если захотите использовать не объявленную переменную, то бейсик начнет ругаться
Dim intN As Integer
'Объявляем переменную для хранения числа файлов
Dim intI As Integer
'Объявляем счетчик
Dim intNumber As Integer
'Объявляем переменную для хранения номера файла
 
Private Sub cmdStart_Click()
intN = Val(txtCount)
'Присваиваем переменной значение, введенное в текстовое поле
'Функция Val возвращает числовое представление строки из текстового поля
'Т.е. если в текстовое поле введено не числовое значение, то
'функция возвратит 0, а, следовательно, файлов создано не будет
Debug.Print intN
'Для проверки - действительно ли функция возвратит 0
'Используем такой код и запустим проект
'После нажатия на кнопку старт
'в окне Immediate внизу экрана появится значение переменной intN
'Используем Debug - только для проверки и далее просто удаляем эту строку
For intI = 1 To intN
'Цикл от 1 до значения_переменной intN
'Цикл будет повторяться в зависимости от того, какое число введено в текстовое поле
intNumber = FreeFile
'Чтобы мы могли работать с файлами нам необходимо знать следующий
'свободный номер файла, функция FreeFile возвращает этот номер
'Он необходим для использования в операторе Open
Open App.Path & "\" & intI & ".doc" For Output As intNumber
'App.Path - возвращает путь к папке, где был запущен файл, он необходим
'для того чтобы файлы создавались в папке с программой
'intI & ".doc" - формируется имя файлов из переменной счетчика и расширения для файлов
'Почему из переменной счетчика, для того, чтобы имена файлов шли по порядку, с 1 до максимального начения
'С помощью Output можно открыть файл для сохранения данных, но так как его нет,
'он создается. А если файл уже будет в папке - он будет перезаписан
'Так что это дело остается за вами, проверок мы делать не будем
'Следите, чтобы не испортить нужный вам файл
Close intNumber
'Закрываем файл с номером, который хранится в intNumber
Next intI
'После того, как был создан файл, цикл повторяется, пока не будет достигнуто конечное значение еременной intI
End Sub
 
Private Sub cmdExit_Click()
Unload Me
'Выходим из программы
'Так же можно использовать Unload Form1
'или просто End
End Sub
 
 
Private Sub Form_Load()
txtCount = ""
'При загрузке формы очистим текстовое поле
txtCount.MaxLength = 3
'Свойство MaxLength ограничивает ввод в поле 3 символами
End Sub
 
Ну, вроде бы и все.
Компилируем проект в «exe» файл и запускаем!
Ура!
Программа работает, вводим в текстовое поле 5 и нажимаем Старт.
В папке с программой появились 5 «doc» файлов.
Удачи в труде.

Автор: BiT( Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript )
Источник: http://bit.pirit.info/forum/viewtopic.php?t=214

 

Добавить комментарий


Защитный код
Обновить

 
VBCoding Статьи Visual Basic 6 Файловая система Цикл For …Next или как работать с большим числом файлов  
Powered by Exponenta -