IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

> Cтрока символов, Помогите пож Проблемка !!!
BAEVIK
сообщение 24.04.2009 21:57
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 40
Пол: Мужской
Реальное имя: САША

Репутация: -  0  +


№ 1. Дана строка символов, состоящая из произвольного текста на английском языке, слова разделены пробелами. Поменять местами i-е и j-е слова.
№ 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 - 24.04.2009 22:14
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 1)
volvo
сообщение 24.04.2009 22:06
Сообщение #2


Гость






Цитата
помагите как написать чтоб слову давала номер и чтоб их потом менять !
Что ж ты написал-то тогда?

Вот так строка разбивается на слова:
procedure TForm1.Button1Click(Sender: TObject);
var
  s: string;
  sL: TStringList;
  i: integer;
begin
  s := 'one two three four';
  try
    sL := TStringList.Create;
    sL.Delimiter := ' ';
    sL.DelimitedText := s;

    for i := 0 to sL.Count - 1 do ShowMessage(sL[i]);
  finally
    sL.Free;
  end;
end;
Прикручивай к своей программе, раз уже написал...
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия 28.07.2025 11:17
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"