Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.10.08;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.09 c
2-1158511777
POP
2006-09-17 20:49
2006.10.08
Асинхронное IO чтение/запись в порт.


3-1154959675
VadimSpb
2006-08-07 18:07
2006.10.08
Индикатор при выполнении запроса


2-1158233637
Silica
2006-09-14 15:33
2006.10.08
Пароль


2-1158924616
jjj
2006-09-22 15:30
2006.10.08
ComboBox только для чтения


15-1158247965
SamProf
2006-09-14 19:32
2006.10.08
Подскажите пожайлеста компонент





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский