• XSS.stack #1 – первый литературный журнал от юзеров форума

Убрать одинаковые символы

Exs42

RAID-массив
Пользователь
Регистрация
21.12.2005
Сообщения
72
Реакции
0
У меня есть Edit1,Edit2 и Button1. В первое вводиться какая то строка, после нажатия на кнопку из строки Edit1 должны удалиться все одиннаковые символы, а результат должен выводиться в Edit2.
Всё ништяк, тока я с циклами не разберусь... Чтоб сравнивать символы.
Как мне сделать цикл в цикле? Если можно примерчик...
 
Давай все нормально объясни. Допустим, в Edit1 у тебя abcaaaabbbb
ЧТо должно получиться в Edit2 ??? Вообще-то реализация делается одной рекурсией с POS функцией (и как я это вспомнил?!)
 
Shrek
В Edit2 должно получиться - abc и всё!
Блин клавишеваю на VB и Asm'е, вот хочу ещё и delphi выучить!
 
Ооо, давай я те на Делфях помогать буду, а ты мне на асме =))) Просто почитал лит-ру, грамотный юз асмы - ключ к компу...
Так вот, по твоему запросу..
Вставляешь в обработчик нажатия кнопки

Код:
var //Объявление переменных =))
Str, result: String; //Строковые
current:char; // Переменная типа "символ" ^_^
a:integer; //Целочисленная переменная
begin //Начало процедуры-обработчика нажатия кнопки
Str:=Edit1.text; //Тянем значения из Edit1 в переменную Str
while length(str)<>0 do //Пока длина строковой не равно 0
begin
result:=result+str[1]; //результат - будет увеличиваться на первую букву 
                                //строкойвой
current:=str[1]; //Первая буква берется на проверку
a:=1; //Просто чтобы начался цикл =)
while a<>0 do
begin
Delete(str,a,1); // Сразу удаляем первую букву (она такая же, что и в current)
a:=Pos(current,str); // Получаем номер следующей буквы (если такой нет, 
                             //получим 0 и этот цикл закончится
end;
end;
Edit2.Text:=result; //Записываем результат
end;
 
Договорились!:)
Только мыло своё напиши...Или сразу мне кидай письмо (Exs42@yandex.ru)
Спасибо за прогу!
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх