Пятница, 03.05.2024, 14:11
Сайт Курсантов и Студентов
Приветствую Вас Гость | RSS
Главная Каталог файлов Регистрация Вход
Друзья Сайта

Меню сайта

Категории раздела
Все для информатики [17]
Программирование [5]

Мини-чат

Наш опрос
А вы даёте взятки преподавателям?
Всего ответов: 427

Статистика
Рейтинг@Mail.ru
Онлайн всего: 1
Гостей: 1
Пользователей: 0

Форма входа

Главная » Файлы » Информатика/Программирование » Все для информатики

Практическое задание по Visual basic. Создание приложения позволяющее заносить данные о сотрудниках в текстовый файл
[ · Скачать удаленно (87.86 Kb) ] 06.12.2009, 14:35


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


Создайте форму по приведенному образцу (см. Рис. 27). Текстовым полям в соответствии с надписями присвойте имена: Fam, Im, Otch, Vozrast, Otdel, Dolgn. Имена списка и кнопок оставьте без изменения. Для текстовых окон удалите надписи для свойства Text. Для командной кнопки «Добавить» свойству Default присвойте значение True (это позволит добавлять данные нажатием кнопки Enter). Добавьте вторую форму (Project®AddForm).

Для заполнения файла (или добавления записей) будем вносить данные о сотрудниках в текстовые окна с соответствующими надписями. Добавление записи в файл будет происходить при нажатии на кнопку «Добавить».

При нажатии на кнопку «Отбор» будет осуществляться переход ко второй форме, с помощью которой мы будем проводить отбор сотрудников по следующим параметрам: человек должен работать в указанном отделе и его возраст должен соответствовать указанному диапазону.

В этой процедуре мы в случае, если файл Textdoc.txt уже существует помещаем все данные в список, в противном случае мы создаем файл Textdoc.txt на диске C:\ используя режим Append.

Private Sub Form_Load()

Open "C:\Textdoc.txt" For Append As #1 – так как возможны два случая (файл уже существует, файл нужно создать) мы открываем файл в режиме Append (добавление);

Close #1 – закрываем "созданный” файл;

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

Open "C:\Textdoc.txt" For Input As #1 – открываем файл для чтения;

Do Until EOF(1) = True – функция EOF определяет конец файла;

Input #1, Famil, Imya, Otchest, Vozr, Otd, Dolg - считываем данные и помещаем их в соответствующие переменные;

List1.AddItem Famil + Chr(9) + Imya + Chr(9) + Otchest + Chr(9) + Vozr + Chr(9) + Otd + Chr(9) + Dolg

Loop

Close #1 – закрываем файл;

End Sub

С помощью этой процедуры мы можем добавлять данные в файл, используя форму (текстовые окна).

Private Sub Command1_Click() – процедура выполняется при нажатии на кнопку «Добавить»;

Open "C:\Textdoc.txt" For Append As #1 – открываем файл для обавления (режим Append);

Write #1, Fam.Text, Im.Text, Otch.Text, Vozrast.Text, Otdel.Text, Dolgn.Text – с помощью оператора Write записываем в файл данные находящиеся в текстовых окнах;

Close #1 – закрываем файл;

List1.AddItem Fam.Text + Chr(9) + Im.Text + Chr(9) + Otch.Text + Chr(9) + Vozrast.Text + Chr(9) + Otdel.Text + Chr(9) + Dolgn.Text – в список List1 также вносим данные из текстовых окон;

Fam.Text = "" – очищаем текстовые окна;

Im.Text = ""

Otch.Text = ""

Vozrast.Text = ""

Otdel.Text = ""

Dolgn.Text = ""

End Sub

При нажатии на кнопку «Отбор» переходим ко второй форме.

Private Sub Command2_Click()

Form2.Show

End Sub

В этой части программы мы будем выбирать записи из файла удовлетворяющие заданным условиям. Из списка мы будем выбирать название отдела, а в текстовые окна вводить ограничения на возраст сотрудника. В список мы будем вносить фамилии сотрудников, чьи данные соответствуют требованиям. Список отделов будем формировать автоматически из файла, исключая повторы.

Создайте форму по приведенному ниже образцу (см. Рис. 28). Для текстовых окон свойству Name присвойте значения Voz_low для нижней границы возраста и Voz_max для верхней границы.



В секции General (Declaration) (для всего модуля) объявляем динамические массивы, так как мы не знаем количества записей в файле.

Dim Famil() As String, Imya() As String, Otchest() As String

Dim Vozr() As String, Otdel() As String, Dolg() As String

Private Sub Form_Load() – при загрузке формы будем автоматически заполнять список отделов;

Open "C:\Textdoc.txt" For Input As #2 – открываем файл для чтения;

I = 0

В этом цикле считываются данные из файла и переопределяется размерность массива с сохранением данных, цикл выполняется до конца файла;

Do Until EOF(2) = True

ReDim Preserve Famil(I), Imya(I), Otchest(I), Vozr(I), Otdel(I), Dolg(I)

Input #2, Famil(I), Imya(I), Otchest(I), Vozr(I), Otdel(I), Dolg(I)

I = I + 1

Loop

Close #2 – закрываем файл;

Combo1.AddItem Otdel(0) – добавляем из первой записи название отдела;

h = 1 – приравниваем длину списка к 1, так как из первой строки файла данные о названии отдела мы уже внесли;

В этом цикле переменную Otdel каждой записи из файла начиная со второй, сравниваем с данными из списка, если в списке нет названия отдела считываемого из файла, то мы добавляем это название в список и заново определяем длину списка;

For k = 1 To I - 1

N = 0

For j = 0 To h

If Otdel(k) = Combo1.List(j) Then N = N + 1

Next j

If N = 0 Then Combo1.AddItem Otdel(k)

h = Combo1.ListCount

Next k

End Sub

В этой процедуре будем выбирать из файла и помещать в список фамилии работников, чей возраст удовлетворяет требованиям введенным пользователем (возраст, отдел). Если указана только верхняя граница возраста, то нижняя автоматически приравнивается к 0, если указана только нижняя граница, то за верхнюю будем принимать 200 лет.

Private Sub Command1_Click()

Dim N1 As Integer

Dim N2 As Integer

Dim I As Integer

N1 = Val(Voz_low.Text)

N2 = Val(Voz_max.Text)

If N2 = 0 Then N2 = 200

List1.Clear

For I = 0 To UBound(Otdel())

If Combo1.Text = Otdel(I) And Val(Vozr(I)) > N1 And Val(Vozr(I)) < N2 Then

List1.AddItem Famil(I)

End If

Next I

End Sub

Категория: Все для информатики | Добавил: vel-master
Просмотров: 2470 | Загрузок: 599 | Комментарии: 1 | Рейтинг: 0.0/0
Всего комментариев: 1
1 Игорь  
0
Как скачать?

Имя *:
Email *:
Код *:
Поиск

Copyright MyCorp © 2024