Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.05.2013, 12:21   #1
Zmeeust
Новичок
Джуниор
 
Регистрация: 08.02.2010
Сообщений: 1
По умолчанию Множества

Здравствуйте, уважаемые форумчане, столкнулся с следующей проблемой:
Нужно, используя множества, из строки выдернуть гласные буквы:
Вот собственно код:
Код:
procedure TForm27.Button1Click(Sender: TObject);
type
  letters = set of 'a'..'z';
var
  i:Integer;
  let:letters;
begin
  let:= ['а','и','о','у','ы','э','я','е','ю'];
  for i:=1 to Length(edit1.Text) do
  begin
  if edit1.Text[i] in let then
    Edit2.Text:=Edit2.Text+edit1.Text[i];
  end;

end;
На этапе сравнения с элементами множества, не выбирает не одной буквы.
Delphi xe3
Помогите пожалуйста разобраться.

Последний раз редактировалось Zmeeust; 01.05.2013 в 12:33.
Zmeeust вне форума Ответить с цитированием
Старый 01.05.2013, 13:14   #2
Скандербег
Форумчанин
 
Регистрация: 04.04.2009
Сообщений: 438
По умолчанию

Тип letters определен на множестве латинских букв, а в переменной let буквы русские. Непорядок.
Код:
type
  letters = set of 'а'..'я';
Скандербег вне форума Ответить с цитированием
Старый 01.05.2013, 13:17   #3
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,430
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
const
  letters: TSysCharSet = ['а', 'и', 'о', 'у', 'ы', 'э', 'я', 'е', 'ю'];
var
  i: Integer;
  s: rawbytestring;
  r: string;
begin
  r := '';
  s := rawbytestring(Edit1.Text);
  for i := 1 to Length(s) do
  begin
    if charinset(s[i], letters) then
      r := r + s[i];
  end;
  Edit2.Text := r;
end;
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Pascal ABC. Множества. Сформировать два множества из M и N элементов случайным образом. powersej Паскаль, Turbo Pascal, PascalABC.NET 0 13.12.2012 21:08
Pascal ABC. Множества. Сформировать два множества из M и N элементов случайным образом. powersej Помощь студентам 0 13.12.2012 20:58
Сравнить мощность множества, состоящего из чисел от 1 до N с мощностью множества, состоящего из отрицательных элементов вектора В MaSS93 Паскаль, Turbo Pascal, PascalABC.NET 5 24.05.2012 20:04
Множества fisher94 Помощь студентам 0 16.02.2012 21:14
Через множества заданы сорта роз,выращиваемых цветоводами. Ввод множества с клавиатуры,сравнение множеств BAMbarBIO Паскаль, Turbo Pascal, PascalABC.NET 5 31.05.2011 13:17