Hallo,
danke, hat aber nichts gebracht.
Aber ich denke einen Schritt weiter zu sein, sicher ein Programmierfehler, welcher sich erst ab win7 auswirkt.
Folgende Codes sollen an den Beginn einer Textdatei geschrieben werden
Chr(27)+'(s18H'+CHR(27)+'(s8V')
Dies erfolgt mit folgendem Code
Code:
procedure AppendStringToFile(const s:string; const filename:string; const prnfile:string);
var
stream : TStream;
outstream : TStream;
const
SO_END=2;
begin
ShowMessage(s);
if FileExists(filename) then
begin
stream := TFileStream.Create(filename, fmOpenReadWrite or fmShareDenyWrite);
// stream.Seek(0, soFromBeginning);
stream.Seek(0, SO_END);
end
else
stream := TFileStream.Create(filename, fmCreate or fmShareDenyWrite);
outstream := TFileStream.Create(prnfile, fmCreate or fmShareDenyWrite);
try
outStream.WriteBuffer(s[1], Length(s));
outstream.CopyFrom(stream, 0);
finally
stream.Free;
outstream.Free;
end;
end;
In der Datei erscheinen aber jeweils noch ein Leerzeichen also Chr(27)+'( s 1 8 H '+CHR(27)+'( s 8 V ')
Hier scheint die Ursache zu liegen, verstehe aber noch nicht was ich da in der Zeile
Code:
outStream.WriteBuffer(s[1], Length(s));
ändern muss damit die Leerzeichen weg bleiben.