Банк рефератов содержит более 364 тысяч рефератов, курсовых и дипломных работ, шпаргалок и докладов по различным дисциплинам: истории, психологии, экономике, менеджменту, философии, праву, экологии. А также изложения, сочинения по литературе, отчеты по практике, топики по английскому.
Полнотекстовый поиск
Всего работ:
364139
Теги названий
Разделы
Авиация и космонавтика (304)
Административное право (123)
Арбитражный процесс (23)
Архитектура (113)
Астрология (4)
Астрономия (4814)
Банковское дело (5227)
Безопасность жизнедеятельности (2616)
Биографии (3423)
Биология (4214)
Биология и химия (1518)
Биржевое дело (68)
Ботаника и сельское хоз-во (2836)
Бухгалтерский учет и аудит (8269)
Валютные отношения (50)
Ветеринария (50)
Военная кафедра (762)
ГДЗ (2)
География (5275)
Геодезия (30)
Геология (1222)
Геополитика (43)
Государство и право (20403)
Гражданское право и процесс (465)
Делопроизводство (19)
Деньги и кредит (108)
ЕГЭ (173)
Естествознание (96)
Журналистика (899)
ЗНО (54)
Зоология (34)
Издательское дело и полиграфия (476)
Инвестиции (106)
Иностранный язык (62791)
Информатика (3562)
Информатика, программирование (6444)
Исторические личности (2165)
История (21319)
История техники (766)
Кибернетика (64)
Коммуникации и связь (3145)
Компьютерные науки (60)
Косметология (17)
Краеведение и этнография (588)
Краткое содержание произведений (1000)
Криминалистика (106)
Криминология (48)
Криптология (3)
Кулинария (1167)
Культура и искусство (8485)
Культурология (537)
Литература : зарубежная (2044)
Литература и русский язык (11657)
Логика (532)
Логистика (21)
Маркетинг (7985)
Математика (3721)
Медицина, здоровье (10549)
Медицинские науки (88)
Международное публичное право (58)
Международное частное право (36)
Международные отношения (2257)
Менеджмент (12491)
Металлургия (91)
Москвоведение (797)
Музыка (1338)
Муниципальное право (24)
Налоги, налогообложение (214)
Наука и техника (1141)
Начертательная геометрия (3)
Оккультизм и уфология (8)
Остальные рефераты (21692)
Педагогика (7850)
Политология (3801)
Право (682)
Право, юриспруденция (2881)
Предпринимательство (475)
Прикладные науки (1)
Промышленность, производство (7100)
Психология (8692)
психология, педагогика (4121)
Радиоэлектроника (443)
Реклама (952)
Религия и мифология (2967)
Риторика (23)
Сексология (748)
Социология (4876)
Статистика (95)
Страхование (107)
Строительные науки (7)
Строительство (2004)
Схемотехника (15)
Таможенная система (663)
Теория государства и права (240)
Теория организации (39)
Теплотехника (25)
Технология (624)
Товароведение (16)
Транспорт (2652)
Трудовое право (136)
Туризм (90)
Уголовное право и процесс (406)
Управление (95)
Управленческие науки (24)
Физика (3462)
Физкультура и спорт (4482)
Философия (7216)
Финансовые науки (4592)
Финансы (5386)
Фотография (3)
Химия (2244)
Хозяйственное право (23)
Цифровые устройства (29)
Экологическое право (35)
Экология (4517)
Экономика (20644)
Экономико-математическое моделирование (666)
Экономическая география (119)
Экономическая теория (2573)
Этика (889)
Юриспруденция (288)
Языковедение (148)
Языкознание, филология (1140)

Лабораторная работа: Знакомство с компонентами RadioGroup и CheckBox обработка строк типа String в среде Delphi

Название: Знакомство с компонентами RadioGroup и CheckBox обработка строк типа String в среде Delphi
Раздел: Рефераты по информатике
Тип: лабораторная работа Добавлен 12:49:34 15 июня 2010 Похожие работы
Просмотров: 26 Комментариев: 20 Оценило: 2 человек Средний балл: 5 Оценка: неизвестно     Скачать

Лабораторная работа

На тему: «Знакомство с компонентами RadioGroup и CheckBox, обработка строк типа String в среде Delphi»


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

Решение:

1. Сохраните проект в отдельной папке «Калькулятор». Проект назовите Calculator, а файл модуля – mainCalc.pas.

2. Задайте для свойства Form1. Caption значение «Калькулятор». Разместите на форме компоненты (см. рис. 3.1) Edit1,2,3 и Label1,2,3. Задайте свойства Caption для компонентов Label – «операнд1», «операнд2», «Результат». Удалите текст Edit1,2,3 в соответствующих компонентах (используйте свойство Text). Разместите на форме компонент Button1. Кнопку назовите «Вычислить».

3. Разместите на форме компонент RadioGroup 1 из палитры Standard. Задайте для свойства Caption значение «Операция». Затем выберите свойство Items (это свойство задает количество переключателей в группе и надписи около них). В окне String List Editor введите список элементов – символов арифметических операций в столбик: +, -, *, /. Щелкните мышкой по кнопке ОК, завершите формирование списка арифметических операций.

4. В окне Инспектора объектов задайте для свойства RadioGroup . ItemIndex значение 0, чтобы сделать первую кнопку (сложение) выбранной по умолчанию. Задайте размер символов этого компонента, установив значение 14 пунктов.

Примечание: определить во время выполнения, какая кнопка выбрана в данный момент, можно по индексу ItemIndex (0 означает первую кнопку, -1 – ни одна кнопка не выбрана).

Форма будет иметь следующий вид:


Рис. 3.1 Пример формы приложения «Калькулятор»

1. Создайте код обработки события щелчка на кнопке с надписью «Вычислить». Для решения задачи вычисления арифметических операций введите в текст процедуры TForm1. Button1Click следующее описание:

Var a, b: integer; c: real;

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

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

Begin

A:=StrToInt (Edit1. Text);

B:=StrToInt (Edit2. Text);

Edit3. Text :=’ ‘; {очистить от результата предыдущих вычислений}

Case RadioGroup1. ItemIndex of

0: c:= a + b;

1: c:= a – b;

2: c:= a * b;

3: if b=0 then ShowMessage (‘ На ноль делить нельзя !’)

Else c:= a / b;

End;

If RadioGroup. ItemIndex <> 3 then Edit3. Text:= FloatToStrF (c, ffGeneral, 10, 4)

Else if b <> 0 then Edit3. Text:= FloatToStrF (c, ffGeneral, 10, 4);

End;

6. Сохраните и запустите приложение на выполнение.

7*. Самостоятельно исправьте код программы модуля, используя другой вариант оператора Case (составной оператор) и сохраните проект Calculator 2, а модуль – mainCalc 2.

Задание 2. Отредактируйте текст модуля приложения Calculator таким образом, чтобы перед выполнением вычислений выполнялась проверка: а) заданы ли значения операндов, если значения операндов не заданы, то следует вывести сообщения об этом в отдельном окне; б) запретить ввод любых символов, кроме цифр от 0 до 9 и знаков «–», «+».

Решение (а):

Поместите перед оператором присваивания A:=StrToInt (Edit1. Text); строку:

If (Edit1. Text <> ‘’) and (Edit2. Text <> ‘’) then begin

которая проверяет значения свойств Edit1.textи Edit2.text. Если эти значения не пусты, то выполняется вычисление арифметической операции, в противном случае управление передается на следующий фрагмент программы, который нужно вставить перед последним оператором end;

Else ShowMessage (‘Не заданы значения’);

Решение (б): Для реализации второй части задания необходимо создать обработчики событий OnKeyPress для компонентов Edit1, Edit2.

Примечание: параметр Key в обработчике этого события соответствует символу нажатой клавиши. При этом различаются символы в верхнем и нижнем регистрах и символы кириллицы латиницы. Клавиши, не имеющие соответствующих им кодов ASCII (Shift, Alt, Ctrl и функциональные клавиши), не вызывают этого события. Поэтому нажатие таких комбинаций клавиш, как, например, Shift+A, генерирует только одно событие OnKeyPress , при котором параметр Key равен «А». Для того чтобы распознавать подобные комбинации клавиш, следует использовать обработчики событий OnKeyDown, OnKeyUp.

1. Выделите на форме объект Edit1 и выберите в окне Инспектора объектов на странице Events (События) событие OnKeyPress . Дважды щелкните левой кнопкой мыши на пустом поле списка этого события. После этого курсор переместиться в окно Редактора кода и в разделе interface появится запись процедуры обработчика события:

Procedure Edit1KeyPress (Sender: TObject; var Key: Char);

2. Вставьте в тело процедуры следующий оператор:

If not (Key in [‘0’.’9’, ‘+’, ‘– ‘]) then Key:= #0;

Действие оператора сводится к сравнению значения переменной Keyс множеством значений от 0 до 9 и символов «+» и «–». Если символ нажатой клавиши не входит во множество, то Key присваивается значение нулевого символа (#0). Таким образом, в окне Edit1 будет отображаться текст, состоящий из цифр и знаков «+, -».

3. Аналогичным образом создайте процедуру обработки события компонента Edit2.

4. Сохраните приложение и запустите его на выполнение. Проверьте результат работы программы.

Текст модуля приложения имеет следующий вид:

unit mainCalc;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls;

type

TForm1 = class(TForm)

Edit1: TEdit;

Edit2: TEdit;

Label1: TLabel;

Label2: TLabel;

Button1: TButton;

Edit3: TEdit;

Label3: TLabel;

RadioGroup1: TRadioGroup;

procedure Button1Click (Sender: TObject);

procedure Edit1KeyPress (Sender: TObject; var Key: Char);

procedure Edit2KeyPress (Sender: TObject; var Key: Char);

private {Private declarations}

public {Public declarations}

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1. Button1Click (Sender: TObject);

var a, b: integer; c: real;

begin

if (Edit1. Text<>'') and (Edit2. Text<>'') then begin

a:=StrToInt (Edit1. Text);

b:=StrToInt (Edit2. Text);

Edit3. Text:='';

case RadioGroup1. ItemIndex of

0: c:=a+b;

1: c:=a-b;

2: c:=a*b;

3: if b=0 then ShowMessage ('Нанольделитьнельзя') else c:=a/b;

end;

if RadioGroup1. ItemIndex <> 3 then

Edit3. Text:=FloatToStrF (c, ffGeneral, 10,4) else if b<>0 then

Edit3. Text:=FloatToStrF (c, ffGeneral, 10,4); end

elseShowMessage ('Не заданы значения');

end;

procedure TForm1. Edit1KeyPress (Sender: TObject; var Key: Char);

begin

if not (Key in ['0'..'9', '+', '-']) then Key:=#0;

end;

procedure TForm1. Edit2KeyPress (Sender: TObject; var Key: Char);

begin

if not (Key in ['0'..'9', '+', '-']) then Key:=#0;

end; end.

Задание 3. Создайте приложение, предлагающее пользователю ввести строку, определяющее количество символов в ней и выводящее результат, согласуя окончание слова «символов» с числом символов.

Решение:

1. Создайте папку «Количество символов» и сохраните в ней проект «simvol».

2. Разместите на форме компоненты: Edit1, Label1,2, Button1, как показано на рис. 3.2. Задайте значения свойств Label1. Caption – «Введите текст», Label2. Caption – «В тексте», Button1. Caption – «Вычислить». Удалите текст Edit1 из соответствующего компонента.


Рис. 3.2 Пример формы проекта «Количество символов»

3. Для вычисления количества символов во введенной строке и вывода результата создайте процедуру обработчика события щелчка мышью на кнопке «Вычислить».

4. Введите в текст процедуры следующее описание переменных:

Var

N: integer;

S: string;

5. Введите текст тела процедуры обработки события:

Begin

N := Length ( Edit 1. Text ); {определить число символов}

Label 2. Caption := ‘В тексте’;

If N >20 then N := N mod 10; {выделить последнюю цифру}

Case N of

1: S:= ‘ символ ’;

2..4: S := ‘символа’;

0, 5..20: S := ‘символов’;

End ;

Label2. Caption:= Label2. Caption + IntToStr (Length(Edit1. Text )) + S ;

End ;

Примечание: функция Length – это функция обработки String переменных, определяет количество символов вводимой строки (см. раздел 1).

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

Задание 4. Создайте приложение, которое предлагает ввести текст, а затем заменить символы «а» на «б» в тексте и подсчитать количество замен.

Решение:

1. Создайте папку «Замена символов» и сохраните в ней проект под названием «zamena», файл модуля сохраните как zmain.pas.

2. Форму приложения назовите «Подсчет и замена символов». На форме расположите три компонента Edit, три компонента Label, один компонент Button и два компонента CheckBox , как показано на рис. 3.3.

3. Задайте значения свойств: Label1. Caption – «Исходный текст на русском языке», Label2. Caption – «Измененный текст», Label3. Caption – «Число замен», Button1. Caption – «Выполнить», CheckBox1. Caption – «Подсчитать число замен», CheckBox2. Caption – «Заменить «а» на «б»». Удалите текст Edit1,2,3 из соответствующих компонентов.

Рис. 3.3 Пример формы проекта «Замена символов»

4. Для замены и подсчета символов запишите процедуру обработки события OnClick для кнопки «Выполнить». Введите следующее описание переменных:

Var

S : string ;

N : byte ;

Примечание: для поиска символа в строке используйте функцию Pos . Для программирования варианта замены символов используйте значение свойства Checked компонента CheckBox.

5. Тело процедуры может быть записано следующим образом:

Begin

N:= 0;

Edit3. Text:= ‘’;

Edit2. Text:= ‘’;

S:= Edit1. Text;

If CheckBox2. Checked then {есливключенфлажок}

While Pos (‘ a ’, S ) > 0 do {если в строке найдена буква «а»}

Begin

N := N + 1;

S [ Pos (‘ a ’, S )]:= ‘б’; {заменить букву «а» на букву «б»}

End;

If CheckBox1. Checked then Edit3. Text:= IntToStr(N);

{выводчислазамен}

Edit 2. Text := S ; {вывод измененного текста}

End ;

6. Сохраните проект и запустите на выполнение.

Оценить/Добавить комментарий
Имя
Оценка
Комментарии:
Хватит париться. На сайте FAST-REFERAT.RU вам сделают любой реферат, курсовую или дипломную. Сам пользуюсь, и вам советую!
Никита07:40:35 04 ноября 2021
.
.07:40:33 04 ноября 2021
.
.07:40:31 04 ноября 2021
.
.07:40:27 04 ноября 2021
.
.07:40:25 04 ноября 2021

Смотреть все комментарии (20)
Работы, похожие на Лабораторная работа: Знакомство с компонентами RadioGroup и CheckBox обработка строк типа String в среде Delphi

Назад
Меню
Главная
Рефераты
Благодарности
Опрос
Станете ли вы заказывать работу за деньги, если не найдете ее в Интернете?

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



Результаты(290253)
Комментарии (4187)
Copyright © 2005-2021 HEKIMA.RU [email protected] реклама на сайте