Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Обработка ошибки, TRadioGroup 
:(
    Опции темы
Student00
Дата 13.5.2008, 16:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 95
Регистрация: 22.11.2007
Где: Барнаул

Репутация: нет
Всего: нет



Код

procedure TForm1.BitBtn3Click(Sender: TObject);
var
strField:string;
begin
    case RadioGroup1.ItemIndex of
      0: strField:='kod_tovar';
      1: strField:='naimen';
      2: strField:='adress';
      3: strField:='telefon';
    end;
Z1.Close;
Z1.SQL.Clear;
Z1.SQL.Add('SELECT postavshik.kod_tovar, postavshik.naimen, postavshik.adress, postavshik.telefon FROM postavshik where '+strField+' LIKE "'+Edit1.Text+'%"');
Z1.Open;
DataSource4.DataSet:=Z1;
end;


Т.е. необходимо выбрать нужный РадиоБуттон (условие поиска) и нажать кнопку. Тогда программа выполниться.

Но если же например забыть поставить радиокнопку, но нажать BitBtn3Click, то вылетает ошибка.

Ребят, подскажите плз как обработать ситуацию, чтобы если радио - пустое, то процесс останавливался. Если же все норм то продолжал выполняться?

Это сообщение отредактировал(а) Student00 - 13.5.2008, 16:26
PM MAIL   Вверх
ama_kid
Дата 13.5.2008, 16:29 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


АСУТП-кодер
***


Профиль
Группа: Комодератор
Сообщений: 1460
Регистрация: 5.3.2007
Где: Москва

Репутация: 15
Всего: 95



Цитата(Student00 @  13.5.2008,  16:23 Найти цитируемый пост)
как обработать ситуацию, чтобы если радио - пустое, то процес останавливался. Если же все норм то продолжал выполняться?
Код
procedure TForm1.BitBtn3Click(Sender: TObject);
var
strField:string;
begin
    if (RadioGroup1.ItemIndex<0) then
     begin
      ShowMessage('Error');
      exit;
     end;
    case RadioGroup1.ItemIndex of
      0: strField:='kod_tovar';
      1: strField:='naimen';
      2: strField:='adress';
      3: strField:='telefon';
    end;
...
end;





--------------------
самурай без меча подобен самураю с мечом, но только без меча 
PM MAIL   Вверх
Poseidon
Дата 13.5.2008, 17:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: 53
Всего: 133



Цитата(Student00 @  13.5.2008,  16:23 Найти цитируемый пост)
Ребят, подскажите плз как обработать ситуацию, чтобы если радио - пустое, то процесс останавливался.
Разбиремся поэтапно:
Если RadioGroup "пустое", то его ItemIndex равен -1
Что бы "остановить процесс", нужно вызвать Exit.

Следовательно
Код

procedure TForm1.BitBtn3Click(Sender: TObject);
var
strField:string;
begin
    case RadioGroup1.ItemIndex of
     -1: exit; // <--- нужно добавить всего-лишь это
      0: strField:='kod_tovar';
      1: strField:='naimen';
      2: strField:='adress';
      3: strField:='telefon';
    end;
Z1.Close;
Z1.SQL.Clear;
Z1.SQL.Add('SELECT postavshik.kod_tovar, postavshik.naimen, postavshik.adress, postavshik.telefon FROM postavshik where '+strField+' LIKE "'+Edit1.Text+'%"');
Z1.Open;
DataSource4.DataSet:=Z1;
end;



--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
Student00
Дата 13.5.2008, 18:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 95
Регистрация: 22.11.2007
Где: Барнаул

Репутация: нет
Всего: нет



Спасибо, Всем кто отписался, за помощь! ))

Хотя вариант ama_kid мне подошел больше, т.к. присутствует ShowMessage


Это сообщение отредактировал(а) Student00 - 14.5.2008, 10:50
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0456 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.