choose: Bei meinem aktuellen Problem habe ich tatsächlich nur mit MemoryStreams zu tun. An eine Lösung über eine Schleife hab ich auch schon gedacht, aber die wollt ich nach Möglichkeit vermeiden.
Ich hab hier noch ein einfaches Codebeispiel für eine mögliche Lösung:
(Für alle die mal nach dem Thema suchen)
Delphi-Quellcode:
{ Beschreibung: Vergleichen der Inhalte zweier Streams }
procedure TForm1.Button1Click(Sender: TObject);
var
Ms1, Ms2 : TMemoryStream;
begin
// Erzeugen Streams
Ms1 := TMemoryStream.Create;
Ms2 := TMemoryStream.Create;
try
Ms1.Clear;
Ms2.Clear;
// Füllen mit Text aus zwei Memos
Memo1.Lines.SaveToStream(Ms1);
Memo2.Lines.SaveToStream(Ms2);
// Zurücksetzen Pos
Ms1.Position := 0;
Ms2.Position := 0;
// Vergleiche Länge
if Ms1.Size = Ms2.Size then Led1.Active := True
else Led1.Active := False;
// Vergleiche Inhalt
Led2.Active := comparemem(Ms1.Memory, Ms2.Memory,Ms1.Size);
finally
freeandNil(Ms1);
freeandNil(Ms2);
end;
end;