Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > TMemoryStream и Memo1


Автор: Volkogriz 9.1.2013, 11:11
Доброе время суток!
Помогите вывести MemoryStream в Memo1 не выходит ни как(
Код

var
  password: string;

function TForm1.chislo: integer;
var
 i:integer;
begin
 for i:=0 to Length(password) do
  result:=result+Ord(password[i])+17;
end;

procedure TForm1.FormCreate(Sender: TObject);
var
 d:byte;
 w,i:integer;
 ms,msk: TMemoryStream;
 MemoryStream, SecStream:TMemoryStream;
 len: integer;
 begin
MemoryStream:=TMemoryStream.Create;
begin
 password:=Trim('djcf78nf0a9sl34');
 ms:=TMemoryStream.Create;
 msk:=TMemoryStream.Create;
 ms.SetSize(ms.Size);
 msk.SetSize(msk.Size);
 ms.LoadFromFile('coded_1.txt');
 for i:=0 to ms.Size-1 do
  begin
   ms.Position:=i;
   msk.Position:=i;
   ms.Read(d,1);
   d:=d-((i*85)-i+chislo+28*i+(2*i+5-i-1));
   msk.Write(d,1);
   end;
Memo1.Lines.LoadFromStream(msk);
ms.Free;
msk.Free;
end;
end;  

С уважением,
Volkogriz! 

Автор: Illusion Dolphin 9.1.2013, 11:14
Цитата

Memo1.Lines.LoadFromStream(msk);

Заменить на:
Код

msk.Seek(0, soFromBeginning);
Memo1.Lines.LoadFromStream(msk);

Автор: Volkogriz 9.1.2013, 11:17
Огромное спасибо!
Мудрил четыре часа, запутолся полностью решил помощи ппопросить,
И не прошло минуты как помогли!!

Автор: Alexeis 9.1.2013, 11:22
Попробуйте перед 
Memo1.Lines.LoadFromStream(msk);

сделать

msk.Position:=0;

Если в msk реально что-то есть (это можно сделать сохранив содержимое в файл перед выводом на экран) и оно может интерпретироваться как текст, то будет загружено.

Добавлено через 45 секунд
упс, опоздал smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)