Разработка обучающей программы по дисциплине "Информатика" для учащихся 8 классов

Обоснование выбора языка программирования Delphi в 8 классе. Изучение стандартных приложений Ms Office. Применение гипертекстовой системы при изучении материалов. Развитие творческих способностей школьников. Тестирование и контроль процесса обучения.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 17.09.2016
Размер файла 255,1 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://allbest.ru

Размещено на http://allbest.ru

Министерство образования и науки Российской Федерации

Федеральное государственное БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

«ОРЕНБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕ

Факультет математики и информационных технологий

Кафедра информатики

КУРСОВАЯ РАБОТА

По дисциплине «Программирование»

Разработка обучающей программы по дисциплине «Информатика» для учащихся 8 классов

Руководитель работы старший

преподаватель Е.А.Мучкаева

Исполнитель

Студентка М.Р. Узбекова

Оренбург 2015

Введение

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

Из всех видов обучающих программ я выбрала язык Delphi ,так как он прост в обучении. Delphi подкупает начинающих пользователей, которые хотят почти сразу писать программы, а не разбираться в особенностях синтаксиса языка. Простота в совокупности с мощью дают вам целый набор инструментов для воплощения задуманного. Но помните: чтобы научиться хорошо программировать, недостаточно иметь огромный объем теоретических знаний. Следует серьезно отнестись к концепции выбранного вами языка и понять, чему же именно вы хотите научиться. Ведь не понимая, зачем все это нужно, вы не сможете эффективно воспользоваться ресурсами языка для наилучшего решения поставленных задач.

Цель работы:

Разработать обучающую программу с тестированием для учеников 8 класса по информатике с кодом на языке Delphi , для ввода и вывода данных использовать компоненты Delphi.

Задачи:

1) Рассмотреть теоретический материал.

2) Выяснить разницу между обучающими программами.

3) Разработать обучающую программу для учащихся 8 класса c помощью языка Delphi и стандартных приложений Ms Office.

1. Теоретическая часть

1.1 Разработка и понятие обучающих программ

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

Компьютерное обучение под управлением обучающей программы с высоким уровнем "интеллекта", должно обеспечивать автоматизацию всех функций обучающего на всех этапах.

Разработка интеллектуальной обучающей программы требует много времени и денежных средств. От качества выполнения функций компьютером зависит эффективность всего процесса обучения.

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

Обучающая программа должна соответствовать следующим педагогическим целям:

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

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

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

При решении проблем автоматизации обучения, так же как и при решении других проблем

Информатики (автоматизация проектирования, автоматизация переводов текстов с иностранных языков т.п.), наряду с продолжением исследований по созданию полностью автоматизированных систем интенсивно разрабатывается конкурентно способные человеко-машинные системы, где в обучаемой деятельности используются автоматизированные системы, управляемые преподавателями.

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

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

Основное требование к составляемым обучающим программам -- их ориентация на развитие активности, инициативы, творчества учащихся. Характерны в этом отношении экспериментальные уроки физики в школе с применением ЗВМ, проводимые заслуженным учителем школы РСФСР С. И. Литератом по программам, разработанным в школьном вычислительном центре. Один из наиболее эффективных приемов -- использование ЭВМ в игровых задачах, например по атомной физике.

Оценивая психолого-педагогические возможности компьютеризации учебного процесса, С. И. Литерат указывает следующие основные направления: использование ЭВМ для тренировки и закрепления знаний; ускорение расчетов при решении задач в лабораторных работах и т.д. (преимущественно в старших классах) ; проверка знаний, умений и навыков, учащихся во время контрольных работ и опросов; индивидуальная работа учащегося на ПК при выполнении заданий учителя (главным образом на факультативных занятиях); учет результатов обучения и оперативное представление соответствующей информации учителям, администрации, родителям и самим учащимся.

1.2 Преимущества и недостатки обучающих программ

Компьютерные обучающие программы составляют обширный класс средств, относящихся к образовательным ИТ. На сегодняшний день они отвечают за учебный процесс наравне с традиционными учебно-методическими средствами. Однако, по сравнению с традиционными учебно-методическими средствами КОП обеспечивают открывают новые возможности человечеству, а многие существующие функции реализуются с более высоким качеством.

Рассмотрим достоинства и недостатки КОП.

Достоинства:

1) возможность использования полноценных видео- и аудиоматериалов (т. е. мультимедиа информации значительных объемов (от 600 М и выше)). Данные материалы невозможно передавать через Интернет даже при использовании специальных технологий, да и затраты весьма значительны для возможности внедрения данных систем в высших учебных заведениях;

2) Такие системы разрабатываются на языках высокого уровня, тем самым становится возможным использовать более эффективно не только ресурсы системы, но и обеспечить интеграцию с уже установленными у пользователя программными системами, т. е. не возникает необходимость в навязывании пользователю принципиально нового интерфейса, отличного от привычного;

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

Недостатки:

1) распространение осуществляется в основном с помощью лазерных дисков. При этом мы не сможем подкорректировать или изменить базы данных.

2)возможность снабжения обучаемого необходимыми учебными материалами через почтовые системы.

Недостатки:

1) относительно ограниченное число пользователей, имеющих выход в Интернет;

2)сложности в передаче больших объемов информации (например, высококачественной мультимедией);

3)необходимость использования труда высококвалифицированных специалистов для поддержки и актуализации программной системы и данных.

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

1.3 Необходимость разработки обучающих программ

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

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

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

При этом учиться можно тогда, когда удобно самому студенту, не выезжая никуда из дома. При организации дистанционного обучения предусматривается использование всех возможностей Интернет, включая видео и аудиоконференции, а также использование CD-дисков. Такая организация дистанционного обучения несет в себе большие дидактические возможности как для системы вузовского образования, так и для системы повышения квалификации. программирование delphi гипертекстовый

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

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

1.4 Типы обучающих программ

Многие авторы выделяют четыре типа обучающих программ:

1)тренировочные и контролирующие;

2) имитационно- моделирующие;

3) наставнические;

4) развивающие игры.

Тренировочные программы служат нам закреплением материалов умений и навыков. Предполагается, что теоретический материал уже изучен. Эти программы в случайной последовательности предлагают учащемуся вопросы и задачи и подсчитывают количество правильно и неправильно решенных задач (в случае правильного ответа может выдаваться поощряющая ученика реплика). При неправильном ответе ученик может получить помощь в виде подсказки.

Имитационно-моделирующие программы предлагают ученикам теоретический материал для изучения. Задачи и вопросы служат в этих программах для организации человеко-машинного диалога, для управления ходом обучения. Так если ответы, даваемые учеником, неверны, программа может «откатиться назад» для повторного изучения теоретического материала.

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

В публикациях зарубежных специалистов и сегодня под термином «программированное обучение» понимают современные компьютерные технологии. Основоположником концепции программированного обучения является американский психолог Б.Ф.Скиннер.

1.5 Современные языки программирования

Если у вас нет особой необходимости использовать какой-либо конкретный язык, я бы порекомендовал начать, выбрав один из пяти языков программирования для начинающих:

Visual Basic - если вы ограничитесь написанием приложений для Windows и хотите создавать полезные инструменты, которые будут относительно небольшими по масштабам, а также требуется язык, который можно выучить быстро и легко, то Visual Basic представляет прекрасное решение для вас.

Pascal - Паскаль был разработан в качестве языка обучения с хорошими навыками и основам программирования, поскольку он требует очень дисциплинированный подход при написании кода. Паскаль не рассматривается в качестве сильного и мощного языка вроде C, C + + или Java. Он используется по сей день, но уже считается морально устаревшим. Несмотря на это он легок в изучении и прививает грамотность и навыки программирования.

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

C очень мощный язык, основанный на функциональном стиле, который используется уже многие годы. Это хорошо подтверждается наличием хорошей документации. C до сих пор широко используется сегодня.

C++ - если вы хотите узнать это очень мощный и кросс-платформенный язык, который является стандартом для создания крупномасштабных программ сегодня, C++ будет хорошим выбором.

C++ является "объектно-ориентированным" языком, который считается новой парадигмой в среде языков программирования (в отличие от функциональных, таких как язык, основанный на C). C++ может быть использован и для написания программ использующих функциональный подход, а также и поддерживает большое количество кода написанного на языке C.

Если вы сделаете выбор в пользу языка C++, рекомендую сайт с Уроками программирования на C++ для начинающих. Там же вы найдете много задач с решениями и подробными комментариями к исходному коду.

Java - если вы хотите, чтобы ваши программы работали в сети Интернета, или если вы хотите, чтобы ваши программы могли выполняться на нескольких платформах (Windows, Linux, MacOS), или же просто вы хотите знать, почему так много шума вокруг Java, тогда это может быть вашим лучшим выбором среди языков. Java может быть вашим лучшим выбором, если вы хотите узнать более сложный язык, и вы будете использовать данные программы лично или с друзьями. Я говорю так, потому что для запуска приложения пользователю необходимо программное обеспечение Java Runtime, которое устанавливается на его компьютере дополнительно, а не у всех пользователей оно установлено.

У языка Java есть свои плюсы и минусы для людей выбравших программирования для чайников. Этот язык не так прост, для создания визуальных программ на основе Windows, как другие языки программирования.

Этот язык на самом деле не создаёт исполняемые файлы, что выглядит нелогичным для новых программистов и большинство пользователей. Но не забудем что у него есть и плюсы. Так как Java является объектно-ориентированным, как C + +, то трудно избежать ловушек, которые могут просто испугать занимающихся программированием для начинающих. Совсем ещё недавно многие полагали, что только у Java есть будущее и зачастую учили в школах. Но сегодня в качестве основного языка так и продолжают использовать VB, C и C++ также широко как и 20 лет назад.

Другие языки программирования для чайников, о которых вы могли неоднократно слышать:

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

C# - "C Sharp" (шарп) является попыткой ответить Mircosoft на Java. Это относительно новый язык, частично основан на C / C + +, который также пытается включить функциональность Java без кросс-платформенности. Мы не рекомендуем этот язык при выборе программирования для начинающих, так как не получила широкого распространения и ограничивается только операционными системами Microsoft.

1.6 Обоснование выбора Delphi для реализации программы

Язык Delphi - строго типизированный объектно-ориентированный язык, в основе которого лежит хорошо знакомый программистам Object Pascal Delphi.

При этом его удобно использовать для создания сложных приложений, базами данных, приложения масштаба предприятия. Delphi так же прост в обучении,как и Visual Basic.Cредства языка программирования Pascal позволяет использовать все современные возможности объектно-ориентированного программирования.

Основные конструкции языка четко выделяются в программе, что способствует хорошему восприятию написанного кода. Графический интерфейс Delphi отлично продуман, среда разработки предоставляет доступ только к тем участкам кода, с которыми необходимо работать, скрывая основную часть программы, которая создается автоматически самой разработкой.

Прежде всего Delphi предназначен для профессиональных разработчиков, желающих очень быстро разрабатывать приложения в архитектуре клиент-сервер. Delphi производит небольшие по размерам (до 15-30 Кбайт) высокоэффективные исполняемые модули (.exe и .dll.) ,поэтому в Delphi должны быть прежде всего заинтересованы те, кто разрабатывает продукты на продажу. С другой стороны небольшие по размерам и быстро исполняемые модули означают, что требования к клиентским рабочим местам существенно снижаются - это имеет немаловажное значение и для конечных пользователей.

Преимущества Delphi по сравнению с аналогичными программными продуктами.

-быстрота разработки приложения;

-высокая производительность разработанного приложения;

-низкие требования разработанного приложения к ресурсам компьютера;

-наращиваемость за счет встраивания новых компонентов и инструментов в среду Delphi ;

-возможность разработки новых компонентов и инструментов собственными средствами Delphi (существующие компоненты и инструменты доступны в исходных кодах);

-удачная проработка иерархии объектов.

Система программирования Delphi рассчитана на программирование различных приложений и предоставляет большое количество компонентов для этого.

2. Практическая часть

2.1 Описание компонентов, используемых в данной обучающей программе

Таблица 1 - Описания компонентов.

Название компонента

Описание

1

2

Page Control

Компонент Delphi PageControl позволяет в ходе проектирования объединять на одной форме несколько вкладок, которые содержат разные элементы управления. Доступ к каждой из вкладок осуществляется при помощи корешков с названиями. На сегодняшний день большинство окон для настройки в программах Windows построены именно по такому принципу (Например, «Свойства обозревателя» в Internet Explorer, средства настройки Delphi 7 и т. д.). Данный компонент позволяет компактно расположить все элементы управления.

Изначально Page Control пустой т.е не содержит в себе ни одной страницы. При

Rich Edit

Компонене Delphi RichEdit - много строчное окно редактирования текстов в обогащенном формате .rtf, позволяющее производить выбор цвета, шрифта, поиск текста и т.д.

Основной отличительной чертой RichEdit от компонента Memo, является то,что атрибуты при форматировании станут одинаковыми для текста.

Button

Компонент Button представляет собой стандартную кнопку windows, инициирующее какое-то действие. Внешний вид - свойство Caption (надпись)

Tab Sheet

Каждая создаваемая вами страница является объектом типа Tab Sheet. Это панель, на которой можно размещать любые управляющие компоненты, окна редактирования и т.п. После того, как вы создадите несколько страниц, выделите одну из них, щелкнув в ее середине, и посмотрите ее свойства в Инспекторе Объектов.

Group Box

Компонент delphi GroupBox и компонент delphi RadioGroup(рис 1) опишу в одной статье потому что они во многом похожи различие заключается только в том, что на RadioGroup размешаются только радио кнопки.

Radio Button

Компонент Delphi RadioButton -- это «радио кнопка», как следует из названия, представляет собой элемент управления отображающийся в виде кружка с текстом размешается на форме как правила два и более переключателей. Переключатели взаимосвязаны при выборе одного переключателя другие становятся не выбранными

Label

Компонент Delphi Label предназначен для показана текста на форме нашей программы, которые не будет меняются в течение работы программы. Текст надписи компонента Label можно изменить, но делается это только программ. Текст, отображаемые в компоненте, определяются значением свойства Caption. Он прописывается в процессе проектирования или задается программно во время выполнения программы. Например:

Label1.Caption := `текст';

Для отображения числовой информации необходимо использовать функции FloatToStr и IntToStr например: label1.Caption:=inttostr(123); отображает числовую информацию, а если нужно выполнить какие-то действия с этими числами например сложить то нужно перевести обратно в числовую информацию то нужно выполнить

2.2 Создание обучающей программы

Для удобного перемещения по главам был выбран элемент PageControl, в котором было создано 7 элементов Tab Sheet, предназначенные для страницы введения, страниц пяти глав и страницы ключей к тестам.

При запуске программы пользователя встречает изображение обложки учебника, при клике на который форма изменяет размеры, элемент Image становится невидимым, а активная страница устанавливает на TabSheet1(Введение).

Для отображения текста был выбран элемент RichEdit, который позволяет вывести текст, отформатированный в файле с расширением rtf.

Для выборки параграфов в главах использован элемент TreeView.

Для реализации теста была выбрана выборка одного из нескольких вариантов ответа, который представляет из себя выбор одного из нескольких Radio Button, объединенных для удобства в Group Box. Выбор именно этих элементов объясняется тем, что, например, элемент Radio Group не позволяет выводить текст в один Itemв несколько строк. Все Group Box при запуске программы скрыты до нажатия на строку «Тест».

Весь текст, что пользователь видит в элементах RichEditвыводятся из файлов формата rtf, содержащих текст выделенных глав. Список в TreeViewтак же выводится из файлов, но уже формата txt для легкости вывода. Текст в каждый элемент RadioButton, а также в каждый Labelвыводится из файлов формата txt.

Чтобы удобно было работать с картинками и текстом параграфа одновременно, введена вторая формаForm2, которая содержит в себе элемент Image, а также две кнопки и два Label'а, которые используются в тесте.

Рис. 1

При клике на название рисунка вторая форма появляется, ее заголовок меняется на имя этого рисунка, а сама форма растягивается под размеры Image, в который грузится этот рисунок из папки Pictures.

Рис 2.

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

Изначально TabSheet7 (Ключи к тестам) скрыт для невозможности просмотра ответов до прохождения теста.

В нижней части Form1 находится кнопка, в событии на клике которой происходит подсчет правильных ответов и определение оценки на основе количества правильных ответов. Вся эта информация выводится на Form2, на которой в этот момент скрывается элемент Image. В Label1 выводится количество правильных ответов, а в Label2 - оценка по пятибалльной шкале. Нажатие на кнопке Ok просто закрывает окно и обнуляет все данные ответы в тесте, т.е. устанавливает параметр checkedдля всех RadioButton на false для возможности повторного прохождения теста. Вторая кнопка «Открыть ответы» делает видимой страницу TabSheet7, на которой в элемент RichEditвыводится таблицы ключей от тестов. При переключении на любую другую страницу TabSheet7 снова становится скрытой. Такой алгоритм реализован для всех тестов.

Для всех страниц реализовано скрывание некоторых элементов в определенные моменты для минимизации лишних или ненужных элементов на экране.

Заключение

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

По своему целевому назначению машинно-ориентированные обучающие программы разнообразны: управляющие, диагностирующие, демонстрационные, генерирующие, операционные, контролирующие, моделирующие и т.д.

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

Они позволяют последовательно задавать учащимся те или иные вопросы, анализировать полученные ответы, определять уровень усвоения материала, выявлять допущенные учащимися ошибки и в соответствии с этим вносить необходимые коррективы в процесс обучения.

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

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

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

Подводя итог, отметим, что КОП являются основным средством дистанционного обучения - новой образовательной технологии, в перспективность которой поверили не только коллективы наиболее прогрессивных вузов страны, но и студенты. В связи с этим отсутствие или наличие качественных КОП будет сдерживать или ускорять процесс внедрения дистанционных технологий обучения.

Список использованных источников

1. Бoндарев В.М., Рублинeцкий В.И., Качко Е.Г. Основы программирования. -- Харьков: Фолио, Ростов н/Д: Феникс, 1997.

2. Культин Н. Б. Основы программирования в Delphi 7.- СПб.:,2003.

3. Сухарев, М.В. Основы Delphi. Профессиональный подход; М.: Наука и техника, 2004.

4. http://www.otbet.ru/book/class-8/informatika/ucheb-bosova/

5. Основы программирования / И. Г. Семакин, А. П. Шестаков.- 5-е изд., стер. - Москва : Академия, 2006.

6. http://www.gmcit.murmansk.ru/text/bit/2003/78/4.htm

7. Васильков А. В. Информационные системы и их безопасность / А. В. Васильков, А. А. Васильков, И. А. Васильков - М.: Форум, 2010.

8. Теория и реализация языков программирования [Текст] / В. А. Серебряков. - Москва : Физматлит, 2012.

9. Марусев И.В. (под редакцией) Компьютер в помощь ученому и учителю. КПГИ, 1989.

10. Катышев В.А. Компьютерные технологии обучения. М.: МАИ, 1992.

11. Клейман Г.М. Школы будущего: компьютеры в процессе обучения. М.: Радио и связь, 1987.

13. Карлащук В.И. Обучающие программы. М.: Солон-Р, 2001.

14. http://pandia.ru/text/77/276/87927.php

15. Шолохович В.Ф. Информационные технологии обучения // Информатика и образование. - 1998. - № 2. - С. 5 - 13.- проектирование содержания обучающих программ.

16. Зубов А.: Программирование на Delphi. - СПб.: Питер, 2005.

17. Чиртик А.А. : Программирование в Delphi. - СПб: Питер, 2010.

Приложение

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, ComCtrls, StdCtrls, jpeg, ExtCtrls;

type

TForm1 = class(TForm)

PageControl1: TPageControl;

TabSheet1: TTabSheet;

TabSheet2: TTabSheet;

TabSheet3: TTabSheet;

TabSheet4: TTabSheet;

TreeView1: TTreeView;

TabSheet5: TTabSheet;

TabSheet6: TTabSheet;

Image1: TImage;

RichEdit1: TRichEdit;

TreeView2: TTreeView;

TreeView3: TTreeView;

TreeView4: TTreeView;

TreeView5: TTreeView;

Button1: TButton;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

Label7: TLabel;

Label8: TLabel;

Label9: TLabel;

Label10: TLabel;

ScrollBar1: TScrollBar;

GroupBox1: TGroupBox;

RadioButton1: TRadioButton;

RadioButton2: TRadioButton;

RadioButton3: TRadioButton;

RadioButton4: TRadioButton;

GroupBox2: TGroupBox;

RadioButton5: TRadioButton;

RadioButton6: TRadioButton;

RadioButton7: TRadioButton;

RadioButton8: TRadioButton;

GroupBox3: TGroupBox;

RadioButton9: TRadioButton;

RadioButton10: TRadioButton;

RadioButton11: TRadioButton;

RadioButton12: TRadioButton;

GroupBox4: TGroupBox;

RadioButton13: TRadioButton;

RadioButton14: TRadioButton;

RadioButton15: TRadioButton;

RadioButton16: TRadioButton;

GroupBox5: TGroupBox;

RadioButton17: TRadioButton;

RadioButton18: TRadioButton;

RadioButton19: TRadioButton;

RadioButton20: TRadioButton;

GroupBox6: TGroupBox;

RadioButton21: TRadioButton;

RadioButton22: TRadioButton;

RadioButton23: TRadioButton;

RadioButton24: TRadioButton;

GroupBox7: TGroupBox;

RadioButton25: TRadioButton;

RadioButton26: TRadioButton;

RadioButton27: TRadioButton;

RadioButton28: TRadioButton;

RadioButton29: TRadioButton;

GroupBox8: TGroupBox;

RadioButton30: TRadioButton;

RadioButton31: TRadioButton;

RadioButton32: TRadioButton;

RadioButton33: TRadioButton;

GroupBox9: TGroupBox;

RadioButton34: TRadioButton;

RadioButton35: TRadioButton;

RadioButton36: TRadioButton;

RadioButton37: TRadioButton;

GroupBox10: TGroupBox;

RadioButton38: TRadioButton;

RadioButton39: TRadioButton;

RadioButton40: TRadioButton;

RadioButton41: TRadioButton;

TabSheet7: TTabSheet;

RichEdit2: TRichEdit;

RichEdit3: TRichEdit;

RichEdit4: TRichEdit;

RichEdit5: TRichEdit;

RichEdit6: TRichEdit;

RichEdit7: TRichEdit;

Label11: TLabel;

Label12: TLabel;

Label13: TLabel;

Label14: TLabel;

Label15: TLabel;

Label16: TLabel;

Label17: TLabel;

Label18: TLabel;

Label19: TLabel;

Label20: TLabel;

Button2: TButton;

Label21: TLabel;

Label22: TLabel;

Label23: TLabel;

Label24: TLabel;

Label25: TLabel;

Label26: TLabel;

Label27: TLabel;

Label28: TLabel;

Label29: TLabel;

Label30: TLabel;

Button3: TButton;

Label31: TLabel;

Label32: TLabel;

Label33: TLabel;

Label34: TLabel;

Label35: TLabel;

Label36: TLabel;

Label37: TLabel;

Label38: TLabel;

Label39: TLabel;

Label40: TLabel;

Button4: TButton;

GroupBox11: TGroupBox;

RadioButton42: TRadioButton;

RadioButton43: TRadioButton;

RadioButton44: TRadioButton;

RadioButton45: TRadioButton;

GroupBox12: TGroupBox;

RadioButton46: TRadioButton;

RadioButton47: TRadioButton;

RadioButton48: TRadioButton;

RadioButton49: TRadioButton;

GroupBox13: TGroupBox;

RadioButton50: TRadioButton;

RadioButton51: TRadioButton;

RadioButton52: TRadioButton;

RadioButton53: TRadioButton;

GroupBox14: TGroupBox;

RadioButton54: TRadioButton;

RadioButton55: TRadioButton;

RadioButton56: TRadioButton;

RadioButton57: TRadioButton;

GroupBox15: TGroupBox;

RadioButton58: TRadioButton;

RadioButton59: TRadioButton;

RadioButton60: TRadioButton;

RadioButton61: TRadioButton;

GroupBox16: TGroupBox;

RadioButton62: TRadioButton;

RadioButton63: TRadioButton;

RadioButton64: TRadioButton;

RadioButton65: TRadioButton;

GroupBox17: TGroupBox;

RadioButton66: TRadioButton;

RadioButton67: TRadioButton;

RadioButton68: TRadioButton;

RadioButton69: TRadioButton;

GroupBox18: TGroupBox;

RadioButton70: TRadioButton;

RadioButton71: TRadioButton;

RadioButton72: TRadioButton;

RadioButton73: TRadioButton;

GroupBox19: TGroupBox;

RadioButton74: TRadioButton;

RadioButton75: TRadioButton;

RadioButton76: TRadioButton;

RadioButton77: TRadioButton;

GroupBox20: TGroupBox;

RadioButton78: TRadioButton;

RadioButton79: TRadioButton;

RadioButton80: TRadioButton;

RadioButton81: TRadioButton;

GroupBox21: TGroupBox;

RadioButton82: TRadioButton;

RadioButton83: TRadioButton;

RadioButton84: TRadioButton;

RadioButton85: TRadioButton;

GroupBox22: TGroupBox;

RadioButton86: TRadioButton;

RadioButton87: TRadioButton;

RadioButton88: TRadioButton;

RadioButton89: TRadioButton;

GroupBox23: TGroupBox;

RadioButton90: TRadioButton;

RadioButton91: TRadioButton;

RadioButton92: TRadioButton;

RadioButton93: TRadioButton;

GroupBox24: TGroupBox;

RadioButton94: TRadioButton;

RadioButton95: TRadioButton;

RadioButton96: TRadioButton;

RadioButton97: TRadioButton;

GroupBox25: TGroupBox;

RadioButton98: TRadioButton;

RadioButton99: TRadioButton;

RadioButton100: TRadioButton;

RadioButton101: TRadioButton;

GroupBox26: TGroupBox;

RadioButton102: TRadioButton;

RadioButton103: TRadioButton;

RadioButton104: TRadioButton;

RadioButton105: TRadioButton;

GroupBox27: TGroupBox;

RadioButton106: TRadioButton;

RadioButton107: TRadioButton;

RadioButton108: TRadioButton;

RadioButton109: TRadioButton;

GroupBox28: TGroupBox;

RadioButton110: TRadioButton;

RadioButton111: TRadioButton;

RadioButton112: TRadioButton;

RadioButton113: TRadioButton;

GroupBox29: TGroupBox;

RadioButton114: TRadioButton;

RadioButton115: TRadioButton;

RadioButton116: TRadioButton;

RadioButton117: TRadioButton;

GroupBox30: TGroupBox;

RadioButton118: TRadioButton;

RadioButton119: TRadioButton;

RadioButton120: TRadioButton;

RadioButton121: TRadioButton;

ScrollBar2: TScrollBar;

ScrollBar3: TScrollBar;

ScrollBar4: TScrollBar;

GroupBox31: TGroupBox;

RadioButton122: TRadioButton;

RadioButton123: TRadioButton;

RadioButton124: TRadioButton;

RadioButton125: TRadioButton;

GroupBox32: TGroupBox;

RadioButton126: TRadioButton;

RadioButton127: TRadioButton;

RadioButton128: TRadioButton;

RadioButton129: TRadioButton;

GroupBox33: TGroupBox;

RadioButton130: TRadioButton;

RadioButton131: TRadioButton;

RadioButton132: TRadioButton;

GroupBox34: TGroupBox;

RadioButton133: TRadioButton;

RadioButton134: TRadioButton;

RadioButton135: TRadioButton;

RadioButton136: TRadioButton;

GroupBox35: TGroupBox;

RadioButton137: TRadioButton;

RadioButton138: TRadioButton;

RadioButton139: TRadioButton;

RadioButton140: TRadioButton;

GroupBox36: TGroupBox;

RadioButton141: TRadioButton;

RadioButton142: TRadioButton;

RadioButton143: TRadioButton;

RadioButton144: TRadioButton;

GroupBox37: TGroupBox;

RadioButton145: TRadioButton;

RadioButton146: TRadioButton;

RadioButton147: TRadioButton;

RadioButton148: TRadioButton;

GroupBox38: TGroupBox;

RadioButton149: TRadioButton;

RadioButton150: TRadioButton;

RadioButton151: TRadioButton;

RadioButton152: TRadioButton;

GroupBox39: TGroupBox;

RadioButton153: TRadioButton;

RadioButton154: TRadioButton;

RadioButton155: TRadioButton;

RadioButton156: TRadioButton;

GroupBox40: TGroupBox;

RadioButton157: TRadioButton;

RadioButton158: TRadioButton;

RadioButton159: TRadioButton;

RadioButton160: TRadioButton;

procedure Image1Click(Sender: TObject);

procedure TForm1.TreeView1Click(Sender: TObject);

var F,F1:TextFile;

k,j,i:Integer;

S:String;

buf: String[200];

begin

for k:=1 to 10 do

begin

for j:=0 to ComponentCount-1 do

if (Components[j] is TGroupBox

and((Components[j] as TGroupBox).Name='GroupBox'+IntToStr(k))) then

(Components[j] as TGroupBox).Visible:=false;

for j:=0 to ComponentCount-1 do

if (Components[j] is TLabel

and((Components[j] as TLabel).Name='Label'+IntToStr(k))) then

(Components[j] as TLabel).Visible:=false;

end;

ScrollBar1.Visible:=false;

ScrollBar2.Visible:=false;

ScrollBar3.Visible:=false;

ScrollBar4.Visible:=false;

for k:=0 to 5 do begin

if TreeView1.Items[k].Selected then

begin

ScrollBar1.Tag:=0;

if RichEdit1.Visible=false then RichEdit1.Visible:=true;

end;

end;

if TreeView1.Items[6].Selected then

begin

ScrollBar1.Visible:=true;

ScrollBar2.Visible:=false;

ScrollBar3.Visible:=false;

ScrollBar4.Visible:=false;

RichEdit1.Visible:=false;

AssignFile(F, 'Text\Глава 1\тест 1.txt');

Reset(F);

for k:=1 to 10 do

begin

Readln(F,buf);

for j:=0 to ComponentCount-1 do

if (Components[j] is TLabel

and((Components[j] as TLabel).Name='Label'+IntToStr(k))) then

(Components[j] as TLabel).Visible:=true;

for j:=0 to ComponentCount-1 do

if (Components[j] is TLabel

and((Components[j] as TLabel).Name='Label'+IntToStr(k))) then

(Components[j] as TLabel).Caption:=buf;

//end;

for j:=0 to ComponentCount-1 do

if (Components[j] is TGroupBox

and((Components[j] as TGroupBox).Name='GroupBox'+IntToStr(k))) then

(Components[j] as TGroupBox).Visible:=true;

{for j:=0 to ComponentCount-1 do

if (Components[j] is TRadioGroup

and((Components[j] as TRadioGroup).Name='RadioGroup'+IntToStr(k))) then

(Components[j] as TRadioGroup).Visible:=true;}

end;

AssignFile(F1,'Text\Глава 1\Варианты 1.txt');

Reset(F1);

//for k:=1 to 10 do

// begin

k:=1;

i:=0;

while k<=41 do

//for k:=1 to 41 do

begin

if EoF(F1) then break;

Readln(F1,buf);

i:=i+1;

if Not (buf='') then

begin

for j:=0 to ComponentCount-1 do begin

if (Components[j] is TRadioButton

and((Components[j] as TRadioButton).Name='RadioButton'+IntToStr(k))) then

(Components[j] as TRadioButton).Caption:=buf; end;

k:=k+1;

for j:=0 to ComponentCount-1 do

if (Components[j] is TRadioButton

and((Components[j] as TRadioButton).Name='RadioButton'+IntToStr(k))) then

(Components[j] as TRadioButton).WordWrap:=true;

//RadioGroup1.Items.Add(buf);

end

else begin

//if k=1 then begin

k:=k;

end;

//else k:=k-1;

end;

end;

//end;

end;

procedure TForm1.RichEdit1MouseDown(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

var

i,kol:Integer;

S:String;

b:Integer;

begin

HideCaret(RichEdit1.Handle);

si[0]:='1';

si[1]:='2';

si[2]:='3';

si[3]:='4';

si[4]:='5';

si[5]:='6';

si[6]:='7';

si[7]:='8';

si[8]:='9';

si[9]:='10';

si[10]:='11';

si[11]:='12';

si[12]:='13';

si[13]:='14';

for b:=0 to 13 do

begin

S:='рис. 1.'+si[b];

kol:=10;

I:=RECharIndexByPos(RichEdit1,X,Y);

if Pos(S,RichEdit1.Text)<>0 then begin

if (I>Pos(S,RichEdit1.Text)-2)and (I<Pos(S,RichEdit1.Text)+(kol-1)) then

begin

if Form2.Showing then

begin

Form2.SetFocus;

Form2.Caption:= S;

Form2.Image1.Picture.LoadFromFile('Pictures\'+S+'.jpg');

Form2.ClientWidth:=Form2.Image1.Width;

Form2.ClientHeight:=Form2.Image1.Height;

end

else

Form2:= TForm2.Create(Application);

Form2.Caption:= S;

Form2.Image1.Picture.LoadFromFile('Pictures\'+S+'.jpg');

Form2.ClientWidth:=Form2.Image1.Width;

Form2.ClientHeight:=Form2.Image1.Height;

Form2.Show;

end;

end;

end;

end;

procedure TForm1.RichEdit1MouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer);

var

i,k,kol:Integer;

S:String;

begin

HideCaret(RichEdit1.Handle);

si[0]:='1';

si[1]:='2';

si[2]:='3';

si[3]:='4';

si[4]:='5';

si[5]:='6';

si[6]:='7';

si[7]:='8';

si[8]:='9';

si[9]:='10';

si[10]:='11';

si[11]:='12';

si[12]:='13';

si[13]:='14';

for k:=0 to 13 do

begin

S:='рис. 1.'+si[k];

kol:=9;

I:=RECharIndexByPos(RichEdit1,X,Y);

if Pos(S,RichEdit1.Text)<>0 then begin

if (I>Pos(S,RichEdit1.Text)-2)and (I<Pos(S,RichEdit1.Text)+(kol)) then

begin

end

else RichEdit1.Cursor:=crDefault;

end;

end;

end;

procedure TForm1.ScrollBar1Scroll(Sender: TObject; ScrollCode: TScrollCode;

var ScrollPos: Integer);

begin

TabSheet2.ScrollBy(0,ScrollBar1.Tag-ScrollPos);

ScrollBar1.Tag:=ScrollPos;

end;

procedure TForm1.Button1Click(Sender: TObject);

var i,k,j:Integer;

begin

bal:=0;

if(RadioButton3.Checked) then

bal:=bal+1;

if(RadioButton6.Checked) then

bal:=bal+1;

if(RadioButton10.Checked ) then

bal:=bal+1;

if(RadioButton15.Checked) then

bal:=bal+1;

if(RadioButton18.Checked ) then

bal:=bal+1;

if(RadioButton24.Checked ) then

bal:=bal+1;

if(RadioButton26.Checked ) then

bal:=bal+1;

if(RadioButton31.Checked) then

bal:=bal+1;

if(RadioButton36.Checked ) then

bal:=bal+1;

if(RadioButton39.Checked) then

bal:=bal+1;

if (bal<=10) and (bal>=8) then i:=5;

if (bal<8) and (bal>=6) then i:=4;

if (bal<6) and (bal>=4) then i:=3;

if (bal<4) then i:=2;

for k:=1 to 160 do

begin

for j:=0 to ComponentCount-1 do

if (Components[j] is TRadioButton

and((Components[j] as TRadioButton).Name='RadioButton'+IntToStr(k))) then

(Components[j] as TRadioButton).Checked:=false;

end;

Form2.Label1.Visible:=true;

Form2.Label2.Visible:=true;

Form2.Button1.Visible:=true;

Form2.Button2.Visible:=true;

Form2.Image1.Visible:=false;

Form2.Width:=450;

Form2.Height:=182;

Form2.Caption:='Оценка';

Form2.Label1.Caption;

Form2.Label2.Caption;

end;

procedure TForm1.TabSheet7Show(Sender: TObject);

begin

ScrollBar1.Visible:=false;

ScrollBar2.Visible:=false;

ScrollBar3.Visible:=false;

ScrollBar4.Visible:=false;

RichEdit2.Lines.LoadFromFile

end;

procedure TForm1.TabSheet1Show(Sender: TObject);

begin

TabSheet7.TabVisible:=false;

ScrollBar1.Visible:=false;

ScrollBar2.Visible:=false;

ScrollBar3.Visible:=false;

ScrollBar4.Visible:=false;

RichEdit3.Lines.LoadFromFile

end;

procedure TForm1.TabSheet2Show(Sender: TObject);

begin

TabSheet7.TabVisible:=false;

ScrollBar1.Visible:=true;

ScrollBar2.Visible:=false;

ScrollBar3.Visible:=false;

ScrollBar4.Visible:=false;

TreeView1.LoadFromFile

end;

procedure TForm1.TabSheet3Show(Sender: TObject);

var k,j:Integer;

begin

TabSheet7.TabVisible:=false;

ScrollBar1.Visible:=false;

ScrollBar2.Visible:=true;

ScrollBar3.Visible:=false;

ScrollBar4.Visible:=false;

TreeView2.LoadFromFile('Text\Меню\Глава 2.txt');

for k:=11 to 20 do

begin

for j:=0 to ComponentCount-1 do

if (Components[j] is TGroupBox

and((Components[j] as TGroupBox).Name='GroupBox'+IntToStr(k))) then

(Components[j] as TGroupBox).Visible:=false;

for j:=0 to ComponentCount-1 do

if (Components[j] is TLabel

and((Components[j] as TLabel).Name='Label'+IntToStr(k))) then

(Components[j] as TLabel).Visible:=false;

end;

end;

//ПОКАЗ УРОКА 3

procedure TForm1.TabSheet4Show(Sender: TObject);

var k,j:Integer;

begin

TabSheet7.TabVisible:=false;

ScrollBar1.Visible:=false;

ScrollBar2.Visible:=false;

ScrollBar3.Visible:=true;

ScrollBar4.Visible:=false;

TreeView3.LoadFromFile

for k:=21 to 30 do

begin

for j:=0 to ComponentCount-1 do

if (Components[j] is TGroupBox

and((Components[j] as TGroupBox).Name='GroupBox'+IntToStr(k))) then

(Components[j] as TGroupBox).Visible:=false;

for j:=0 to ComponentCount-1 do

if (Components[j] is TLabel

and((Components[j] as TLabel).Name='Label'+IntToStr(k))) then

(Components[j] as TLabel).Visible:=false;

end;

end;

//ПОКАЗ УРОКА 4

procedure TForm1.TabSheet5Show(Sender: TObject);

var k,j:Integer;

begin

TabSheet7.TabVisible:=false;

ScrollBar1.Visible:=false;

ScrollBar2.Visible:=false;

ScrollBar3.Visible:=false;

ScrollBar4.Visible:=true;

TreeView4.LoadFromFile('Text\Меню\Глава 4.txt');

for k:=31 to 40 do

begin

for j:=0 to ComponentCount-1 do

if (Components[j] is TGroupBox

and((Components[j] as TGroupBox).Name='GroupBox'+IntToStr(k))) then

(Components[j] as TGroupBox).Visible:=false;

for j:=0 to ComponentCount-1 do

if (Components[j] is TLabel

and((Components[j] as TLabel).Name='Label'+IntToStr(k))) then

(Components[j] as TLabel).Visible:=false;

end;

end;

procedure TForm1.TabSheet6Show(Sender: TObject);

begin

TabSheet7.TabVisible:=false;

TreeView5.LoadFromFile

end;

procedure TForm1.TreeView2Click(Sender: TObject);

var F,F1:TextFile;

k,j,i:Integer;

S:String;

buf: String[200];

begin

for k:=11 to 20 do

begin

for j:=0 to ComponentCount-1 do

if (Components[j] is TGroupBox

and((Components[j] as TGroupBox).Name='GroupBox'+IntToStr(k))) then

(Components[j] as TGroupBox).Visible:=false;

for j:=0 to ComponentCount-1 do

if (Components[j] is TLabel

and((Components[j] as TLabel).Name='Label'+IntToStr(k))) then

(Components[j] as TLabel).Visible:=false;

end;

ScrollBar1.Visible:=false;

ScrollBar2.Visible:=false;

ScrollBar3.Visible:=false;

ScrollBar4.Visible:=false;

for k:=0 to 3 do begin

if TreeView2.Items[k].Selected then

begin

if RichEdit4.Visible=false then RichEdit4.Visible:=true;

{ if (TreeView2.Items[0].Selected) then

begin

RichEdit4.Lines.LoadFromFile

RichEdit4.SelStart := 0;

RichEdit4.Perform(EM_SCROLLCARET, 0, 0);

end

else

begin }

RichEdit4.Lines.LoadFromFile

RichEdit4.SelStart := 0;

RichEdit4.Perform(EM_SCROLLCARET, 0, 0);

// end;

end;

end;

if TreeView2.Items[4].Selected then

begin

ScrollBar1.Visible:=false;

ScrollBar2.Visible:=true;

ScrollBar3.Visible:=false;

ScrollBar4.Visible:=false;

RichEdit4.Visible:=false;

Reset(F);

for k:=20 downto 11 do

begin

Readln(F,buf);

for j:=0 to ComponentCount-1 do

if (Components[j] is TLabel

and((Components[j] as TLabel).Name='Label'+IntToStr(k))) then

(Components[j] as TLabel).Visible:=true;

for j:=0 to ComponentCount-1 do

if (Components[j] is TLabel

and((Components[j] as TLabel).Name='Label'+IntToStr(k))) then

(Components[j] as TLabel).Caption:=buf;

//end;

for j:=0 to ComponentCount-1 do

if (Components[j] is TGroupBox

and((Components[j] as TGroupBox).Name='GroupBox'+IntToStr(k))) then

(Components[j] as TGroupBox).Visible:=true;

end;

AssignFile

Reset(F1);

k:=42;

i:=0;

while k<=81 do

begin

if EoF(F1) then break;

Readln(F1,buf);

i:=i+1;

if Not (buf='') then

begin

for j:=0 to ComponentCount-1 do begin

if (Components[j] is TRadioButton

and((Components[j] as TRadioButton).Name='RadioButton'+IntToStr(k))) then

(Components[j] as TRadioButton).Caption:=buf; end;

k:=k+1;

for j:=0 to ComponentCount-1 do

if (Components[j] is TRadioButton

and((Components[j] as TRadioButton).Name='RadioButton'+IntToStr(k))) then

(Components[j] as TRadioButton).WordWrap:=true;

end

else begin

k:=k;

end;

end.

//Edit1.Text:=InttoStr(i);

//end;

end;

//СКРОЛЛ ГЛАВЫ 2

procedure TForm1.ScrollBar2Scroll(Sender: TObject; ScrollCode: TScrollCode;

var ScrollPos: Integer);

begin

TabSheet3.ScrollBy(0,ScrollBar2.Tag-ScrollPos);

ScrollBar2.Tag:=ScrollPos;

end;

//СКРОЛЛ ГЛАВЫ 3

procedure TForm1.ScrollBar3Scroll(Sender: TObject; ScrollCode: TScrollCode;

var ScrollPos: Integer);

begin

TabSheet4.ScrollBy(0,ScrollBar3.Tag-ScrollPos);

ScrollBar3.Tag:=ScrollPos;

end;

procedure TForm1.ScrollBar4Scroll(Sender: TObject; ScrollCode: TScrollCode;

var ScrollPos: Integer);

begin

TabSheet5.ScrollBy(0,ScrollBar4.Tag-ScrollPos);

ScrollBar4.Tag:=ScrollPos;

end;

procedure TForm1.TreeView3Click(Sender: TObject);

var F,F1:TextFile;

k,j,i:Integer;

S:String;

buf: String[200];

begin

for k:=30 downto 21 do

begin

for j:=0 to ComponentCount-1 do

if (Components[j] is TGroupBox

and((Components[j] as TGroupBox).Name='GroupBox'+IntToStr(k))) then

(Components[j] as TGroupBox).Visible:=false;

for j:=0 to ComponentCount-1 do

if (Components[j] is TLabel

and((Components[j] as TLabel).Name='Label'+IntToStr(k))) then

(Components[j] as TLabel).Visible:=false;

end;

ScrollBar1.Visible:=false;

ScrollBar2.Visible:=false;

ScrollBar3.Visible:=false;

ScrollBar4.Visible:=false;

for k:=0 to 2 do begin

if TreeView3.Items[k].Selected then

begin

if RichEdit5.Visible=false then RichEdit5.Visible:=true;

{ if (TreeView3.Items[0].Selected) then

begin

RichEdit5.Lines.LoadFromFile

RichEdit5.SelStart := 0;

RichEdit5.Perform(EM_SCROLLCARET, 0, 0);

end

else

begin

RichEdit5.Lines.LoadFromFile

RichEdit5.SelStart := 0;

RichEdit5.Perform(EM_SCROLLCARET, 0, 0);

// end;

end;

end;

if TreeView3.Items[3].Selected then

begin

ScrollBar1.Visible:=false;

ScrollBar2.Visible:=false;

ScrollBar3.Visible:=true;

ScrollBar4.Visible:=false;

RichEdit5.Visible:=false;

AssignFile

Reset(F);

for k:=30 downto 21 do

begin

Readln(F,buf);

for j:=0 to ComponentCount-1 do

if (Components[j] is TLabel

and((Components[j] as TLabel).Name='Label'+IntToStr(k))) then

(Components[j] as TLabel).Visible:=true;

for j:=0 to ComponentCount-1 do

if (Components[j] is TLabel

and((Components[j] as TLabel).Name='Label'+IntToStr(k))) then

(Components[j] as TLabel).Caption:=buf;

//end;

for j:=0 to ComponentCount-1 do

if (Components[j] is TGroupBox

and((Components[j] as TGroupBox).Name='GroupBox'+IntToStr(k))) then

(Components[j] as TGroupBox).Visible:=true;

end;

AssignFile

Reset(F1);

k:=82;

i:=0;

while k<=121 do

begin

if EoF(F1) then break;

Readln(F1,buf);

if Not (buf='') then

begin

for j:=0 to ComponentCount-1 do begin

if (Components[j] is TRadioButton

and((Components[j] as TRadioButton).Name='RadioButton'+IntToStr(k))) then

(Components[j] as TRadioButton).Caption:=buf; end;

k:=k+1;

for j:=0 to ComponentCount-1 do

if (Components[j] is TRadioButton

and((Components[j] as TRadioButton).Name='RadioButton'+IntToStr(k))) then

(Components[j] as TRadioButton).WordWrap:=true;

end

else begin

k:=k;

end;

end.

procedure TForm1.TreeView4Click(Sender: TObject);

var F,F1:TextFile;

k,j,i:Integer;

S:String;

buf: String[200];

begin

for k:=40 downto 31 do

begin

for j:=0 to ComponentCount-1 do

if (Components[j] is TGroupBox

and((Components[j] as TGroupBox).Name='GroupBox'+IntToStr(k))) then

(Components[j] as TGroupBox).Visible:=false;

for j:=0 to ComponentCount-1 do

if (Components[j] is TLabel

and((Components[j] as TLabel).Name='Label'+IntToStr(k))) then

(Components[j] as TLabel).Visible:=false;

end;

ScrollBar1.Visible:=false;

ScrollBar2.Visible:=false;

ScrollBar3.Visible:=false;

ScrollBar4.Visible:=false;

for k:=0 to 3 do begin

if TreeView4.Items[k].Selected then

begin

if RichEdit6.Visible=false then RichEdit6.Visible:=true;

{ if (TreeView4.Items[0].Selected) then

begin

RichEdit6.Lines.LoadFromFile

RichEdit6.SelStart := 0;

RichEdit6.Perform(EM_SCROLLCARET, 0, 0);

end

else

begin }

//S:='П'+InttoStr

RichEdit6.Lines.LoadFromFile

RichEdit6.SelStart := 0;

RichEdit6.Perform(EM_SCROLLCARET, 0, 0);

// end;

end;

end;

if TreeView4.Items[4].Selected then

begin

ScrollBar1.Visible:=false;

ScrollBar2.Visible:=false;

ScrollBar3.Visible:=false;

ScrollBar4.Visible:=true;

RichEdit6.Visible:=false;

AssignFile

Reset(F);

for k:=40 downto 31 do

begin

Readln(F,buf);

for j:=0 to ComponentCount-1 do

if (Components[j] is TLabel

and((Components[j] as TLabel).Name='Label'+IntToStr(k))) then

(Components[j] as TLabel).Visible:=true;

for j:=0 to ComponentCount-1 do

if (Components[j] is TLabel

and((Components[j] as TLabel).Name='Label'+IntToStr(k))) then

(Components[j] as TLabel).Caption:=buf;

//end;

for j:=0 to ComponentCount-1 do

if (Components[j] is TGroupBox

and((Components[j] as TGroupBox).Name='GroupBox'+IntToStr(k))) then

(Components[j] as TGroupBox).Visible:=true;

end;

AssignFile;

Reset(F1);

k:=122;

i:=0;

while k<=160 do

begin

if EoF(F1) then break;

Readln(F1,buf);

if Not (buf='') then

begin

for j:=0 to ComponentCount-1 do begin

if (Components[j] is TRadioButton

and((Components[j] as TRadioButton).Name='RadioButton'+IntToStr(k))) then

(Components[j] as TRadioButton).Caption:=buf; end;

k:=k+1;

for j:=0 to ComponentCount-1 do

if (Components[j] is TRadioButton

and((Components[j] as TRadioButton).Name='RadioButton'+IntToStr(k))) then

(Components[j] as TRadioButton).WordWrap:=true;

end

else begin

k:=k;

end;

procedure TForm1.TreeView5Click(Sender: TObject);

var F,F1:TextFile;

k,j,i:Integer;

S:String;

buf: String[200];

begin

{for k:=40 downto 31 do

begin

for j:=0 to ComponentCount-1 do

if (Components[j] is TGroupBox

and((Components[j] as TGroupBox).Name='GroupBox'+IntToStr(k))) then

(Components[j] as TGroupBox).Visible:=false;

for j:=0 to ComponentCount-1 do

if (Components[j] is TLabel

and((Components[j] as TLabel).Name='Label'+IntToStr(k))) then

(Components[j] as TLabel).Visible:=false;

end;

ScrollBar1.Visible:=false;

ScrollBar2.Visible:=false;

ScrollBar3.Visible:=false;

ScrollBar4.Visible:=false; }

for k:=0 to 1 do begin

if TreeView5.Items[k].Selected then

begin

if RichEdit7.Visible=false then RichEdit7.Visible:=true;

{ if (TreeView5.Items[0].Selected) then

b...


Подобные документы

  • Особенности разработки приложений для операционной системы с помощью императивного, структурированного, объектно-ориентированного языка программирования Delphi. Формальное начало программы. Выделение конца программного блока. Листинг и описание программы.

    курсовая работа [1,2 M], добавлен 04.08.2014

  • Разработка головоломки на основе гравюры Альбрехта Дюрера "Магический квадрат". Главные составные части среды программирования Delphi, особенности ее стандартных компонентов и процесса сохранения программы. Компоненты и алгоритмы создаваемой программы.

    курсовая работа [147,1 K], добавлен 05.02.2015

  • Разработка программы автоматизации процесса проверки знаний учащихся. Использование языка программирования Borland Delphi 7.0, его свойства, компоненты для работы со строками. Создание обучающих тестов на знание лексики и грамматики английского языка.

    курсовая работа [521,0 K], добавлен 06.03.2016

  • Теоретические основы объектно-ориентированного языка программирования Delphi, изучение среды визуального проектирования приложений. Определение 40-го числа Фибоначчи, составление листинга и блок-схемы программы, тестирование ее на работоспособность.

    курсовая работа [261,1 K], добавлен 25.03.2015

  • Использование обучающих программ для формирования знаний и умений по информатике. Главное окно среды программирования Delphi, окна дерева объектов и кода программы. Требования к оборудованию и описание обучающей программы "Информатика в играх и загадках".

    курсовая работа [1,3 M], добавлен 03.05.2012

  • Создание Windows-приложения для проведения обучения и тестирования студентов по информационной безопасности. Алгоритм решения задачи, блок-схема работы программы, выбор языка программирования Delphi. Охрана труда программиста, обязанности пользователя.

    дипломная работа [4,8 M], добавлен 04.06.2013

  • Система программирования Delphi, ее характеристика. Основные требования к обучающей программе. Составление блок-схемы алгоритма программы "Математика. 1 класс". Виды задач для решения в обучающей программе. Описание работы системы, инструкция к ней.

    курсовая работа [2,0 M], добавлен 17.06.2015

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

    курсовая работа [738,1 K], добавлен 17.05.2010

  • Разработка программы проверки знаний для тестирования студентов по программированию с кодом на языке Delphi. Проектирование визуального интерфейса и словесный алгоритм работы программы. Алгоритмы разработанных процедур и функций, инструкция пользователя.

    курсовая работа [506,5 K], добавлен 21.02.2011

  • Анализ и постановка задач дисциплины "Компьютерная графика". Разработка структуры, функциональной схемы и программной документации. Руководство программисту и оператору. Выбор и обоснование языка программирования. Описание процедур, функций, оценок.

    дипломная работа [3,6 M], добавлен 16.11.2011

  • Разработка программы обработки типизированных файлов с кодом на языке Object Pascal, с использованием компонентов Delphi для ввода и вывода данных. Разработка экранных форм и алгоритма программы. Описание программных модулей и инструкция оператору.

    курсовая работа [1,5 M], добавлен 08.02.2011

  • Методы и этапы создания автоматизированной обучающей системы по дисциплине "Программирование" для студентов ВУЗов. Описание и сравнение программ-аналогов. Выбор инструментальных средств и языка разработки. Проектирование интерфейса обучающей программы.

    курсовая работа [4,4 M], добавлен 26.11.2010

  • Ознакомление с историей создания и особенностями объектно-ориентированного языка программирования Delphi. Разработка приложения, фиксирующего количество повторений какого-либо слова в тексте, введённом в поле MEMO. Описание интерфейса программы.

    курсовая работа [880,1 K], добавлен 21.04.2015

  • Средства языка программирования Delphi. Структурные типы данных. Строковые переменные, массивы, множества, файлы. Механизм классов в C++. Интерфейсный и описательный обзоры классов в Delphi. Работа с текстовыми и бинарными файлами прямого доступа.

    курсовая работа [990,4 K], добавлен 07.08.2012

  • Изучение основ программирования и создание полноценного приложения в среде программирования Delphi. Разработка эскизного и технического проектов программы. Внедрение выполнения программы. Разработка рабочего проекта, спецификация и текст программы.

    курсовая работа [560,1 K], добавлен 18.07.2012

  • Рассмотрение теории и технологии работы со средой программирования Delphi. Описание Описание интерфейса программы, структуры данных, генерации точек. Разработка задания по выявлению всех квадратов, которые могут быть образованы точками на плоскости.

    реферат [21,0 K], добавлен 13.01.2015

  • Способы и методы нахождения значения определённого интеграла. Программные средства языка C. Программные средства языка Pascal (версия 7.0). Алгоритм программы вычисления определённого интеграла. Тестирование программы. Обработка результатов измерений.

    курсовая работа [2,5 M], добавлен 01.06.2010

  • Знакомство с этапами разработки трёх приложений для системы семейства Linux с использованием языка программирования С++. Анализ особенностей операционной системы Ubuntu 12.10. Характеристика способов тестирования команд с помощью стандартных средств.

    контрольная работа [732,1 K], добавлен 06.08.2013

  • Изучение программы базовой системы ввода-вывода (BIOS) и её настроек. Разработка компьютерной обучающей программы-тренажера "Настройка BIOS" в объектно-ориентированной среде Delphi. Тестирование данного программного продукта и экономические затраты.

    дипломная работа [54,5 K], добавлен 09.10.2013

  • Оценка функциональных возможностей стандартных классов представления данных на примерах использования избранных методов ("detect: ifNone:" класса Set, "to:by:do:" класса Number и "copy: ReplaceFrom: to: with:" класса OrderedCollection), их тестирование.

    лабораторная работа [1,1 M], добавлен 14.10.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.