mirror of
https://github.com/vishapoberon/vipak.git
synced 2026-04-06 04:52:26 +00:00
dependency tree gets populated.
This commit is contained in:
parent
289c154f46
commit
d8a2a9ddac
19 changed files with 229 additions and 707 deletions
76
src/vpkStorage.Mod
Normal file
76
src/vpkStorage.Mod
Normal file
|
|
@ -0,0 +1,76 @@
|
|||
MODULE vpkStorage;
|
||||
IMPORT Files, Out, Strings,
|
||||
strutils, vpkLogger, vpkEnv, vpkFiles;
|
||||
|
||||
PROCEDURE WriteString(VAR r : Files.Rider; str : ARRAY OF CHAR);
|
||||
BEGIN
|
||||
Files.WriteBytes(r, str, Strings.Length(str));
|
||||
END WriteString;
|
||||
|
||||
PROCEDURE fileToString*(VAR fileName: ARRAY OF CHAR; VAR returnString: strutils.pstring);
|
||||
VAR
|
||||
f: Files.File;
|
||||
r: Files.Rider;
|
||||
i, j: LONGINT;
|
||||
BEGIN
|
||||
returnString := NIL;
|
||||
f := Files.Old(fileName);
|
||||
IF f # NIL THEN
|
||||
Files.Set(r, f, 0);
|
||||
i := Files.Length(f);
|
||||
NEW(returnString, i);
|
||||
j := 0;
|
||||
REPEAT
|
||||
Files.Read(r, returnString^[j]);
|
||||
INC(j);
|
||||
UNTIL r.eof OR (j >= i);
|
||||
ELSE
|
||||
Out.String("file ");
|
||||
Out.String(fileName);
|
||||
Out.String(" not found");
|
||||
Out.Ln;
|
||||
END;
|
||||
|
||||
END fileToString;
|
||||
|
||||
PROCEDURE stringToFile*(VAR fileName, content: ARRAY OF CHAR): BOOLEAN;
|
||||
VAR
|
||||
f: Files.File;
|
||||
r: Files.Rider;
|
||||
i: LONGINT;
|
||||
BEGIN
|
||||
f := Files.New(fileName);
|
||||
|
||||
IF f = NIL THEN
|
||||
vpkLogger.Log(fileName);
|
||||
vpkLogger.Log(" not found");
|
||||
vpkLogger.Ln;
|
||||
RETURN FALSE
|
||||
END;
|
||||
|
||||
Files.Set(r, f, 0);
|
||||
vpkLogger.Log("Writing to file");
|
||||
vpkLogger.Log(fileName);
|
||||
vpkLogger.Log("-------------------");
|
||||
WriteString(r, content);
|
||||
|
||||
Files.Register(f);
|
||||
Files.Close(f);
|
||||
RETURN TRUE;
|
||||
END stringToFile;
|
||||
|
||||
PROCEDURE json2pstring*(VAR json: ARRAY OF CHAR; VAR pstr: strutils.pstring);
|
||||
VAR
|
||||
fi: vpkFiles.fileInfo;
|
||||
BEGIN
|
||||
pstr := NIL;
|
||||
vpkEnv.getTreeDir(fi.name);
|
||||
Strings.Append("/", fi.name);
|
||||
Strings.Append(json, fi.name);
|
||||
Strings.Append(".json", fi.name);
|
||||
IF vpkFiles.Exists(fi) THEN
|
||||
fileToString(fi.name, pstr);
|
||||
END
|
||||
END json2pstring;
|
||||
|
||||
END vpkStorage.
|
||||
Loading…
Add table
Add a link
Reference in a new issue