Хелпикс

Главная

Контакты

Случайная статья





Порядок выполнения индивидуального задания



6. Порядок выполнения индивидуального задания

     Задание: написать программу подсчета числа слов в произвольной строке. В качестве разделителя может быть любое число пробелов. Для ввода строк и работы с ними использовать TComboBox. Ввод строки заканчивать нажатием клавиши Enter. Для выхода из программы использовать кнопку Close.

     Панель диалога будет иметь вид (рис. 1).

     Текст программы приведен ниже.

 

unit tema5;

 

interface

 

uses

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

StdCtrls, Buttons;

 

type

TForm1 = class(TForm)

Label2: TLabel;

Label3: TLabel;

BitBtn1: TBitBtn;

ComboBox1: TComboBox;

Label1: TLabel;

procedure FormActivate(Sender: TObject);

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

procedure ComboBox1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

 

var

Form1: TForm1;

 

implementation

 

{$R *.DFM}

 

// Обработка события активизации формы

procedure TForm1.FormActivate(Sender: TObject);

begin

ComboBox1.SetFocus;                             // Передача фокуса ComboBox1

end;

 

// Обработка события нажатия левой клавиши мыши

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

begin

if key=#13 then begin                                   // Если нажата клавиша Enter, то...

ComboBox1.Items.Add(ComboBox1.Text); // Строка из окна редактирования

                                                                 // заносится

 в список выбора

ComboBox1.Text:='';                               // Очистка окна редактирования

            end;

end;

 

procedure TForm1.ComboBox1Click(Sender: TObject);

var st : string;

n,i,nst,ind: integer;

begin

n:=0;                                                      // Содержит число слов

ind:=0;

nst:=ComboBox1.ItemIndex;                // Определение номера выбранной строки

st:=ComboBox1.Items[nst];        // Занесение выбранной строки в переменную st

for i:=1 to Length(st) do begin            // Просмотр всех символов строки st

  case ind of

      0 : if st[i]<>' ' then begin              // Если встретился символ после пробела

            ind:=1;

             n:=n+1;                                // Число слов увеличивается на единицу

                            end;

      1 : if st[i]=' ' then ind:=0;             // Если встретился пробел после символов

                        end;

    end;

 

Label3.Caption:=IntToStr(n);            // Вывод числа слов в Label3

 

end;

 

end.

 



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.