№ 2. Дана строка символов, состоящая из произвольного текста на английском языке, слова разделены пробелами. Поменять местами первую и последнюю буквы каждого слова.
Я написал програму саму помагите как написать чтоб слову давала номер и чтоб их потом менять !
unit Tema5;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm2 = class (TForm)
Label1: TLabel;
ComboBox1: TComboBox;
Label2: TLabel;
Label3: TLabel;
procedure FormActivate(Sender: TObject);
procedure ComboBox1KeyPress(Sender: TObject; var Key: Char);
procedure ComboBox1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
{$R *.dfm}
//Обработка события активизации формы
procedure TForm2.FormActivate(Sender:TObject);
begin
ComboBox1.SetFocus; //передача фокуса в ComboBox1
end;
//Обработка события нажатия левой кнопки мыши
procedure TForm2.ComboBox1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then //если нажата клавиша Enter
begin
ComboBox1.Items.Add(ComboBox1.Text); //строка из окна редактирования // заносится в список выбора
ComboBox1.Text:=''; //очистка окна редактирования
end;
end;
procedure TForm2.ComboBox1Click(Sender: TObject);
var st:string;
n,i,nst,ind:integer;
begin
n:=0; //n-число слов в строке
ind:=0;
nst:=ComboBox1.ItemIndex; // определение номера выбранной строки
st:=ComboBox1.Items[nst]; //занесение выдел. строки в переменную st
for i:=1 to Length(st) do //просмотр всех символов строки st
begin
case ind of
0:
if st[i]<>' ' then //если встретился символ после пробела
begin
ind:=1;
n:=n+1; //число слов увеличивается на единицу
end;
1:
if st[i]=' 'then ind:=0; //если встретился пробел после //символов
end;
Label3.Caption:=IntToStr(n); //вывод числа слов в Label3
end;
end;
end.
Сообщение отредактировано: BAEVIK -