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

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

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.06.2015, 20:31   #1
MixanMM
Форумчанин
 
Регистрация: 09.06.2009
Сообщений: 151
По умолчанию процедура с элементами формы

подскажите пожалуйста, вот есть кусок :
Код:
procedure TForm1.Button34Click(Sender: TObject);   //кнопка ПИВО
var
 n1:string;
begin
GroupBox2.Visible:=false;
GroupBox1.Visible:=true;
n1:='1';
  ADOQuery1.Active :=False;
  ADOQuery1.SQL.Clear;
  ADOQuery1.SQL.Add('SELECT imya FROM sklad_ostatki WHERE kran='+n1);
  ADOQuery1.Active:=True;
  if ADOQuery1.RecordCount > 0 then
    begin
     Button1.Enabled :=true;
     Button1.Caption:= ADOQuery1.Fields[0].AsString;
     ADOQuery1.Active :=False;
     ADOQuery1.SQL.Clear;
     ADOQuery1.SQL.Add('SELECT otkr FROM sklad_ostatki WHERE kran='+n1);
     ADOQuery1.Active:=True;
     Label2.Caption:= ADOQuery1.Fields[0].AsString;
     ADOQuery1.Active :=False;
     ADOQuery1.SQL.Clear;
     ADOQuery1.SQL.Add('SELECT v_tare FROM sklad_ostatki WHERE kran='+n1);
     ADOQuery1.Active:=True;
     Label1.Caption:= ADOQuery1.Fields[0].AsString;
    end
 else
  begin
  Button1.Enabled :=false;
  end;
end;
Хочу создать процедуру :
Код:
ADOQuery1.Active :=False;
  ADOQuery1.SQL.Clear;
  ADOQuery1.SQL.Add('SELECT imya FROM sklad_ostatki WHERE kran='+n1);
  ADOQuery1.Active:=True;
  if ADOQuery1.RecordCount > 0 then
    begin
     Button1.Enabled :=true;
     Button1.Caption:= ADOQuery1.Fields[0].AsString;
     ADOQuery1.Active :=False;
     ADOQuery1.SQL.Clear;
     ADOQuery1.SQL.Add('SELECT otkr FROM sklad_ostatki WHERE kran='+n1);
     ADOQuery1.Active:=True;
     Label2.Caption:= ADOQuery1.Fields[0].AsString;
     ADOQuery1.Active :=False;
     ADOQuery1.SQL.Clear;
     ADOQuery1.SQL.Add('SELECT v_tare FROM sklad_ostatki WHERE kran='+n1);
     ADOQuery1.Active:=True;
     Label1.Caption:= ADOQuery1.Fields[0].AsString;
    end
 else
  begin
  Button1.Enabled :=false;
  end;
чтобы каждый раз этот код не писать, но Делфи ругвется на ADOQuery1 ( [dcc32 Error] 1.pas(131): E2070 Unknown directive: 'ADOQuery1')
MixanMM вне форума Ответить с цитированием
Старый 12.06.2015, 20:34   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну так ты такой компонент не кинул на форму.
Или процедура у тебя не метод формы, где этот компонент.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 12.06.2015, 20:40   #3
MixanMM
Форумчанин
 
Регистрация: 09.06.2009
Сообщений: 151
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Ну так ты такой компонент не кинул на форму.
Или процедура у тебя не метод формы, где этот компонент.
Ну нет, на форме то он присутсвует, в первом коде отрабатывает по нажатию кнопки.
MixanMM вне форума Ответить с цитированием
Старый 12.06.2015, 21:45   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Значит процедура не является методом формы )
Значит или делать ее методом, или писать полный путь: Form1.ADOQuery.Бла-Бла-Бла...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 13.06.2015, 20:03   #5
MixanMM
Форумчанин
 
Регистрация: 09.06.2009
Сообщений: 151
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Значит процедура не является методом формы )
Значит или делать ее методом, или писать полный путь: Form1.ADOQuery.Бла-Бла-Бла...
Спасибо, все заработало через Form1.ADOQuery1.Бла-Бла-Бла.
Но теперь другой вопрос, как в параметр передать кнопку Баттон? Т.е. что бы передавать в процедуру каждый раз разную кнопку ?
примерно так -
Код:
zapr('1', Form1.Button1);
и сама процедура :
Код:
procedure zapr (n1:string; Button:TObject);
begin
  Form1.ADOQuery1.Active :=False;
  Form1.ADOQuery1.SQL.Clear;
  Form1.ADOQuery1.SQL.Add('SELECT imya FROM sklad_ostatki WHERE kran='+n1);
  Form1.ADOQuery1.Active:=True;
  if Form1.ADOQuery1.RecordCount > 0 then
    begin
     Button.Enabled :=true;
     Button.Caption:= Form1.ADOQuery1.Fields[0].AsString;
     Form1.ADOQuery1.Active :=False;
     Form1.ADOQuery1.SQL.Clear;
     Form1.ADOQuery1.SQL.Add('SELECT otkr FROM sklad_ostatki WHERE kran='+n1);
     Form1.ADOQuery1.Active:=True;
     Form1.Label2.Caption:= Form1.ADOQuery1.Fields[0].AsString;
     Form1.ADOQuery1.Active :=False;
     Form1.ADOQuery1.SQL.Clear;
     Form1.ADOQuery1.SQL.Add('SELECT v_tare FROM sklad_ostatki WHERE kran='+n1);
     Form1.ADOQuery1.Active:=True;
     Form1.Label1.Caption:= Form1.ADOQuery1.Fields[0].AsString;
    end
 else
  begin
  Button.Active:=false;
  end;
end;
то что подчеркнул, там и получается затык
MixanMM вне форума Ответить с цитированием
Старый 13.06.2015, 21:38   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Нужно так:
Код:
procedure zapr (n1:string; Button:TButton)
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 13.06.2015, 22:21   #7
MixanMM
Форумчанин
 
Регистрация: 09.06.2009
Сообщений: 151
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Нужно так:
Код:
procedure zapr (n1:string; Button:TButton)
Нижайший, вам, поклон, Виталий
MixanMM вне форума Ответить с цитированием
Старый 13.06.2015, 22:41   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Спасибо ) ...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
С++ Работа с элементами другой формы BoozZzilla Windows Forms 9 12.10.2014 13:05
[C#] Управление элементами другой формы JonMagon Помощь студентам 13 07.11.2012 12:24
процедура-функция для нахождения Произведения элементов массива, расположенных между максимальным и ми-нимальным элементами uHkBu3uTop Паскаль, Turbo Pascal, PascalABC.NET 2 12.04.2012 19:18
Проблема с элементами формы и jquery coolartemka JavaScript, Ajax 1 02.06.2011 00:23
Создание формы-списка с элементами из БД maryan.vetrov PHP 10 24.12.2010 04:49