Главная страница
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.063 c
2-1159103648
Серый
2006-09-24 17:14
2006.10.08
Текстовые поля


15-1158316323
вывод
2006-09-15 14:32
2006.10.08
аналог


2-1158324899
svt
2006-09-15 16:54
2006.10.08
Подскажите пожайлусата как связаять


15-1158496222
TStas
2006-09-17 16:30
2006.10.08
Как за сделать, чтобы сайт в поискухе вылазил среди первых?


15-1158263559
Михель
2006-09-14 23:52
2006.10.08
Кто-то тут (или не тут) спрашивал, как на Дельфи написать WinAMP