Показать сообщение отдельно
  #7  
Старый 06.01.2015, 00:18
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Вообще все это примерно так выглядит:
Код:
procedure TForm28.Button1Click(Sender: TObject);
Var
  B: TBytes;
  i: Integer;
begin
 SetLength(B, 6);
 for i := 0 to Length(B) - 1
 do B[i] := Random(255);
 ClientDataSet1.Append;
 ClientDataSet1.FieldByName('Data').AsBytes := B;
 ClientDataSet1.Post;
end;

procedure TForm28.ClientDataSet1CalcFields(DataSet: TDataSet);
Var
  B: TBytes;
  S: String;
  i: Integer;
begin
 B := DataSet.FieldByName('Data').AsBytes;
 S := '';
 for i := 0 to Length(B) - 1
 do S := S + IntToHex(B[i], 2);
 DataSet.FieldByName('Res').AsString := S;
end;
Но, оказывается по вычисляемому полю нельзя делать ограничение. А посему, прежде чем и дальше давать вам неверные советы, хотелось бы узнать какую БД вы используете? Какой все-же тип поля у вас LogicalName?
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием