forked from KolibriOS/kolibrios
[fp] changes in rtl & examples
git-svn-id: svn://kolibrios.org@790 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
{cp866}
|
||||
{utf8}
|
||||
unit System;
|
||||
|
||||
{$i _defines.inc}
|
||||
@@ -56,16 +56,16 @@ begin
|
||||
begin
|
||||
while Args^ <> #0 do
|
||||
begin
|
||||
{<EFBFBD>ய<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>騥 <20><EFBFBD><E0AEA1><EFBFBD>}
|
||||
{Пропустить лидирующие пробелы}
|
||||
while Args^ in [#1..#32] do Inc(Args);
|
||||
if Args^ = #0 then Break;
|
||||
|
||||
{<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 㪠<><E3AAA0>⥫<EFBFBD> <20><> <20><>ࠬ<EFBFBD><E0A0AC><EFBFBD>}
|
||||
{Запомнить указатель на параметр}
|
||||
SetLength(Ptrs, Argc);
|
||||
Ptrs[Argc - 1] := Args;
|
||||
Inc(Argc);
|
||||
|
||||
{<EFBFBD>ய<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⥪<>騩 <20><>ࠬ<EFBFBD><E0A0AC><EFBFBD>}
|
||||
{Пропустить текущий параметр}
|
||||
InQuotes := False;
|
||||
while (Args^ <> #0) and (not (Args^ in [#1..#32]) or InQuotes) do
|
||||
begin
|
||||
@@ -73,7 +73,7 @@ begin
|
||||
Inc(Args);
|
||||
end;
|
||||
|
||||
{<EFBFBD><EFBFBD>⠭<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>砭<EFBFBD><E7A0AD> <20><>ࠬ<EFBFBD><E0A0AC><EFBFBD><EFBFBD>}
|
||||
{Установить окончание параметра}
|
||||
if Args^ in [#1..#32] then
|
||||
begin
|
||||
Args^ := #0;
|
||||
@@ -81,12 +81,12 @@ begin
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
Argv := GetMem(Argc * SizeOf(PChar)); {XXX: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><EFBFBD><E1A2AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>}
|
||||
Argv := GetMem(Argc * SizeOf(PChar)); {XXX: память не освобождается}
|
||||
Argv[0] := PKosHeader(0)^.path;
|
||||
for I := 1 to Argc - 1 do
|
||||
begin
|
||||
Argv[I] := Ptrs[I - 1];
|
||||
{<EFBFBD>᪫<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>窨 <20><> <20><>ப<EFBFBD>}
|
||||
{Исключить кавычки из строки}
|
||||
Args := Argv[I];
|
||||
L := 0;
|
||||
while Args^ <> #0 do begin Inc(Args); Inc(L); end;
|
||||
@@ -118,7 +118,7 @@ end;
|
||||
|
||||
procedure Randomize;
|
||||
begin
|
||||
randseed := 0; {GetTickCount()}
|
||||
randseed := kos_timecounter();
|
||||
end;
|
||||
|
||||
const
|
||||
@@ -136,7 +136,6 @@ begin
|
||||
end;
|
||||
|
||||
{$i kos_stdio.inc}
|
||||
{-$i kos_term.inc}
|
||||
|
||||
procedure SysInitStdIO;
|
||||
begin
|
||||
@@ -158,15 +157,15 @@ begin
|
||||
begin
|
||||
if ExitCode <> 0 then
|
||||
begin
|
||||
{XXX: <EFBFBD><EFBFBD>易⥫쭮<EFBFBD> <20><EFBFBD><E1ABAE><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Konsole}
|
||||
{XXX: обязательное условие на однопоточный Konsole}
|
||||
Write(StdErr, '[Error #', ExitCode,', press any key]');
|
||||
{<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>}
|
||||
{ожидать нажатия клавиши}
|
||||
Konsole.KeyPressed;
|
||||
while Konsole.KeyPressed = 0 do kos_delay(2);
|
||||
{TODO: <EFBFBD><EFBFBD><EFBFBD>ࠢ<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2> Konsole}
|
||||
{<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, ⠪ <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20><EFBFBD><E1A2AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><> <20>맮<EFBFBD><EBA7AE> <20>⮩ <20><><EFBFBD>楤<EFBFBD><E6A5A4><EFBFBD>}
|
||||
{<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <> <20><>ᯥ<EFBFBD><E1AFA5><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD> <><E1ABAE><EFBFBD>}
|
||||
{<EFBFBD> <20> <20> Konsole <EFBFBD>ᯮ<EFBFBD>짮<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>뤥<EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>१ KosAPI?!}
|
||||
{TODO: исправить косяк при перерисовке Konsole}
|
||||
{это невозможно, так как куча освобождается еще до вызова этой процедуры}
|
||||
{можно написать свой диспетчер памяти, но это сложно}
|
||||
{а если в Konsole использовать выделение памяти напрямую через KosAPI?!}
|
||||
end;
|
||||
Close(StdErr);
|
||||
Close(StdOut);
|
||||
|
Reference in New Issue
Block a user