Hallo zusammen.
Ich möchte gern mit TFileStream Dateien kopieren. Allerdings ohne CopyFrom.
Das heisst ich möchte die bytes in einen buffer einlesen, und danach aus dem buffer wieder rausschreiben in die datei, oder einen anderen buffer (z.b.: socket). Folgendes Programm funktioniert auch, allerdings mit der kleinen aber feinen einschränkung, dass z.b. bei einer textdatei das zweite zeichen immer falsch kopiert wird.
var mystream1, mystream2: TFileStream;
var puffer: byte;
var puffersize: integer;
mystream1:=TFileStream.create('C:\Test.txt', fmopenread or fmshareexclusive);
mystream2:=TFileStream.create('D:\Test.txt', fmcreate or fmshareexclusive);
puffersize:=mystream1.read(puffer, 9999999);
mystream2.write(puffer, puffersize);
mystream1.free;
mystream2.free;
Wäre echt dankbar wenn mir jemand sagen könnte warum das zweite Zeichen immer ein falsches ist.
Danke
Ich möchte gern mit TFileStream Dateien kopieren. Allerdings ohne CopyFrom.
Das heisst ich möchte die bytes in einen buffer einlesen, und danach aus dem buffer wieder rausschreiben in die datei, oder einen anderen buffer (z.b.: socket). Folgendes Programm funktioniert auch, allerdings mit der kleinen aber feinen einschränkung, dass z.b. bei einer textdatei das zweite zeichen immer falsch kopiert wird.
var mystream1, mystream2: TFileStream;
var puffer: byte;
var puffersize: integer;
mystream1:=TFileStream.create('C:\Test.txt', fmopenread or fmshareexclusive);
mystream2:=TFileStream.create('D:\Test.txt', fmcreate or fmshareexclusive);
puffersize:=mystream1.read(puffer, 9999999);
mystream2.write(puffer, puffersize);
mystream1.free;
mystream2.free;
Wäre echt dankbar wenn mir jemand sagen könnte warum das zweite Zeichen immer ein falsches ist.
Danke
Comment