rj
04-24-2014, 10:22 PM
TFile.simba adding to my include to use for auto updating... pretty much lape version of all the find stuff
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
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