|
@@ -42,8 +42,10 @@ interface
|
|
procedure setfilename(const fn:string;allowoutput:boolean);
|
|
procedure setfilename(const fn:string;allowoutput:boolean);
|
|
procedure writecontainernames;
|
|
procedure writecontainernames;
|
|
procedure writecontainedunits;
|
|
procedure writecontainedunits;
|
|
|
|
+ procedure writerequiredpackages;
|
|
procedure readcontainernames;
|
|
procedure readcontainernames;
|
|
procedure readcontainedunits;
|
|
procedure readcontainedunits;
|
|
|
|
+ procedure readrequiredpackages;
|
|
public
|
|
public
|
|
constructor create(const pn:string);
|
|
constructor create(const pn:string);
|
|
destructor destroy; override;
|
|
destructor destroy; override;
|
|
@@ -258,6 +260,19 @@ implementation
|
|
pcpfile.writeentry(ibendcontained);
|
|
pcpfile.writeentry(ibendcontained);
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
+ procedure tpcppackage.writerequiredpackages;
|
|
|
|
+ var
|
|
|
|
+ i : longint;
|
|
|
|
+ begin
|
|
|
|
+ pcpfile.putlongint(requiredpackages.count);
|
|
|
|
+ pcpfile.writeentry(ibstartrequireds);
|
|
|
|
+ for i:=0 to requiredpackages.count-1 do
|
|
|
|
+ begin
|
|
|
|
+ pcpfile.putstring(requiredpackages.NameOfIndex(i));
|
|
|
|
+ end;
|
|
|
|
+ pcpfile.writeentry(ibendrequireds);
|
|
|
|
+ end;
|
|
|
|
+
|
|
procedure tpcppackage.readcontainernames;
|
|
procedure tpcppackage.readcontainernames;
|
|
begin
|
|
begin
|
|
if pcpfile.readentry<>ibpackagefiles then
|
|
if pcpfile.readentry<>ibpackagefiles then
|
|
@@ -299,6 +314,30 @@ implementation
|
|
end;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
+ procedure tpcppackage.readrequiredpackages;
|
|
|
|
+ var
|
|
|
|
+ cnt,i : longint;
|
|
|
|
+ name : string;
|
|
|
|
+ begin
|
|
|
|
+ if pcpfile.readentry<>ibstartrequireds then
|
|
|
|
+ begin
|
|
|
|
+ Writeln('Error reading pcp file');
|
|
|
|
+ internalerror(2014110901);
|
|
|
|
+ end;
|
|
|
|
+ cnt:=pcpfile.getlongint;
|
|
|
|
+ if pcpfile.readentry<>ibendrequireds then
|
|
|
|
+ begin
|
|
|
|
+ Writeln('Error reading pcp file');
|
|
|
|
+ internalerror(2014110902);
|
|
|
|
+ end;
|
|
|
|
+ for i:=0 to cnt-1 do
|
|
|
|
+ begin
|
|
|
|
+ name:=pcpfile.getstring;
|
|
|
|
+ requiredpackages.add(name,nil);
|
|
|
|
+ Writeln('Found required package ',name);
|
|
|
|
+ end;
|
|
|
|
+ end;
|
|
|
|
+
|
|
constructor tpcppackage.create(const pn: string);
|
|
constructor tpcppackage.create(const pn: string);
|
|
begin
|
|
begin
|
|
inherited create(pn);
|
|
inherited create(pn);
|
|
@@ -337,7 +376,7 @@ implementation
|
|
|
|
|
|
readcontainernames;
|
|
readcontainernames;
|
|
|
|
|
|
- //readrequiredpackages
|
|
|
|
|
|
+ readrequiredpackages;
|
|
|
|
|
|
readcontainedunits;
|
|
readcontainedunits;
|
|
end;
|
|
end;
|
|
@@ -355,7 +394,7 @@ implementation
|
|
|
|
|
|
writecontainernames;
|
|
writecontainernames;
|
|
|
|
|
|
- //writerequiredpackages;
|
|
|
|
|
|
+ writerequiredpackages;
|
|
|
|
|
|
writecontainedunits;
|
|
writecontainedunits;
|
|
|
|
|