Вниз
Скачать: CL | DM;

Повторное использование кода..   Найти похожие ветки 

 
jack128 ©   (2003-09-03 16:39) [0]

Есть вот такой код

procedure TdmDeviceDataModule.SetDeviceId(const Value: Integer);
var
f : boolean;
begin
if Value <> GetDeviceType then
begin
qryArhive.DisableControls;
try
f := qryArhive.Active;
if f then CloseArhive;
qryArhive.ParamByName("DEVICE_ID").AsInteger := Value;
if f then OpenArhive;
finally
qryArhive.EnableControls;
end;
end;
end;
в методах SetArhiveType, SetFirstDate, SetLastDate будет такой же код, за исключением выделенной строки.
Как бы так извернуться, чтобы небыло повторения кода? Проблема в том FirstDate, DeviceId, ArhiveType - свойства разного типа..


 
Skier ©   (2003-09-03 16:44) [1]


> Проблема в том FirstDate, DeviceId, ArhiveType - свойства
> разного типа..

А именно ?


 
clickmaker ©   (2003-09-03 16:45) [2]

примерно так

procedure TdmDeviceDataModule.SetFieldValue(const FieldName: string; Value: Variant);
var
f : boolean;
begin
if Value <> GetFieldValue(FieldName) then
begin
qryArhive.DisableControls;
try
f := qryArhive.Active;
if f then CloseArhive;
qryArhive.ParamByName(FieldName).Value := Value;
if f then OpenArhive;
finally
qryArhive.EnableControls;
end;
end;
end;


 
jack128 ©   (2003-09-03 16:58) [3]


> Skier © (03.09.03 16:44) [1]

TdateTime, Integer и перечисляемый соответсвенно


> clickmaker © (03.09.03 16:45) [2]
Спасибо, наверное это то.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.032 c
14-48723
Gregi
2003-08-27 23:07
2003.09.15
прошу помочь


3-48404
Vitalygavrilov
2003-08-26 08:27
2003.09.15
Как произвести обмен данными между MDI-окнами


11-48487
microlab
2003-01-06 19:26
2003.09.15
TKOLListView


14-48712
Ru
2003-08-27 14:57
2003.09.15
Давайте сделаем гипотетическое представление


14-48770
Карелин Артем
2003-08-26 13:46
2003.09.15
Как сделать, чтобы шапка таблицы в Екселе печаталась на всех стр.




   Наверх