RTL for FP 2.2.0

git-svn-id: svn://kolibrios.org@643 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
bw
2007-09-28 12:26:28 +00:00
parent 3e571197e0
commit ec5962d52e
8 changed files with 79 additions and 26 deletions

View File

@@ -1,10 +1,13 @@
{$codepage cp866}
{ <20> FreePascal 2.2.0 <20><><EFBFBD><EFBFBD><EFBFBD><E0AEA2> cp866 <20><><><E0A5A0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. }
{-$codepage cp866}
{$mode objfpc}
{$smartlink on}
{$apptype console}
{ <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E0A8A2><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EBAFAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⮫쪮 <20><><EFBFBD> <20><><EFBFBD>᮫쭮<E1AEAB>,
<20>.<2E>. <20><>४⨢<E0A5AA> concole <20><>易⥫쭠, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ணࠬ<E0AEA3><E0A0AC> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>
<20>.<2E>. <20><>४⨢<E0A5AA> console <20><>易⥫쭠, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ணࠬ<E0AEA3><E0A0AC> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>
<20><>४⨢<E0A5AA> <20><EFBFBD><E0A5A4><EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><E0A0AD><EFBFBD><E0AEA2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EFBFBD><ECA7AE><EFBFBD><EFBFBD> <20>㭪樨
Write, WriteLn, Read, ReadLn <20><EFBFBD><E2ADAE>⥫쭮 <20><EFBFBD><E2A0AD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>/<2F><EFBFBD><EBA2AE>.
}
@@ -21,13 +24,13 @@ procedure DoPaint;
{ <20><EFBFBD><><EFBFBD><E0A6A8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> }
begin
kos_begindraw();
{<7B><><EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0A0AC><20><><EFBFBD><EFBFBD> (0)}
{<7B><><EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0A0AC><20><><EFBFBD><EFBFBD>}
kos_definewindow(200, 200, 200, 50, $23AABBCC);
{kos_definewindow <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0A0AC><EFBFBD><EFBFBD> <20><><EFBFBD> <20><EFBFBD><EBA2AE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><EFBFBD><EFBFBD> <20>㭪樥<E3ADAA>}
{kos_setcaption, <EFBFBD>⮡ࠦ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> (71.1)}
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><EFBFBD><EFBFBD> <20>㭪樥<E3ADAA> kos_setcaption}
{<7B>⮡ࠦ<E2AEA1><E0A0A6><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>}
kos_setcaption('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
{<7B><EFBFBD><><EFBFBD><E9A5AD> (4)}
{<7B><EFBFBD><><EFBFBD><E9A5AD>}
kos_drawtext(3, 8, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>...');
kos_enddraw();
end;
@@ -44,7 +47,7 @@ begin
Notes[1] := Key shr 8;
Notes[2] := $00;
{<7B><><EFBFBD><EFBFBD><EFBFBD><E0AEA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>}
kos_speak(@Notes);
kos_speaker(@Notes);
end;
@@ -53,27 +56,29 @@ function DoButton: Boolean;
var
Button: DWord;
begin
{<7B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>}
{<7B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>}
Button := kos_getbutton();
{<7B>X, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>}
Result := Button = 1;
{<7B>[x], <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0AEA2><EFBFBD><EFBFBD><E0AEA2><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>}
Result := Button <> 1;
end;
function ProcessMessage: Boolean;
{ @return: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> False, <20><20>뫮 ᮡ<><20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8A5AD> <20><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
{ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD>⪠ ᮡ<>.
@return: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> False, <20><20>뫮 ᮡ<><20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8A5AD> <20><EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
@rtype: True <20><><EFBFBD> False }
var
Event: DWord;
begin
Result := False;
Result := True;
{<7B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E1AEA1><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>}
Event := kos_getevent();
case Event of
SE_PAINT : DoPaint; {<7B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1AEA2> <20><><EFBFBD><EFBFBD>}
SE_KEYBOARD: DoKey; {ᮡ<><20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>}
SE_BUTTON : Result := DoButton; {ᮡ먥 <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD>
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8A5AD> <20><EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><20><><EFBFBD> True}
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8A5AD> <20><EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><20><><EFBFBD> False}
end;
end;
@@ -83,17 +88,14 @@ procedure MainLoop;
var
ThreadSlot: TThreadSlot;
begin
{ᤥ<><E1A4A5><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><E2A8A2><EFBFBD>}
ThreadSlot := kos_getthreadslot(ThreadID);
kos_setactivewindow(ThreadSlot);
{<7B><><EFBFBD><EFBFBD><EFBFBD><E0A0A8><EFBFBD><EFBFBD><><E1AEA1><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> <20><><EFBFBD><E0A0A1><EFBFBD><EBA2A0>}
kos_maskevents(ME_PAINT or ME_KEYBOARD or ME_BUTTON);
{<7B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><>}
while not ProcessMessage do;
{<7B><><EFBFBD>⪠ ᮡ<>}
while ProcessMessage do;
end;
begin
WriteLn('Look for a new window, I''m just a konsole, hi mike ;-)');
WriteLn('Look for a new window, I''m just a konsole ;-)');
MainLoop;
end.