Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var
- ITEM_DB_DATA: string;
- function GetItemDBData(path: string): string;
- var
- xmlF: Integer;
- xmlFD: string;
- begin
- if FileExists(path) then
- begin
- xmlF := OpenFile(path, False);
- ReadFileString(xmlF, Result, FileSize(xmlF));
- CloseFile(xmlF);
- end;
- end;
- function Expand(trgt_pos: Integer; s1, s2, str: string): string;
- var
- l, p, start, finish, s1L, s2L: Integer;
- tmp: string;
- begin
- l := Length(str);
- s1L := Length(s1);
- s2L := Length(s2);
- if ((s1L > l) or (s2L > l) or (trgt_pos > l) or (trgt_pos < 1)) then
- Exit;
- finish := PosEx(s2, str, trgt_pos);
- if (finish <= 0) then
- Exit;
- tmp := Copy(str, 1, trgt_pos);
- repeat
- p := PosEx(s1, tmp, (p + 1));
- if (p > 0) then
- start := p;
- until (p <= 0);
- if (start > 0) then
- if (start < finish) then
- Result := Copy(str, (start + s1L), ((finish - start) - s2L));
- end;
- begin
- ClearDebug;
- ITEM_DB_DATA := GetItemDBData(ScriptPath + 'ItemDef.xml');
- WriteLn(Expand(Pos('<sprite>82</sprite>', ITEM_DB_DATA), '<ItemDef>', '</ItemDef>', ITEM_DB_DATA));
- ITEM_DB_DATA := '';
- end.
Advertisement
Add Comment
Please, Sign In to add comment