![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
|
Kак сделать этот код глобальной процедурой
Код:
var sum2:real; begin sum2:=0; adotable3.Active:=true; adotable3.First; while ADOTable3.Eof <>true do begin sum2:=sum2+ADOTable3pribol.Asfloat; ADOTable3.Next; end; LABEL3.Caption:=floattostr(sum2); adotable3.Active:=false; end; |
|
#2
|
|||
|
|||
|
Сделать процедуру и передать в нее все объекты, к которым она должна иметь доступ. Или адресаоваться внутри глобальной процедуры через глобальные ссылки на соотв. формы (будет работать, если у тебя формы создаются автоматически, при динамическом создании скорее всего работать этот способ не будет).
|
|
#3
|
||||
|
||||
|
Код:
procedure calculate; var sum2:real; ADOtable3: tADOtable; label3:tlabel; adotable3pribol: TFloatField; begin sum2:=0; adotable3.Active:=true; adotable3.First; while ADOTable3.Eof <>true do begin sum2:=sum2+ADOTable3pribol.Asfloat; ADOTable3.Next; end; LABEL3.Caption:=floattostr(sum2); adotable3.Active:=false; end; Код:
procedure TForm1.Button1Click(Sender: TObject); begin calculate; end; Код:
[DCC Warning] Unit1.pas(155): W1036 Variable 'ADOtable3' might not have been initialized [DCC Warning] Unit1.pas(159): W1036 Variable 'adotable3pribol' might not have been initialized [DCC Warning] Unit1.pas(162): W1036 Variable 'label3' might not have been initialized При вызове выдает ошибку...можете сказать что я делаю не правильно и как будет правильнее?? |
|
#4
|
|||
|
|||
|
Как-то так:
Код:
procedure calculate(ADOtable3: tADOtable; label3:tlabel);
var
sum2:real;
begin
sum2:=0;
adotable3.Active:=true;
adotable3.First;
while ADOTable3.Eof <>true do
begin
sum2:=sum2+ADOTable3.fieldByName('pribol').Asfloat;
ADOTable3.Next;
end;
LABEL3.Caption:=floattostr(sum2);
adotable3.Active:=false;
end;или же как у тебя, но тогда надо создать соотв. компоненты в коде, установить соединение и т.д. ЗЫ. вроде не новичек, а элементарных вещей не знаешь... странно. |
|
#5
|
||||
|
||||
|
Благодаря вам Я и научился программировать!
то что ты написал я уже пробовал - но потом этот код вызвать просто так begin calculate; end; не получиться... по этому я вставил тот код который не может включить ADOTABLE Последний раз редактировалось Electronic_Arts, 26.10.2010 в 20:25. |
|
#6
|
||||
|
||||
|
ой ссори - не обратил внимания всё разобрался .........спасибо тебе lmikle
Код:
begin calculate(ADOTable3, LABEL3); end; |