Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.10.08;
Скачать: CL | DM;

Вниз

Наследование   Найти похожие ветки 

 
ychenick ©   (2006-09-06 19:41) [0]

Необходимо добиться эффекта что б перед сохранением данных компоненет TTable шифровал их, а при чтении - дешифровал. Реално ли это сделать? Я не уверен, но думаю что нужно использовать наследование что б переопределить ф-цию, но, к сожалению, так и не понял какая именно ф-ция отвечает за сохранение и считование данных.

Собственно, прошу помочь реализовать.

Может кто подсказать статью о наследование в Delphi с большим количеством примеров?


 
Virgo_Style ©   (2006-09-06 20:58) [1]

Компонент TTable не занимается чтением и-или сохранением данных


 
ychenick ©   (2006-09-06 21:06) [2]

Так как же мне поступить что б перед сохранением всех полей шифровать данные, а при загрузке дешифровать?

Рас не TTable значить работать нужно с DataSource?


 
Пусик ©   (2006-09-06 23:09) [3]


> Рас не TTable значить работать нужно с DataSource?


См. TBDEDataSet.InternalOpen и иже с ним.


 
DrPass ©   (2006-09-07 00:10) [4]

ИМХО, тут не нужно заморачиваться с созданием своих компонент-наследников. Достаточно просто поместить код расшифровки/шифровки в обработчики OnGetText/OnSetText для нужных полей


 
vodvorezlaya   (2006-09-07 08:42) [5]


> Необходимо добиться эффекта что б перед сохранением данных
> компоненет TTable шифровал их, а при чтении - дешифровал.
>  Реално ли это сделать?

Да запросто, берёшь данные, по алгоритму шифруеш и записываешь.

Можно это дело немного упростить переписыванием.
Берёшь и пишешь

type
 TMyTable = class(TTable)
 private
 procedure AsInteger; dynamic;
   { Private declarations }
 public
   { Public declarations }
 end;

implementation

Procedure AsInteger;
begin
inherited;
//после inherited
//я не знаю что здесь, но добавляешь код шифрования
end;
Неплохая статья по этой теме с продолжением:
http://www.interface.ru/borland/d5prraz1.htm


 
ychenick ©   (2006-09-15 16:59) [6]

Всем спасибо, буду мучаться


 
MsGuns ©   (2006-09-15 17:16) [7]

Я бы не засовывал такие фещи, как инкрип-декрипт в компоненту.
- Во-первых потому, что надо будет во всех приложениях использовать именно TTable, что уже само по себе уродство
- Во-вторых, при изменении алгоритма надо будет лазать в компонент, править его, отлаживать, потому заново инсталить в Делфу на всех компьютерах, где может понадобиться компиллинг любого из приложений, юзающих данных компопнент.
- В-третьих, все фичи, которые могут понадобиться при развитии, в компонент не впихнешь.
- В-четвертых, если завтра потребуется перйти с парадокса на Interbase или мсскл, то что, надо всовывать эту функцию в соответствующие объектф доступа к этим базам ?

Подобные вещи лучше реализовать через "системные" библиотеки, юзаемые всеми разработчиками и расположенные на общем сетевом ресурсе. Любое изменение любой процедуры библиотеки требует лишь перекомпиляцию проектов. При этом не затрагивается ни тип БД, ни используемые компоненты доступа.



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

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

Наверх




Память: 0.48 MB
Время: 0.052 c
6-1147900537
AT
2006-05-18 01:15
2006.10.08
А как получить время на компе к примеру с ип ххх.ххх,ххх,ххх


2-1158302368
Laymer
2006-09-15 10:39
2006.10.08
Lable


2-1159033014
vain
2006-09-23 21:36
2006.10.08
Графика


1-1156861286
cod3r
2006-08-29 18:21
2006.10.08
ComPort Library - работа с com-портом


5-1140551339
tvv
2006-02-21 22:48
2006.10.08
Загрузка компонента из DLL