[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » В помощь программисту » Delphi » Урок 2. Собеседник - это просто
Урок 2. Собеседник - это просто
clubdanceДата: Суббота, 2008-09-20, 4:08 PM | Сообщение # 1
Admin
Группа: Администраторы
Сообщений: 3
Репутация: 0
Статус: Offline
Сегодня мы создадим простого собеседника используя оператор предыдущего урока - 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.


This is The Olimpeek
 
56960@internetruДата: Понедельник, 2022-12-19, 11:11 PM | Сообщение # 2
новичок
Группа: Пользователи
Сообщений: 1
Репутация: 0
Статус: Offline
https://cloud.mail.ru/public/MESs/Y7n5dY1JY
 
Форум » В помощь программисту » Delphi » Урок 2. Собеседник - это просто
  • Страница 1 из 1
  • 1
Поиск: