Add FPC Compabulity
This commit is contained in:
@@ -4,58 +4,58 @@
|
|||||||
<PathDelim Value="\"/>
|
<PathDelim Value="\"/>
|
||||||
<Version Value="10"/>
|
<Version Value="10"/>
|
||||||
<BuildModes Active="Default"/>
|
<BuildModes Active="Default"/>
|
||||||
<Units Count="11">
|
<Units Count="12">
|
||||||
<Unit0>
|
<Unit0>
|
||||||
<Filename Value="fpcunitproject1.lpr"/>
|
<Filename Value="fpcunitproject1.lpr"/>
|
||||||
<IsPartOfProject Value="True"/>
|
<IsPartOfProject Value="True"/>
|
||||||
<CursorPos X="66" Y="6"/>
|
<CursorPos Y="9"/>
|
||||||
<UsageCount Value="22"/>
|
<UsageCount Value="23"/>
|
||||||
<Loaded Value="True"/>
|
<Loaded Value="True"/>
|
||||||
</Unit0>
|
</Unit0>
|
||||||
<Unit1>
|
<Unit1>
|
||||||
<Filename Value="testcase1.pas"/>
|
<Filename Value="testcase1.pas"/>
|
||||||
<IsPartOfProject Value="True"/>
|
<IsPartOfProject Value="True"/>
|
||||||
<UnitName Value="TestCase1"/>
|
<UnitName Value="TestCase1"/>
|
||||||
<EditorIndex Value="1"/>
|
<EditorIndex Value="2"/>
|
||||||
<TopLine Value="17"/>
|
<TopLine Value="17"/>
|
||||||
<CursorPos X="67" Y="29"/>
|
<CursorPos Y="27"/>
|
||||||
<UsageCount Value="22"/>
|
<UsageCount Value="23"/>
|
||||||
<Loaded Value="True"/>
|
<Loaded Value="True"/>
|
||||||
</Unit1>
|
</Unit1>
|
||||||
<Unit2>
|
<Unit2>
|
||||||
|
<Filename Value="..\Source\FasmOnDelphi.pas"/>
|
||||||
|
<IsPartOfProject Value="True"/>
|
||||||
|
<IsVisibleTab Value="True"/>
|
||||||
|
<EditorIndex Value="3"/>
|
||||||
|
<TopLine Value="172"/>
|
||||||
|
<CursorPos X="25" Y="195"/>
|
||||||
|
<UsageCount Value="23"/>
|
||||||
|
<Loaded Value="True"/>
|
||||||
|
</Unit2>
|
||||||
|
<Unit3>
|
||||||
|
<Filename Value="..\Fasm4Delphi\Source\Fasm4Delphi.pas"/>
|
||||||
|
<IsPartOfProject Value="True"/>
|
||||||
|
<EditorIndex Value="5"/>
|
||||||
|
<TopLine Value="16"/>
|
||||||
|
<CursorPos X="3" Y="31"/>
|
||||||
|
<UsageCount Value="23"/>
|
||||||
|
<Loaded Value="True"/>
|
||||||
|
</Unit3>
|
||||||
|
<Unit4>
|
||||||
<Filename Value="..\Source\Fasm4Delphi.pas"/>
|
<Filename Value="..\Source\Fasm4Delphi.pas"/>
|
||||||
<EditorIndex Value="-1"/>
|
<EditorIndex Value="-1"/>
|
||||||
<WindowIndex Value="-1"/>
|
<WindowIndex Value="-1"/>
|
||||||
<TopLine Value="-1"/>
|
<TopLine Value="-1"/>
|
||||||
<CursorPos X="-1" Y="-1"/>
|
<CursorPos X="-1" Y="-1"/>
|
||||||
<UsageCount Value="20"/>
|
<UsageCount Value="20"/>
|
||||||
</Unit2>
|
</Unit4>
|
||||||
<Unit3>
|
<Unit5>
|
||||||
<Filename Value="..\..\Source\FasmOnDelphi.pas"/>
|
<Filename Value="..\..\Source\FasmOnDelphi.pas"/>
|
||||||
<EditorIndex Value="-1"/>
|
<EditorIndex Value="-1"/>
|
||||||
<WindowIndex Value="-1"/>
|
<WindowIndex Value="-1"/>
|
||||||
<TopLine Value="-1"/>
|
<TopLine Value="-1"/>
|
||||||
<CursorPos X="-1" Y="-1"/>
|
<CursorPos X="-1" Y="-1"/>
|
||||||
<UsageCount Value="20"/>
|
<UsageCount Value="20"/>
|
||||||
</Unit3>
|
|
||||||
<Unit4>
|
|
||||||
<Filename Value="..\Source\FasmOnDelphi.pas"/>
|
|
||||||
<IsPartOfProject Value="True"/>
|
|
||||||
<IsVisibleTab Value="True"/>
|
|
||||||
<EditorIndex Value="2"/>
|
|
||||||
<TopLine Value="217"/>
|
|
||||||
<CursorPos Y="234"/>
|
|
||||||
<UsageCount Value="22"/>
|
|
||||||
<Loaded Value="True"/>
|
|
||||||
</Unit4>
|
|
||||||
<Unit5>
|
|
||||||
<Filename Value="..\Fasm4Delphi\Source\Fasm4Delphi.pas"/>
|
|
||||||
<IsPartOfProject Value="True"/>
|
|
||||||
<EditorIndex Value="4"/>
|
|
||||||
<TopLine Value="16"/>
|
|
||||||
<CursorPos X="3" Y="31"/>
|
|
||||||
<UsageCount Value="22"/>
|
|
||||||
<Loaded Value="True"/>
|
|
||||||
</Unit5>
|
</Unit5>
|
||||||
<Unit6>
|
<Unit6>
|
||||||
<Filename Value="C:\lazarus\fpc\3.0.2\source\rtl\inc\varianth.inc"/>
|
<Filename Value="C:\lazarus\fpc\3.0.2\source\rtl\inc\varianth.inc"/>
|
||||||
@@ -87,134 +87,153 @@
|
|||||||
</Unit9>
|
</Unit9>
|
||||||
<Unit10>
|
<Unit10>
|
||||||
<Filename Value="C:\lazarus\fpc\3.0.2\source\rtl\win\wininc\base.inc"/>
|
<Filename Value="C:\lazarus\fpc\3.0.2\source\rtl\win\wininc\base.inc"/>
|
||||||
<EditorIndex Value="3"/>
|
<EditorIndex Value="4"/>
|
||||||
<TopLine Value="140"/>
|
<TopLine Value="140"/>
|
||||||
<CursorPos X="6" Y="169"/>
|
<CursorPos X="6" Y="169"/>
|
||||||
<UsageCount Value="10"/>
|
<UsageCount Value="11"/>
|
||||||
<Loaded Value="True"/>
|
<Loaded Value="True"/>
|
||||||
</Unit10>
|
</Unit10>
|
||||||
|
<Unit11>
|
||||||
|
<Filename Value="C:\lazarus\lcl\include\application.inc"/>
|
||||||
|
<EditorIndex Value="1"/>
|
||||||
|
<TopLine Value="414"/>
|
||||||
|
<CursorPos Y="431"/>
|
||||||
|
<UsageCount Value="10"/>
|
||||||
|
<Loaded Value="True"/>
|
||||||
|
</Unit11>
|
||||||
</Units>
|
</Units>
|
||||||
<JumpHistory Count="30" HistoryIndex="29">
|
<JumpHistory Count="30" HistoryIndex="29">
|
||||||
<Position1>
|
<Position1>
|
||||||
<Filename Value="testcase1.pas"/>
|
<Filename Value="..\Source\FasmOnDelphi.pas"/>
|
||||||
<Caret Line="33" TopLine="17"/>
|
<Caret Line="200" Column="23" TopLine="175"/>
|
||||||
</Position1>
|
</Position1>
|
||||||
<Position2>
|
<Position2>
|
||||||
<Filename Value="..\Source\FasmOnDelphi.pas"/>
|
<Filename Value="..\Source\FasmOnDelphi.pas"/>
|
||||||
<Caret Line="429" Column="56" TopLine="427"/>
|
<Caret Line="193" Column="27" TopLine="175"/>
|
||||||
</Position2>
|
</Position2>
|
||||||
<Position3>
|
<Position3>
|
||||||
<Filename Value="testcase1.pas"/>
|
<Filename Value="..\Source\FasmOnDelphi.pas"/>
|
||||||
<Caret Line="33" TopLine="17"/>
|
<Caret Line="191" TopLine="175"/>
|
||||||
</Position3>
|
</Position3>
|
||||||
<Position4>
|
<Position4>
|
||||||
<Filename Value="..\Source\FasmOnDelphi.pas"/>
|
<Filename Value="..\Source\FasmOnDelphi.pas"/>
|
||||||
<Caret Line="185" Column="44" TopLine="170"/>
|
<Caret Line="193" TopLine="175"/>
|
||||||
</Position4>
|
</Position4>
|
||||||
<Position5>
|
<Position5>
|
||||||
<Filename Value="testcase1.pas"/>
|
<Filename Value="..\Source\FasmOnDelphi.pas"/>
|
||||||
<Caret Line="33" TopLine="17"/>
|
<Caret Line="194" TopLine="175"/>
|
||||||
</Position5>
|
</Position5>
|
||||||
<Position6>
|
<Position6>
|
||||||
<Filename Value="..\Source\FasmOnDelphi.pas"/>
|
<Filename Value="..\Source\FasmOnDelphi.pas"/>
|
||||||
<Caret Line="185" Column="35" TopLine="174"/>
|
<Caret Line="195" TopLine="175"/>
|
||||||
</Position6>
|
</Position6>
|
||||||
<Position7>
|
<Position7>
|
||||||
<Filename Value="..\Source\FasmOnDelphi.pas"/>
|
<Filename Value="..\Source\FasmOnDelphi.pas"/>
|
||||||
<Caret Line="188" Column="24" TopLine="171"/>
|
<Caret Line="200" TopLine="175"/>
|
||||||
</Position7>
|
</Position7>
|
||||||
<Position8>
|
<Position8>
|
||||||
<Filename Value="..\Source\FasmOnDelphi.pas"/>
|
<Filename Value="..\Source\FasmOnDelphi.pas"/>
|
||||||
<Caret Line="198" Column="20" TopLine="180"/>
|
<Caret Line="205" TopLine="177"/>
|
||||||
</Position8>
|
</Position8>
|
||||||
<Position9>
|
<Position9>
|
||||||
<Filename Value="testcase1.pas"/>
|
<Filename Value="..\Source\FasmOnDelphi.pas"/>
|
||||||
<Caret Line="33" TopLine="17"/>
|
<Caret Line="623" TopLine="607"/>
|
||||||
</Position9>
|
</Position9>
|
||||||
<Position10>
|
<Position10>
|
||||||
<Filename Value="..\Source\FasmOnDelphi.pas"/>
|
<Filename Value="testcase1.pas"/>
|
||||||
<Caret Line="549" TopLine="533"/>
|
<Caret Line="27" TopLine="17"/>
|
||||||
</Position10>
|
</Position10>
|
||||||
<Position11>
|
<Position11>
|
||||||
<Filename Value="..\Source\FasmOnDelphi.pas"/>
|
<Filename Value="..\Source\FasmOnDelphi.pas"/>
|
||||||
<Caret Line="539" TopLine="533"/>
|
<Caret Line="622" TopLine="607"/>
|
||||||
</Position11>
|
</Position11>
|
||||||
<Position12>
|
<Position12>
|
||||||
<Filename Value="testcase1.pas"/>
|
<Filename Value="..\Source\FasmOnDelphi.pas"/>
|
||||||
<Caret Line="33" TopLine="17"/>
|
<Caret Line="201" Column="7" TopLine="172"/>
|
||||||
</Position12>
|
</Position12>
|
||||||
<Position13>
|
<Position13>
|
||||||
<Filename Value="..\Source\FasmOnDelphi.pas"/>
|
<Filename Value="..\Source\FasmOnDelphi.pas"/>
|
||||||
<Caret Line="537" Column="8" TopLine="533"/>
|
<Caret Line="188" Column="20" TopLine="172"/>
|
||||||
</Position13>
|
</Position13>
|
||||||
<Position14>
|
<Position14>
|
||||||
<Filename Value="..\Source\FasmOnDelphi.pas"/>
|
<Filename Value="..\Source\FasmOnDelphi.pas"/>
|
||||||
<Caret Line="185" Column="56" TopLine="169"/>
|
<Caret Line="191" TopLine="172"/>
|
||||||
</Position14>
|
</Position14>
|
||||||
<Position15>
|
<Position15>
|
||||||
<Filename Value="testcase1.pas"/>
|
<Filename Value="..\Source\FasmOnDelphi.pas"/>
|
||||||
<Caret Line="33" TopLine="17"/>
|
<Caret Line="193" TopLine="172"/>
|
||||||
</Position15>
|
</Position15>
|
||||||
<Position16>
|
<Position16>
|
||||||
<Filename Value="testcase1.pas"/>
|
<Filename Value="..\Source\FasmOnDelphi.pas"/>
|
||||||
<Caret Line="23" Column="11" TopLine="17"/>
|
<Caret Line="194" TopLine="172"/>
|
||||||
</Position16>
|
</Position16>
|
||||||
<Position17>
|
<Position17>
|
||||||
<Filename Value="..\Source\FasmOnDelphi.pas"/>
|
<Filename Value="..\Source\FasmOnDelphi.pas"/>
|
||||||
<Caret Line="174" Column="17" TopLine="157"/>
|
<Caret Line="195" TopLine="172"/>
|
||||||
</Position17>
|
</Position17>
|
||||||
<Position18>
|
<Position18>
|
||||||
<Filename Value="..\Source\FasmOnDelphi.pas"/>
|
<Filename Value="..\Source\FasmOnDelphi.pas"/>
|
||||||
<Caret Line="217" Column="6" TopLine="201"/>
|
<Caret Line="196" Column="35" TopLine="172"/>
|
||||||
</Position18>
|
</Position18>
|
||||||
<Position19>
|
<Position19>
|
||||||
<Filename Value="..\Source\FasmOnDelphi.pas"/>
|
<Filename Value="testcase1.pas"/>
|
||||||
<Caret Line="621" Column="58" TopLine="599"/>
|
<Caret Line="27" TopLine="17"/>
|
||||||
</Position19>
|
</Position19>
|
||||||
<Position20>
|
<Position20>
|
||||||
<Filename Value="..\Source\FasmOnDelphi.pas"/>
|
<Filename Value="..\Source\FasmOnDelphi.pas"/>
|
||||||
<Caret Line="355" Column="29" TopLine="336"/>
|
<Caret Line="623" TopLine="607"/>
|
||||||
</Position20>
|
</Position20>
|
||||||
<Position21>
|
<Position21>
|
||||||
<Filename Value="..\Source\FasmOnDelphi.pas"/>
|
<Filename Value="..\Source\FasmOnDelphi.pas"/>
|
||||||
<Caret Line="217" Column="5" TopLine="194"/>
|
<Caret Line="190" TopLine="173"/>
|
||||||
</Position21>
|
</Position21>
|
||||||
<Position22>
|
<Position22>
|
||||||
<Filename Value="..\Source\FasmOnDelphi.pas"/>
|
<Filename Value="..\Source\FasmOnDelphi.pas"/>
|
||||||
<Caret Line="226" Column="32" TopLine="205"/>
|
<Caret Line="192" TopLine="173"/>
|
||||||
</Position22>
|
</Position22>
|
||||||
<Position23>
|
<Position23>
|
||||||
<Filename Value="testcase1.pas"/>
|
<Filename Value="..\Source\FasmOnDelphi.pas"/>
|
||||||
<Caret Line="27" TopLine="17"/>
|
<Caret Line="194" TopLine="173"/>
|
||||||
</Position23>
|
</Position23>
|
||||||
<Position24>
|
<Position24>
|
||||||
<Filename Value="testcase1.pas"/>
|
<Filename Value="..\Source\FasmOnDelphi.pas"/>
|
||||||
<Caret Line="23" Column="60" TopLine="17"/>
|
<Caret Line="195" TopLine="173"/>
|
||||||
</Position24>
|
</Position24>
|
||||||
<Position25>
|
<Position25>
|
||||||
<Filename Value="testcase1.pas"/>
|
<Filename Value="..\Source\FasmOnDelphi.pas"/>
|
||||||
<Caret Line="27" TopLine="17"/>
|
<Caret Line="196" TopLine="173"/>
|
||||||
</Position25>
|
</Position25>
|
||||||
<Position26>
|
<Position26>
|
||||||
<Filename Value="..\Source\FasmOnDelphi.pas"/>
|
<Filename Value="..\Source\FasmOnDelphi.pas"/>
|
||||||
<Caret Line="234" TopLine="217"/>
|
<Caret Line="194" TopLine="173"/>
|
||||||
</Position26>
|
</Position26>
|
||||||
<Position27>
|
<Position27>
|
||||||
<Filename Value="testcase1.pas"/>
|
<Filename Value="..\Source\FasmOnDelphi.pas"/>
|
||||||
<Caret Line="23" Column="59" TopLine="17"/>
|
<Caret Line="623" TopLine="607"/>
|
||||||
</Position27>
|
</Position27>
|
||||||
<Position28>
|
<Position28>
|
||||||
<Filename Value="testcase1.pas"/>
|
<Filename Value="..\Source\FasmOnDelphi.pas"/>
|
||||||
<Caret Line="29" Column="67" TopLine="17"/>
|
<Caret Line="194" TopLine="177"/>
|
||||||
</Position28>
|
</Position28>
|
||||||
<Position29>
|
<Position29>
|
||||||
<Filename Value="..\Source\FasmOnDelphi.pas"/>
|
<Filename Value="..\Source\FasmOnDelphi.pas"/>
|
||||||
<Caret Line="234" TopLine="217"/>
|
<Caret Line="195" Column="36" TopLine="177"/>
|
||||||
</Position29>
|
</Position29>
|
||||||
<Position30>
|
<Position30>
|
||||||
<Filename Value="..\Source\FasmOnDelphi.pas"/>
|
<Filename Value="..\Source\FasmOnDelphi.pas"/>
|
||||||
<Caret Line="539" TopLine="523"/>
|
<Caret Line="623" Column="8" TopLine="607"/>
|
||||||
</Position30>
|
</Position30>
|
||||||
</JumpHistory>
|
</JumpHistory>
|
||||||
</ProjectSession>
|
</ProjectSession>
|
||||||
|
<Debugging>
|
||||||
|
<BreakPoints Count="1">
|
||||||
|
<Item1>
|
||||||
|
<Kind Value="bpkSource"/>
|
||||||
|
<WatchScope Value="wpsLocal"/>
|
||||||
|
<WatchKind Value="wpkWrite"/>
|
||||||
|
<Source Value="..\Source\FasmOnDelphi.pas"/>
|
||||||
|
<Line Value="622"/>
|
||||||
|
</Item1>
|
||||||
|
</BreakPoints>
|
||||||
|
</Debugging>
|
||||||
</CONFIG>
|
</CONFIG>
|
||||||
|
|||||||
@@ -182,38 +182,26 @@ implementation
|
|||||||
function GetLongPathNameA(lpszShortPath: LPSTR; lpszLongPath: LPSTR;
|
function GetLongPathNameA(lpszShortPath: LPSTR; lpszLongPath: LPSTR;
|
||||||
cchBuffer: DWORD): DWORD; stdcall;external 'Kernel32.dll';
|
cchBuffer: DWORD): DWORD; stdcall;external 'Kernel32.dll';
|
||||||
|
|
||||||
function Pos(const SubStr,Str:AnsiString;Offset:Integer): Integer; overload;
|
function Pos(const SubStr,Str:AnsiString;Offset:Integer=0):Integer;
|
||||||
var
|
var
|
||||||
I, LIterCnt, L, J: Integer;
|
f:boolean;
|
||||||
PSubStr, PS: PAnsiChar;
|
|
||||||
begin
|
begin
|
||||||
L := Length(SubStr);
|
for Result:=Offset+1 to length(Str)-length(SubStr)+1 do
|
||||||
{ Calculate the number of possible iterations. Not valid if Offset < 1. }
|
begin
|
||||||
LIterCnt := Length(Str) - Offset - L + 1;
|
if SubStr[1]=Str[Result] then
|
||||||
|
|
||||||
{ Only continue if the number of iterations is positive or zero (there is space to check) }
|
|
||||||
if (Offset > 0) and (LIterCnt >= 0) and (L > 0) then
|
|
||||||
begin
|
begin
|
||||||
PSubStr := PAnsiChar(SubStr);
|
f:=true;
|
||||||
PS := PAnsiChar(Str);
|
for Offset:=1 to Length(SubStr)-1 do
|
||||||
Inc(PS, Offset - 1);
|
if SubStr[1+Offset]<>Str[Result+Offset] then
|
||||||
|
|
||||||
for I := 0 to LIterCnt do
|
|
||||||
begin
|
|
||||||
J := 0;
|
|
||||||
while (J >= 0) and (J < L) do
|
|
||||||
begin
|
begin
|
||||||
if PS[I + J] = PSubStr[J] then
|
f:=false;
|
||||||
Inc(J)
|
break;
|
||||||
else
|
|
||||||
J := -1;
|
|
||||||
end;
|
end;
|
||||||
if J >= L then
|
if f then
|
||||||
Exit(I + Offset);
|
exit;
|
||||||
end;
|
|
||||||
end;
|
end;
|
||||||
|
end;
|
||||||
Result := 0;
|
Result:=0;
|
||||||
end;
|
end;
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
|
|
||||||
@@ -360,7 +348,7 @@ begin
|
|||||||
FileHandle:=CreateFile(PChar(s),GENERIC_READ,0,nil,3,128,0);
|
FileHandle:=CreateFile(PChar(s),GENERIC_READ,0,nil,3,128,0);
|
||||||
Result.sb:=GetFileSize(FileHandle,nil);
|
Result.sb:=GetFileSize(FileHandle,nil);
|
||||||
getmem(Result.OutData,Result.sb);
|
getmem(Result.OutData,Result.sb);
|
||||||
ReadFile(FileHandle,Result.OutData,Result.sb,nr,nil);
|
ReadFile(FileHandle,Result.OutData^,Result.sb,nr,nil);
|
||||||
CloseHandle(FileHandle);
|
CloseHandle(FileHandle);
|
||||||
DeleteFile(PChar(s));
|
DeleteFile(PChar(s));
|
||||||
end
|
end
|
||||||
@@ -547,7 +535,7 @@ begin
|
|||||||
FileHandle:=CreateFile(PChar(s),GENERIC_READ,0,nil,3,128,0);
|
FileHandle:=CreateFile(PChar(s),GENERIC_READ,0,nil,3,128,0);
|
||||||
Result.sb:=GetFileSize(FileHandle,nil);
|
Result.sb:=GetFileSize(FileHandle,nil);
|
||||||
getmem(Result.OutData,Result.sb);
|
getmem(Result.OutData,Result.sb);
|
||||||
ReadFile(FileHandle,Result.OutData,Result.sb,nr,nil);
|
ReadFile(FileHandle,Result.OutData^,Result.sb,nr,nil);
|
||||||
CloseHandle(FileHandle);
|
CloseHandle(FileHandle);
|
||||||
DeleteFile(PChar(s));
|
DeleteFile(PChar(s));
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user