Воскресенье, 19.05.2024, 08:39
Компьютерный мир
Приветствую Вас Гость | RSS
Главная Каталог статей Регистрация Вход
Меню сайта

Категории каталога
Разное [3]
Юмор [4]
Полезное [0]
Полезные статьи о компьютерах.
Вирусы и антивирусы [2]
BIOS [1]
Железо [0]
Программирование [3]
Безопасность [0]

Мини-чат

Наш опрос
Какую вы предпочитаете операционную систему?
Всего ответов: 34

Главная » Статьи » IT » Программирование

Урок 3. Собеседник - это просто


Урок 3. Собеседник - это просто


Сегодня мы создадим простого собеседника используя оператор предыдущего урока - if...then. Так называемый собеседник будет разговаривать по правилу один вопрос - один ответ. Создадим на форме окно для ввода текста. Оно находиться на вкладке Standart компонент называется Edit1(здесь мы и будем задавать вопросы). Разместим его на форме. Раздвиньте его на форме так, чтобы в нём могло поместиться предложение. Слово Edit1 в этом окошке нужно убрать для этого в поле Text(текст) в паспорте данного компонента удаляем содержимое. Для ответов собеседника используем компонент Label1. Он находиться тоже на вкладке Standart. В паспорте объекта в поле Caption опять же всё стираем и можем подобрать характеристики шрифта какие нам нравятся в строке Font. Для того чтобы наш собеседник понимал, что мы говорим разместим обычную кнопку на форме (Button1 вкладка Standart). Называем её так как нам нравиться. Двойным кликом на кнопке переходим в код нашей программы и попадаем в Unit1.Мы попадаем на такую процедуру

 

procedure TForm1.Button1Click(Sender: TObject);

begin

 

end;

end.


Как всегда пишем код между Begin и end; Поехали! Текст в итоге будет выглядеть так:

 

procedure TForm1.Button1Click(Sender: TObject);

begin

if Edit1.text='Привет'

then Label1.Caption :='Привет как дела!'

end;

end.


Жмем кнопку f9 и проверяем работу нашей программы. Пишем "Привет" и получаем ответ "Привет как дела!". Во время тестирования у вас могут появиться в олне естественные вопросы.
Почему он не реагирует на фразу "привет" написанную маленькими буквами???
Этот дефект программы можно устранить несколькими способами, но мы будем придерживаться одного. Он не реагирует на фразу так как мы не задали её для понимания. Вообще нам сложно это понять но компьютер жуткий -формалист и всё воспринимает буквально. Можно расширить кругозор нашего собеседника, например ,заменив прежнее условие условием более универсальным.

 

if(Edit1.text ='Привет!')or

(Edit1.text ='Привет !')or

(Edit1.text ='Салют!') //и так далее можно продолжать вариант вопроса

then label1.Caption :='Привет как дела!'


Теперь он будет отвечать "Привет как дела!" на все наши вопросы которые мы указали выше. После последнего вопроса в данном случае (Edit1.text ='Салют!') не ставиться служебное слово “or”. Если мы поставим, то программы будет кричать об ошибках.

Усовершенствуем программу

Перед словом begin нашей процедуры

procedure TForm1.Button1Click(Sender: TObject);


напишем следующий текст.

Var

s :string;


То-есть выглядеть должно так.

 

procedure TForm1.Button1Click(Sender: TObject);

var

s:string;

begin

……..

end;


Что это такое? Вполне логичный вопрос. В нашей программе var обозначает специальный раздел в который мы должны описать переменные которые мы придумали и которые пока ещё не известны Delphi. Прочитав их компьютер выделит для хранения значений каждой переменной некое хранилище - одну или несколько ячеек памяти в зависимости от типа переменной который указанно после двоеточия. И так же это гораздо облегчит нам процесс написания программы потом вы сами в этом убедитесь. Тип string означает что компьютер будет иметь дело со строчкой символов. После того как мы представили Delphi нашу переменную s ей нужно присвоить какое то значение. Это значение будет выглядеть так

s:= Edit1.text;

. Его нужно вписать в нашей процедуре после begin, перед тем как начать описание диалога. Теперь везде где нам надо написать Edit1.text нам достаточно написать одну букву s. В итоге код всей программы выглядит так.

unit Unit1;

interface

uses

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

Dialogs, StdCtrls, ExtCtrls;

type

TForm1 = class(TForm)

Edit1: TEdit;

Label1: TLabel;

Button1: TButton;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

var

s:string;

begin

s :=Edit1.Text;

if s ='привет'

then Label1.Caption:='Привет как дела!';

if s ='Как тебя зовут'

then Label1.Caption:='Rafik';

if s ='Кто тебя создал'

then Label1.Caption:='Rafik';

if s ='сколько тебе лет'

then Label1.Caption:='незнаю';

end;

end.

 

Категория: Программирование | Добавил: Alex (19.02.2008) | Автор: Александр
Просмотров: 801 | Комментарии: 4 | Рейтинг: 0.0/0 |
Всего комментариев: 3
3 Alex  
0
Начальный источник статьи сказать не могу, потому что она мне через третьи руки досталась

2 sedoy-90  
0
Статья с иннатак вроде.

1 sedoy-90  
0
О помню это я такими приколами страдал когда дельфи изучать начал :-)

Имя *:
Email *:
Код *:
Форма входа

Поиск

Друзья сайта

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Copyright MyCorp © 2024