![]() |
Stream/File mit Musterdaten beschreiben
folgende Procedure beschreibt einen Stream mit einen vorgegebenen String.
Dieser String (pattern) wird solange wiederholt, bis die vorgegebene Grösse (size) erreicht ist:
Delphi-Quellcode:
procedure WritePatternString(stream:TStream; pattern:string; size:integer);
var i : Integer; rest : Integer; begin Assert(Assigned(stream)); // wenn kein pattern vorgegeben, dann wird mit #0 gefüllt if pattern='' then pattern := #0; // wenn das pattern sehr kurz ist, wird es solange // aneinander gehängt, bis mindestens 1KB zusammenkommt // nur so ist die Performance zufriedenstellend while Length(pattern) < 1024 do pattern := pattern + pattern; // zurück auf Anfang stream.Position := 0; for i := 1 to Size div Length(pattern) do begin stream.WriteBuffer(pattern[1], Length(pattern)); end; // restliche Byte ausrechnen rest := size mod Length(pattern); // und ggf. schreiben if rest > 0 then stream.WriteBuffer(pattern[1], rest); end; procedure WritePatternToFile(const filename:string; pattern:string; size:integer); var fs : TFileStream; begin // filestream erzeugen fs := TFileStream.Create(filename, fmCreate); try // Daten schreiben WritePatternString(fs, pattern, size); finally fs.Free; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:30 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz