Леонид писал(а):
Ух, как не люблю синий цвет на чёрном фонеЦвет текста в консоли может быть любым из доступных.
Цвет текста консоли.PNG
Пример использования системной утилиты – finger для получения прогноза погоды в виде графика и вывода его на консоль. Для прогноза погоды в другом городе напишите его английского название вместо moskow.
Add(MainForm,2953706,105,147)
{
Visible=1
link(onCreate,8396709:doEvent1,[])
}
Add(WinExec,13803038,252,154)
{
FileName="finger"
Mode=0
Point(doConsoleExec)
Point(onConsoleResult)
link(onConsoleResult,12152753:doWriteToConsole,[])
}
Add(StrCat,16051520,196,168)
{
Str2="@graph.no"
link(onStrCat,13803038:doConsoleExec,[])
link(Str1,6940328:Text,[])
}
Add(VisualStrings,6940328,196,98)
{
Lines=#6:moskow|
Width=81
Font=[MS Sans Serif,12,0,0,1]
}
Add(Hub,8396709,161,161)
{
link(onEvent1,12152753:doOpenConsole,[])
link(onEvent2,16051520:doStrCat,[])
}
Add(InlineCode,12152753,308,161)
{
WorkPoints=#13:doOpenConsole|16:doWriteToConsole|17:doReadFromConsole|13:doFreeConsole|
EventPoints=#7:onEvent|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|29:uses Windows,kol,Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|0:|9: public|0:|20:onEvent : THI_Event;|0:|54:Procedure doOpenConsole (var _Data:TData; Index:word);|57:Procedure doWriteToConsole (var _Data:TData; Index:word);|58:Procedure doReadFromConsole (var _Data:TData; Index:word);|54:Procedure doFreeConsole (var _Data:TData; Index:word);|0:|5: end;|0:|14:implementation|0:|67:Procedure THiAsmClass.doOpenConsole (var _Data:TData; Index:word);|14:var C : COORD;|19: R : SMALL_RECT;|23: hConsole : Integer;|5:Begin|16: AllocConsole;|47: hConsole := GetStdHandle(STD_OUTPUT_HANDLE);|15: R.Left := 0;|14: R.Top := 0;|17: R.Right := 80;|18: R.Bottom := 24;|31: C.X := R.Right + 1 - R.Left;|31: C.y := R.Bottom + 1 - R.Top;|43: SetConsoleScreenBufferSize(hConsole, C);|43: SetConsoleWindowInfo(hConsole, True, R);|22: SetConsoleCP(1251);|28: SetConsoleOutputCP(1251);|49: SetConsoleTitle( PChar( 'Консоль отладки' ) );|56: //SetConsoleTextAttribute(hConsole,FOREGROUND_GREEN);|55: //SetConsoleTextAttribute(hConsole,FOREGROUND_BLUE);|4:end;|70:Procedure THiAsmClass.doWriteToConsole (var _Data:TData; Index:word);|5:Begin|28: Writeln(ToString(_Data));|4:end;|71:Procedure THiAsmClass.doReadFromConsole (var _Data:TData; Index:word);|4: var|13: s: string;|5:Begin|19: Write('--> ');|28: Readln(s); |27: _hi_OnEvent(onEvent,s);|4:end;|67:Procedure THiAsmClass.doFreeConsole (var _Data:TData; Index:word);|5:Begin|15: FreeConsole;|4:end;|0:|4:end.|
}
- Windows 10 (x64)
- Hiasm v4.05 build 186 (delphi) rev - 2404