Помощь - Поиск - Пользователи - Календарь
Полная версия: Дана строка символов, состоящая из произвольного текста на английском языке, слова разделены пробелами. Поменять местами i-е и j-е слова.
Форум «Всё о Паскале» > Современный Паскаль и другие языки > Делфи
Jarj
Дана строка символов, состоящая из произвольного текста на английском языке, слова разделены пробелами. Поменять местами i-е и j-е слова. Задачу нужно сделать с ComboBox
Пытался делать задачу по примеру но ничего не вышло. Заранее спасибо
Федосеев Павел
В модуле 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 ничего не могу посоветовать, т.к. не умею пользоваться визуальными компонентами (пока не было необходимости).
Гость
Спасибо за код. Только таких я находил кучу без комбобокса
Федосеев Павел
А ты умеешь в коде програмы получить из ComboBox строку для преоьразования?

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

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

Что не устраивает?
ComboBox это лишь форма ввода строковых данных, не более того (согласно ссылке).
lasix pay online american expres
Cialis Belgique Sans Ordonnance
prednisolone dose for allergic r
Lamisil 250 Mg Online
nishaknapp
Why not settling on games that is fun and at the same time your earning. Well it'll make suspense because the game is well but dude just try it and it gave me hope while pandemic is real rn. 5 Top Recommendations for Newbies to Enjoy Online Casinos
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.