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

> ВНИМАНИЕ!

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

 
 Ответить  Открыть новую тему 
> Дана строка символов, состоящая из произвольного текста на английском языке, слова разделены пробелами. Поменять местами i-е и j-е слова., Дана строка символов, состоящая из произвольного текста на английском
Jarj
сообщение 24.12.2014 20:00
Сообщение #1





Группа: Пользователи
Сообщений: 2
Пол: Мужской

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


Дана строка символов, состоящая из произвольного текста на английском языке, слова разделены пробелами. Поменять местами i-е и j-е слова. Задачу нужно сделать с ComboBox
Пытался делать задачу по примеру но ничего не вышло. Заранее спасибо

Сообщение отредактировано: Jarj - 24.12.2014 20:01
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Федосеев Павел
сообщение 24.12.2014 23:11
Сообщение #2


Бывалый
***

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

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


В модуле StrUtils есть процедуры поиска i-того слова.
У меня нет Delphi, только FreePascal. Но FPC во многом совместим с Delphi.
На примере консольной программы покажу как заменять слова при помощи библиотеки StrUtils:
{$mode Delphi}

program tak_001;

uses
StrUtils;

procedure ExchangeWords(var s: string; i, j: integer);
var
WordI, WordJ: string;
PosI, PosJ: integer;
begin
WordI := ExtractWordPos(i, s, [' '], PosI);
WordJ := ExtractWordPos(j, s, [' '], PosJ);

if (WordI = '') or (WordJ = '') then
exit;

writeln(i, '-e: "', WordI, '"');
writeln(j, '-e: "', WordJ, '"');

Delete(s, PosI, length(WordI));
Insert(WordJ, s, PosI);

WordJ := ExtractWordPos(j, s, [' '], PosJ);
Delete(s, PosJ, length(WordJ));
Insert(WordI, s, PosJ);
end;

var
s: string;
i, j: integer;
begin
s := 'first second third fourth fifth sixth seventh eightth nineth tenth';
writeln(s);
ExchangeWords(s, 2, 3);
writeln(s);
end.

По поводу ComboBox ничего не могу посоветовать, т.к. не умею пользоваться визуальными компонентами (пока не было необходимости).

Сообщение отредактировано: Федосеев Павел - 24.12.2014 23:13
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Гость
сообщение 25.12.2014 12:33
Сообщение #3


Гость






Спасибо за код. Только таких я находил кучу без комбобокса
 К началу страницы 
+ Ответить 
Федосеев Павел
сообщение 25.12.2014 17:24
Сообщение #4


Бывалый
***

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

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


А ты умеешь в коде програмы получить из ComboBox строку для преоьразования?

Тогда можно так:

procedure Нажата_Кнопка или Какое-то событие (...);
var
s: string;
begin
............
s:=ComboBox.Text; //получение строки
i:=....//получение параметров i и j
j:=....//
ExchangeWords(s, i, j);
............
Вывод строки s в какое-либо поле или обратно в Edit ComboBox'а.
end;

Что не устраивает?
ComboBox это лишь форма ввода строковых данных, не более того (согласно ссылке).
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 



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