Текущий архив: 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.46 MB
Время: 0.04 c