Вниз
Скачать: 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.017 c
1-48554
Azius
2003-09-01 12:10
2003.09.15
TPopupMenu


1-48511
Фагот
2003-09-02 11:34
2003.09.15
Outlook


4-48833
memphis
2003-07-13 18:40
2003.09.15
Эмуляция CTRL+ALT+DEL


7-48815
Ega23
2003-06-25 09:22
2003.09.15
Идеологический вопрос про USB (+)


14-48789
Карелин Артем
2003-08-25 17:09
2003.09.15
Диалап самодельный VS провайдеровского.




   Наверх