Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 22.11.2008, 20:14
X-Men X-Men вне форума
Прохожий
 
Регистрация: 22.11.2008
Сообщения: 1
Репутация: 10
Печаль Dbgrid + шифрование

помогить плз!!!
Как мне перевести string даные из ячейки dbgrid в переменую
допустем так беру ячейку с даными допустим "Привед"
и перевожу их
так
П-> 3 и помешаю значени в переменую а
р -> 5 переменую b
и->4 с
в ->1
е->9
д ->2
если можно по потрбней или дайте сылку на подобную тему?
Ответить с цитированием
  #2  
Старый 23.11.2008, 08:38
san-46 san-46 вне форума
Активный
 
Регистрация: 25.04.2008
Сообщения: 383
Репутация: 33
По умолчанию

dbgrid здесь ни при чем. В dbgrid нет прямого доступа к значениям полей. dbgrid связана с данными через какой-либо DataSet и только отображает эти данные.
Через DataSet и надо получать значение поля текущей записи (активная в dbgrid строка).

Код:
function DecodeEncodeStr(const S, Psw : String) : String;
var I, J : Integer;
begin
  Result := S;
  if (S = '') or (Psw = '') then Exit;
  J := 1; I := 1;
  while I <= Length(S) do begin
    if Result[i] = #13 then begin Inc(I, 2); continue end;
    Result[i] := Char(Byte(Result[i]) xor Byte(PSW[J]));
    if Result[i] = #0 then Result[i] := Psw[J];
    if J = Length(PSW) then J := 1 else Inc(J);
    Inc(I);
  end;
end;

//шифрование и дешифрование строкового поля активной в dbgrid записи
procedure TForm1.Button1Click(Sender : TObject); 
begin
  Str := DataSet1.FieldByName('FIELD2').AsString;
  DataSet1.Edit;
  DataSet1.FieldByName('FIELD2').AsString := DecodeEncodeStr(Str, Psw);
  DataSet1.Post;
  //"FIELD2" - для примера.
end;
DecodeEncodeStr - Функция для примитивного симметричного шифрования строк.
"S" - исходная строка, которую нужно шифровать или дешифровать;
"Psw" - строка, на основе которой происходит преобразование исходной. Может быть произвольной длины (более 2 символов). Должна состоять из русских букв и/или цифр.
Зашифрованая этой функцией строка должна с помощью её и дешифровываться с одинаковым набором символов в параметре "Psw".
__________________
Не забывайте делать резервные копии

Последний раз редактировалось san-46, 23.11.2008 в 08:45.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 18:16.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter