7
7
Author : Kike Pérez
8
8
Version : 1.9
9
9
Created : 10/05/2017
10
- Modified : 17/02 /2019
10
+ Modified : 29/03 /2019
11
11
12
12
This file is part of QuickLib: https://github.com/exilon/QuickLib
13
13
@@ -57,7 +57,7 @@ interface
57
57
crt,
58
58
{ $ENDIF}
59
59
{ $ENDIF}
60
- { $IFDEF DELPHILINUX}
60
+ { $IF Defined( DELPHILINUX) OR Defined(MACOS) }
61
61
Quick.SyncObjs.Linux.Compatibility,
62
62
Posix.StdDef,
63
63
{ $ENDIF}
@@ -118,8 +118,8 @@ TConsoleProperties = record
118
118
TOutputProc<T> = procedure(const aLine : T) of object ;
119
119
TExecuteProc = procedure of object ;
120
120
{ $ENDIF}
121
- { $IF DEFINED(FPCLINUX) OR DEFINED(DELPHILINUX)}
122
- { $IFDEF DELPHILINUX}
121
+ { $IF DEFINED(FPCLINUX) OR DEFINED(DELPHILINUX) OR DEFINED(MACOS) }
122
+ { $IF DEFINED( DELPHILINUX) OR DEFINED(MACOS) }
123
123
tcrtcoord = Byte;
124
124
{ $ENDIF}
125
125
TCoord = record
@@ -192,7 +192,7 @@ TConsoleMenu = class
192
192
procedure ClearLine (Y : Integer); overload;
193
193
procedure ShowCursor ;
194
194
procedure HideCursor ;
195
- { $IFDEF DELPHILINUX}
195
+ { $IF DEFINED( DELPHILINUX) OR DEFINED(MACOS) }
196
196
procedure SaveCursor ;
197
197
procedure RestoreCursor ;
198
198
procedure CursorOn ;
@@ -235,7 +235,7 @@ TConsoleMenu = class
235
235
implementation
236
236
237
237
238
- { $IFDEF DELPHILINUX}
238
+ { $IF DEFINED( DELPHILINUX) OR DEFINED(MACOS) }
239
239
const
240
240
AEC =chr($1B)+chr($5b);
241
241
SAVE_CURSOR_POS = chr($1B) + ' 7' ;
@@ -326,7 +326,7 @@ procedure cout(const cMsg : string; params : array of const; cEventType : TLogEv
326
326
cout(Format(cMsg,params),cEventType);
327
327
end ;
328
328
329
- { $IFDEF DELPHILINUX}
329
+ { $IF DEFINED( DELPHILINUX) OR DEFINED(MACOS) }
330
330
procedure SaveCursor ;
331
331
begin
332
332
write(SAVE_CURSOR_POS);
@@ -400,7 +400,7 @@ function GetCursorMaxBottom : Integer;
400
400
end ;
401
401
{ $ENDIF}
402
402
403
- { $IFDEF DELPHILINUX}
403
+ { $IF DEFINED( DELPHILINUX) OR DEFINED(MACOS) }
404
404
procedure GotoXY (x,y : Integer);
405
405
begin
406
406
Write(AEC, y, ' ;' , x, ' H' );
@@ -433,7 +433,7 @@ procedure coutXY(x,y : Integer; const cMsg : string; cEventType : TLogEventType)
433
433
{ $IFDEF MSWINDOWS}
434
434
if hStdOut = 0 then Exit;
435
435
{ $ENDIF}
436
- { $IFNDEF DELPHILINUX}
436
+ { $IF NOT DEFINED( DELPHILINUX) AND NOT DEFINED(MACOS) }
437
437
LastCoord.X := GetCursorX;
438
438
LastCoord.Y := GetCursorY;
439
439
{ $ELSE}
@@ -462,7 +462,7 @@ procedure coutXY(x,y : Integer; const cMsg : string; cColor : TConsoleColor); ov
462
462
{ $IFDEF MSWINDOWS}
463
463
if hStdOut = 0 then Exit;
464
464
{ $ENDIF}
465
- { $IFNDEF DELPHILINUX}
465
+ { $IF NOT DEFINED( DELPHILINUX) AND NOT DEFINED(MACOS) }
466
466
LastCoord.X := GetCursorX;
467
467
LastCoord.Y := GetCursorY;
468
468
{ $ELSE}
@@ -531,7 +531,7 @@ procedure TextColor(Color: Byte);
531
531
TextAttr := (TextAttr and $F0) or (Color and $0F );
532
532
if TextAttr <> LastMode then SetConsoleTextAttribute(hStdOut, TextAttr);
533
533
{ $ELSE}
534
- { $IFDEF DELPHILINUX}
534
+ { $IF DEFINED( DELPHILINUX) OR DEFINED(MACOS) }
535
535
write(AEC,' ;' ,Color,' m' )
536
536
{ $ELSE}
537
537
crt.TextColor(Color);
@@ -552,7 +552,7 @@ procedure TextBackground(Color: Byte);
552
552
TextAttr := (TextAttr and $0F ) or ((Color shl 4 ) and $F0);
553
553
if TextAttr <> LastMode then SetConsoleTextAttribute(hStdOut, TextAttr);
554
554
{ $ELSE}
555
- { $IFDEF DELPHILINUX}
555
+ { $IF DEFINED( DELPHILINUX) OR DEFINED(MACOS) }
556
556
write(AEC,0 ,' ;' ,Color+10 *10 );
557
557
{ $ELSE}
558
558
crt.TextBackground(Color);
@@ -611,7 +611,7 @@ procedure ClearScreen;
611
611
end ;
612
612
{ $ELSE}
613
613
begin
614
- { $IFDEF DELPHILINUX}
614
+ { $IF DEFINED( DELPHILINUX) OR DEFINED(MACOS) }
615
615
write(AEC,2 ,' J' );
616
616
{ $ELSE}
617
617
ClrScr;
@@ -621,7 +621,7 @@ procedure ClearScreen;
621
621
622
622
procedure ClearLine ;
623
623
begin
624
- { $IFNDEF DELPHILINUX}
624
+ { $IF NOT DEFINED( DELPHILINUX) AND NOT DEFINED(MACOS) }
625
625
ClearLine(GetCursorY);
626
626
{ $ELSE}
627
627
write(AEC,' K' );
@@ -644,7 +644,7 @@ procedure ClearLine(Y : Integer);
644
644
{ $ELSE}
645
645
begin
646
646
GotoXY(1 ,Y);
647
- { $IFDEF DELPHILINUX}
647
+ { $IF DEFINED( DELPHILINUX) OR DEFINED(MACOS) }
648
648
write(AEC,' K' );
649
649
{ $ELSE}
650
650
DelLine;
@@ -1061,11 +1061,11 @@ initialization
1061
1061
{ $IF DEFINED(FPC) AND DEFINED(LINUX)}
1062
1062
InitCriticalSection(CSConsole);
1063
1063
{ $ELSE}
1064
- { $IFNDEF DELPHILINUX}
1064
+ { $IF NOT DEFINED( DELPHILINUX) AND NOT DEFINED(MACOS) }
1065
1065
InitializeCriticalSection(CSConsole);
1066
1066
// init stdout if not a service
1067
1067
try
1068
- if GetStdHandle(STD_OUTPUT_HANDLE) <> 0 then InitConsole;
1068
+ if HasConsoleOutput then InitConsole;
1069
1069
except
1070
1070
// avoid raise exception
1071
1071
end ;
0 commit comments