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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.12.2010, 21:45   #1
TYMON
Пользователь
 
Регистрация: 19.06.2010
Сообщений: 80
По умолчанию Каждый нечетный символ - цифра

Даны пять текстовых полей edit, с длиной в пять символов каждое. Как организовать проверку на правильность (если каждый нечетный символ - цифра, жмешь ок и открывается вторая форма)
Только проверку подскажит
TYMON вне форума Ответить с цитированием
Старый 09.12.2010, 22:03   #2
_SERGEYX_
Участник клуба
 
Аватар для _SERGEYX_
 
Регистрация: 07.07.2007
Сообщений: 1,518
По умолчанию

Хе, тут много способов. Но,чтобы не делать перебор, я бы написал так:
Код:
procedure TForm1.RzBitBtn1Click(Sender: TObject);
var s: string;
begin
  s := Edit1.Text;
  s := s[1] + s[3] + s[5];
  try
    StrToInt(s);
    ShowMessage('1, 2 и 3 символы цифры');
  except
    on E: EConvertError do
      ShowMessage('1, 2 и 3 символы НЕ ВСЕ цифры');
  end;
end;
_SERGEYX_ вне форума Ответить с цитированием
Старый 09.12.2010, 22:05   #3
TYMON
Пользователь
 
Регистрация: 19.06.2010
Сообщений: 80
По умолчанию

Цитата:
Сообщение от _SERGEYX_ Посмотреть сообщение
Хе, тут много способов. Но,чтобы не делать перебор, я бы написал так:
Код:
procedure TForm1.RzBitBtn1Click(Sender: TObject);
var s: string;
begin
  s := Edit1.Text;
  s := s[1] + s[3] + s[5];
  try
    StrToInt(s);
    ShowMessage('1, 2 и 3 символы цифры');
  except
    on E: EConvertError do
      ShowMessage('1, 2 и 3 символы НЕ ВСЕ цифры');
  end;
end;
как то не особо хочется проверять пять полей таким вот способом)
TYMON вне форума Ответить с цитированием
Старый 09.12.2010, 22:30   #4
_SERGEYX_
Участник клуба
 
Аватар для _SERGEYX_
 
Регистрация: 07.07.2007
Сообщений: 1,518
По умолчанию

А циклы для чего?
Положи все Edit-ы на одну Panel1 (хоть 100 штук) и сделай функцю проверки
Код:
function TForm1.Check: Boolean;
var s: string;  i: Integer;
begin
  Result:= True;
  for i := 0 to Panel1.ControlCount - 1 do
  begin
    s := (Panel1.Controls[i] as TEdit).Text;
    s := s[1] + s[3] + s[5];
    try
      StrToInt(s);
    except
      Result := False;
      Break;
    end;
  end;
end;

//Использование
procedure TForm1.RzBitBtn1Click(Sender: TObject);
begin
if not Check then ShowMessage('Проверка не пройдена');
end;

Последний раз редактировалось _SERGEYX_; 09.12.2010 в 22:36.
_SERGEYX_ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Каждый символ string в ComboBox1 ? newprog12 Помощь студентам 1 24.01.2010 16:38
Удвоить каждый символ в строке мария2507 Microsoft Office Excel 7 22.12.2009 13:40
выписать каждый 5-символ StillFree Microsoft Office Word 23 25.03.2009 22:03
Удвоить каждый символ строки, потом перевернуть строку Didi Помощь студентам 6 20.05.2008 15:33