Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.09.15;
Скачать: 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 вся ветка

Текущий архив: 2003.09.15;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.02 c
3-48473
deadman
2003-08-19 16:40
2003.09.15
база и сервис NT


8-48657
zolotov
2003-05-06 12:40
2003.09.15
Проигрывание звуков


1-48620
Ткаченко Сергей
2003-09-03 12:07
2003.09.15
Прибавление к дате дня/месяца


3-48415
Алексей Петухов
2003-08-25 09:28
2003.09.15
Инсталяция BDE


6-48674
Чижик Пыжик
2003-07-12 18:34
2003.09.15
Как сделать запрос и отключиться?