|
|||
Порядок выполнения индивидуального задания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.
|
|||
|