Вход

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

Реферат* по информатике и информационным технологиям
Дата добавления: 01 сентября 2010
Язык реферата: Русский
Word, rtf, 241 кб (архив zip, 25 кб)
Реферат можно скачать бесплатно
Скачать
Данная работа не подходит - план Б:
Создаете заказ
Выбираете исполнителя
Готовый результат
Исполнители предлагают свои условия
Автор работает
Заказать
Не подходит данная работа?
Вы можете заказать написание любой учебной работы на любую тему.
Заказать новую работу
* Данная работа не является научным трудом, не является выпускной квалификационной работой и представляет собой результат обработки, структурирования и форматирования собранной информации, предназначенной для использования в качестве источника материала при самостоятельной подготовки учебных работ.
Очень похожие работы
Найти ещё больше
На тему: « Знакомство с компонентами RadioGroup и CheckBox , обработка строк типа String в среде Delphi » Задание 1. (Калькулятор). Создайте приложение, обеспечивающее ввод дву х целых чисел и выполнение над ними арифметических операций сложения, ум ножения и вещественного деления. Для выбора операций используйте перек лючатели, вывод сообщения об ошибке при вводе делителя, равного нулю, вып олните в отдельном окне сообщений. Решение: 1. Сохраните проект в отдельной папке «Калькулято р». Проект назовите Calculator , а файл модуля – mainCalc . pas . 2. Задайте для свойства Form 1 . Ca ption значение «Калькулятор». Разместите на форме компоненты (см. рис. 3 .1) Edit 1,2,3 и Label 1,2,3. Задайте свойства Caption для компонентов Label – «операнд1», «операнд2», «Результат». Удалите текст Edit 1,2,3 в соответствующих ком понентах (используйте свойство Text ). Разместите на форме компонент Button 1. Кнопку назовите «Вычисли ть». 3. Разместите на форме компонент RadioGroup 1 из палитры Standard . Задайте для свойства Caption значение «Операция ». Затем выберите свойство Items (это свойство задает количество переключателей в группе и н адписи около них). В окне String List Editor введите список элементов – символов арифметических операций в столбик: +, -, *, /. Щелкните мышкой по кн опке ОК, завершите формирование списка арифметических операций. 4. В окне Инспектора объектов задайте для свойства RadioGroup . It emIndex значение 0, чтобы сделать первую кнопку (сложение) выбранн ой по умолчанию. Задайте размер символов этого компонента, установив зна чение 14 пунктов. Примечание: определить во время выполнения, какая кнопка выбрана в данный момент, можно по индексу ItemIndex (0 означает перв ую кнопку, -1 – ни одна кнопка не выбрана). Форма будет иметь следующий вид: Рис. 3 .1 Пример формы приложения «Калькулятор» 1. Создайте код обработк и события щелчка на кнопке с надписью «Вычислить». Для решения задачи вы числения арифметических операций введите в текст процедуры TForm 1 . Bu tton 1 Click следующее описание: Var a, b : integer ; c : real ; Так как в процедуре обработки нажатия кнопки долж но быть 4 варианта реализации, по одному для каждой арифметической опера ции, то следует записать выбор вычисления с помощью оператора Case . В основном теле процедуры обработки события введите текст остальных оп ераторов следующим образом: Begin A:=StrToIn t (Edit1. Te xt) ; B:=StrToIn t (Edit2. Te xt) ; Edit3 . Te xt :=’ ‘ ; очистить от результата предыдущих вычи слений Case RadioGroup1 . It emIndex 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 . It emIndex <> 3 then Edit3 . Te xt:= FloatToStr F (c, ffGeneral, 10, 4) Else if b <> 0 then Edit3 . Te xt:= FloatToStr F (c, ffGeneral, 10, 4) ; End ; 6. Сохраните и запустите приложение на выполнение. 7*. Самостоятельно исправьт е код программы модуля, использ уя другой вариант оператора Case (составной оператор) и сохраните проект Calculator 2, а модуль – mainCalc 2. Задание 2. Отредактируйте текст модуля приложения Calculator таким образом, чтобы перед выполнением вычислений выполнял ась проверка: а) заданы ли значения операндов, если значения операндов не заданы, то следует вывести сообщения об этом в отдельном окне; б) запретит ь ввод любых символов, кроме цифр от 0 до 9 и знаков « – » , «+». Решение (а): Поместите перед оператором присваивания A := StrToIn t ( Edit 1. Te xt) ; строку : If (Edit1 . Te xt <> ‘ ’ ) and (Edit2 . Te xt <> ‘ ’ ) then begin которая проверяет значения свойств Edit 1. text и Edit 2. text . Если эти значения не пусты, то выполняется вычисление арифметической операции, в противном с лучае управление передается на следующий фрагмент программы, который н ужно вставить перед последним оператором end ; Else ShowMessage ( ‘ Не заданы значения’ ) ; Решение (б): Для реализации второй части задания необходимо создать обр аботчики событий OnKeyPress для компонентов Edit 1, Edit 2. Примечание: параметр Key в обработчике этого события соответствует символу нажатой клавиши. При этом различаются си мволы в верхнем и нижнем регистрах и символы кириллицы латиницы. Клавиши , не имеющие соответствующих им кодов ASCII ( Shift , Alt , Ctrl и функциональные кл авиши), не вызывают этого события. Поэтому нажатие таких комбинаций клав иш, как, например, Shift + A , генерирует тольк о одно событие OnKeyPress , при котором параметр Key равен «А». Для того чтобы распознавать подобные комбинации клавиш, следует использовать обработчики событий OnKeyDown , OnKeyUp . 1. Выделите на форме объ ект Edit 1 и выберите в окне Инспектора объектов на странице 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). Таким образом, в окне Edit 1 будет отобр ажаться текст, состоящий из цифр и знаков «+, -». 3. Аналогичным образом создайте процедуру обработки события компонента Edit 2. 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 Button1Clic k (Sender: TObject); procedure Edit1KeyPres s (Sender: TObject; var Key: Char); procedure Edit2KeyPres s (Sender: TObject; var Key: Char); private Private declarations public Public declarations end; var Form1: TForm1; implementation $R *.dfm procedure TForm1 . Bu tton1Clic k (Sender: TObject); var a , b : integer; c: real; begin if (Edit1 . Te xt<>'') and (Edit2 . Te xt<>'') then begin a:=StrToIn t (Edit1. Te xt); b:=StrToIn t (Edit2. Te xt); Edit3 . Te xt : =''; case RadioGroup1 . It emIndex 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 . It emIndex <> 3 then Edit3 . Te xt:=FloatToStr F (c, ffGenera l, 1 0,4) else if b<>0 then Edit3 . Te xt:=FloatToStr F (c, ffGenera l, 1 0,4); end else ShowMessage ('Не заданы значения'); end; procedure TForm1 . Ed it1KeyPres s (Sender: TObject; var Key: Char); begin if not (Key in ['0'..'9 ', ' + ', ' -']) then Key:=#0; end; procedure TForm1 . Ed it2KeyPres s (Sender: TObject; var Key: Char); begin if not (Key in ['0'..'9 ', ' + ', ' -']) then Key:=#0; end; end. Задание 3. Создайте прилож ение, предлагающее пользователю ввести строку, определяющее количеств о символов в ней и выводящее результат, согласуя окончание слова «символ ов» с числом символов. Решение: 1. Создайте папку «Количество символов» и сохраните в ней проект « simvol ». 2. Разместите на форме компоненты: Edit 1, Label 1,2, Button 1, к ак показано на рис. 3 .2. Задайте значения свойств Label 1 . Ca ption – «Введите текст», Label 2 . Ca ption – «В тексте», Button 1 . Ca ption – «Вычислить». Удалите те кст Edit1 из соответст вующего компонента. Рис. 3 .2 Пример формы проекта «Количество символов» 3. Для вычисления количества символов во введенно й строке и вывода результата создайте процедуру обработчика события ще лчка мышью на кнопке «Вычислить». 4. Введите в текст процедуры следующее описание переменных: Var N : integer ; S : string ; 5. Введите текст тела процедуры обработки события: Begin N := Lengt h ( Edit 1. Te xt ) ; определить число символов Label 2 . Ca ption := ‘ В текст е’ ; If N >20 then N := N mod 10 ; выделить последнюю цифру Case N of 1 : S : = ‘ символ ’ ; 2..4 : S : = ‘ символа’ ; 0, 5..20 : S : = ‘ символов’ ; End ; Label2 . Ca ption : = Label2 . Ca ption + IntToSt r (Length( Edit1 . Te xt )) + S ; End ; Примечание: функция Length – это функция обработки String переменных, определяет количество символов ввод имой строки (см. раздел 1). 6. Сохраните проект и запустите программу на выполнение. Просмотрите рез ультат программы, задавая текст с разным количеством символов и проверя я правильность вывода результатов работы. Задание 4. Создайте прилож ение, которое предлагает ввести текст, а затем заменить символы «а» на «б » в тексте и подсчитать количество замен. Решение: 1. Создайте папку «Замена символов» и сохраните в ней проект под название м « zamena », файл модуля сохраните как zmain . pas . 2. Форму приложения назовите «Подсчет и замена символов». На форме распол ожите три компонента Edit , три компонента Label , один компонент Button и два компонента CheckBox , как показано на рис. 3 .3. 3. Задайте значения свойств: Label 1 . Ca ption – «Исходный текст на русском языке», Label 2 . Ca ption – «Измененный текст», Label 3 . Ca ption – «Число замен», Button 1 . Ca ption – «Выполнить», CheckBox 1 . Ca ption – «Подсчитать число замен », CheckBox 2 . Ca ption – «Заменить «а» на «б» ». Удалите текст Edit1,2,3 из соответствующих компонентов. Рис. 3 .3 Пример формы проекта «Замена символов» 4. Для замены и подсчета символов запишите процедуру обработки события OnClick для кнопки «Выпо лнить». Введите следующее описание переменных: Var S : string ; N : byte ; Примечание: для поиска символа в строке используй те функцию Pos . Для п рограммирования варианта замены символов используйте значение свойст ва Checked компонента CheckBox . 5. Тело процедуры может быть записано следующим образом: Begin N : = 0 ; Edit3 . Te xt : = ‘ ’ ; Edit2 . Te xt : = ‘ ’ ; S : = Edit1 . Te xt ; If CheckBox2 . Ch ecked then если включен флажок While Po s (‘ a ’ , S ) > 0 do если в строке найдена буква «а» Begin N : = N + 1 ; S [ Pos (‘ a ’ , S )] : = ‘ б’ ; заменить букву «а» на букву «б» End ; If CheckBox1 . Ch ecked then Edit3 . Te xt : = IntToStr(N) ; вывод числа замен Edit 2 . Te xt : = S ; в ывод измененного текста End ; 6. Сохраните проект и запустите на выполнение.
© Рефератбанк, 2002 - 2024