![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Кодирование БД [D6, dBase, FoxPro]
Алексей © (2004-04-03 12:37:00)Каким образом можно закодировать БД, чтобы при просмотре через DatabaseDesktop ничего небыло понятно, но в то же время DBGrid отоброжал информацию в расшифрованном виде.
KSergey (2004-04-04 08:55:00) [1]> Алексей © (03.04.04 15:44) [8]
> Наверно будет проще так
Проще что??? Я что-то не понял.
Алексей (2004-04-03 15:44:00) [2]Наверно будет проще так
procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect; Field: TField; State: TGridDrawState);
begin
dbgrid1.Canvas.Rectangle(rect);
dbgrid1.Canvas.TextRect(rect,rect.Left, rect.Top,
table1.FieldValues('Field_1'));
end;
Anatoly Podgoretsky (2004-04-03 14:08:00) [3]Почему нельзя вариант в [2], только используй еще OnGetText, OnSetText
Алексей (2004-04-03 13:59:00) [4]Ну а по проще никак?
Anatoly Podgoretsky (2004-04-03 12:59:00) [5]Алексей © (03.04.04 12:57) [4]
Неправильно полагаешь, надо на основе TDataset, об этом бвло уже сказано в [1]
Алексей (2004-04-03 12:57:00) [6]Я так пологаю, необходимо создать свой компонент на основе имеющегося DBGrida?
Anatoly Podgoretsky (2004-04-03 12:53:00) [7]Можно и так, но это не профессионально, мое предложение состоит в том, что бы эти операции перенести на движок.
Для этого надо сделать свой движок. Некоторые, например названныйЮ, существуют в исходных кодах, что облегчает их можификацию для своих целей.
Алексей (2004-04-03 12:49:00) [8]Если можно по подробнее, куда и что добавить. Базу я шифрую при добавлении записи:
Table.Append;
Table1.FieldByName('Field_1').AsString:=Coder(Edit1.Text);
Table.Post;
Anatoly Podgoretsky (2004-04-03 12:46:00) [9]Надо писать наследника от TDataset, посмотри как это сделано в TDbf и добавь функции шифрации.
Родные средства шифрации к сожалению использовать нельзя, БДЕ не поддерживает это, только в самом dBase