rj
2014-04-24 18:22:30
TFile.simba adding to my include to use for auto updating… pretty much lape version of all the find stuff
Planning on adding more functions (such as include updater) later
type
TFile = record
path, name, extension, data, realPath:string;
end;
function TFile.exists():boolean;
var
s:TStringArray;
i:Integer;
begin
s := GetFiles(self.path, self.extension);
for i := 0 to high(s) do
if (s[i] = (self.name +'.' + self.extension)) then
exit(true);
end;
procedure TFile.recall(const filePath, fileName, fileExtension:string);
begin
self.path := path;
self.name := name;
self.extension := fileExtension;
self.realPath := filePath + fileName + '.' + fileExtension;
end;
function TFile.open():integer;
begin
result := openFile(self.realPath, true);
end;
function TFile.readString(const strLength:integer):string;
var
tmpFile:integer;
str:string;
begin
tmpFile := self.open();
try
ReadFileString(tmpFile, str, strLength);
finally
result := str;
closeFile(tmpFile);
end;
end;
function TFile.readString():string; overload;
begin
result := self.readString(50000);
end;
function TFile.rewrite():integer;
begin
try
result := rewriteFile(self.realPath, true);
except
end;
end;
function TFile.setText(const str:string):boolean;
var
tmpFile:integer;
begin
if (not self.exists()) then
exit();
try
tmpFile := self.rewrite();
writeFileString(tmpFile, str);
closeFile(tmpFile);
except
end;
end;
function TFile.parseData(const str1, str2:string):string;
var
str:string;
begin
result := between(str1, str2, self.readString());
end;
function TFile.delete():boolean;
begin
result := deleteFile(self.realPath);
end;
procedure TFile.create(const filePath, fileName, fileExtension:string);
var
tmpFile:integer;
begin
if self.exists() then
begin
self.recall(filePath, fileName, fileExtension);
exit();
end;
try
self.path := filePath;
self.name := fileName;
self.extension := fileExtension;
self.realPath := filePath + fileName + '.' + fileExtension;
tmpFile := createFile(self.realPath);
closeFile(tmpFile);
except
end;
end;
var
settingsFile:TFile;
begin
settingsFile.create('C:\Simba\', 'test', 'txt');
settingsFile.setText(getPage('http://pastebin.com/raw.php?i=WFS9KJtK'));
writeln(settingsFile.parseData('<news>','</news>'));
settingsFile.delete();
end.
Planning on adding more functions (such as include updater) later