Kijavítaná ezt valaki? (bővebben lent)
uses classes;
var m:TMemoryStream;
f:TBufStream;
begin
m := TMemoryStream.Create;
f := TBufStream.Init( paramstr(0) , stOpenRead , 64000 );
m.CopyFrom(f, s.size);
m.position := 0;
f.Done;
for i:=1 to 100 do
begin
m.Position := 0;
f := TBufStream.Init('masolat '+inttostr(i)+' '+ paramstr(0) , stOpenWrite , 64000 );
f.copyfrom(m,m.size);
f.done;
end;
end;
end.
Ezt kéne kijavítani, hogy működjön! (pascal-ban íródót)
Ez a kód elvileg saját magából készült futtatható fájlt kellene, hogy 100 példányban lemásolja? Nem sok értelme van, de valami ilyesmi lehet a megoldás:
program masolgat;
{$mode objfpc}{$H+}
uses Classes, SysUtils;
var
MemStream : TMemoryStream;
FileStream : TFileStream;
i : longint;
begin
MemStream := TMemoryStream.Create;
FileStream := TFileStream.Create(ParamSTR(0),fmOpenRead,&644);
MemStream.CopyFrom(FileStream, FileStream.size);
MemStream.Position := 0;
FileStream.Free;
for i:=1 to 100 do
begin
MemStream.Position := 0;
FileStream := TFileStream.Create(ParamSTR(0)+'-masolat_'+IntToSTR(i),fmCreate,&644);
FileStream.CopyFrom(MemStream,MemStream.Size);
FileStream.Free;
end;
MemStream.Free;
end.
Ez Free Pascalban íródott. Nem tudom milyen Pascal fordítót használsz, de elképzelhető, hogy azon nem fog működni helyesen. A programot egyébként leteszteltem Zenwalk Linux 6.4 alatt Free Pascallal fordítva hibátlanul létrehozta a fájlokat.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!