Показать сообщение отдельно
  #4  
Старый 28.05.2013, 15:39
Easy Easy вне форума
Прохожий
 
Регистрация: 26.05.2013
Сообщения: 11
Версия Delphi: Delphi 2010
Репутация: 10
По умолчанию

ну вот как я и думал. кодировать получается, а декодировать нет, к сожалению. помогите пожалуйста...
кодирую
Код:
function TForm1.EncodeFile(): AnsiString;
begin
  stream := TMemoryStream.Create;
  try
    bmp.SaveToStream(stream);
    result := EncodeBase64(stream.Memory, stream.Size);
    memo1.Text:= result;//строка 94
  finally
    stream.Free;
    Bmp.Free;
  end;
end;
потом пытаюсь декодировать но что то у меня с типами данных не сходится
Код:
function TForm1.DecodeFile(): TBytes;
begin
  stream := TMemoryStream.Create;
  bmp:= TBitMap.Create;
  try
    Memo1.Lines.SaveToStream(stream);

    bmp.LoadFromStream(DecodeBase64(stream.Memory, stream.Size);// строка 79
    image2.Assign(bmp);
  finally
    stream.Free;
    Bmp.Free;
  end;

end;
ошибки
Код:
[DCC Error] Unit1.pas(79): E2010 Incompatible types: 'AnsiString' and 'Pointer'

[DCC Error] Unit1.pas(79): E2010 Incompatible types: 'TStream' and 'TBytes'

[DCC Warning] Unit1.pas(94): W1057 Implicit string cast from 'AnsiString' to 'string'
Ответить с цитированием