Вверх ↑
Ответов: 701
Рейтинг: 146
#1: 2023-10-17 22:27:24 ЛС | профиль | цитата
Пример того, как можно изменять шрифт, цвет и размер окна консоли.

Add(MainForm,2953706,147,182)
{
Width=476
Height=205
Caption="Использовать консоль в неконсольном приложении"
link(onCreate,8396709:doEvent1,[])
}
Add(ArrayEnum,12358217,287,287)
{
link(onItem,10359936:doWriteToConsole,[])
link(onEndEnum,15767886:doWork2,[])
link(Array,690153:Array,[])
}
Add(StrList,690153,273,231)
{
Strings=#37: __ __ _ _____ _____ _____ |37: | | |_| _ | __| | |37: | | | |__ | | | | |37: |__|__|_|__|__|_____|_|_|_| |11: |0:|0:|90:Item | Description | Quantity | Unit | Price | Value | |89:-----------------------------------------------------------------------------------------|90:13930 | Double-action Quickstart II rem. L=740mm | 1 | PC | 98,66 | 98,66 | |90:13100201 | Spray gun for udder washer | 20 | PC | 17,77 | 355,4 | |90:13246007 | COMBI-cock ?51 mm cpl. | 10 | PC | 63,43 | 634,3 | |90:25643301 | Milk hose ? 24/14 x 2750 | 32 | PC | 9,76 | 312,32 | |90:14291 | Service no.1 RDS MAX double box | 1 | PC | 250,51 | 250,51 | |90:24144638 | Spiral spring for tube filter | 3 | PC | 43,2 | 129,6 | |90:22121763 | V-belt spz 1087 | 4 | PC | 5,91 | 23,64 | |90:MH0015 | Repair kit non-rotating cylinder ?40mm | 8 | PC | 14,3 | 114,4 | |0:|0:|
}
Add(Memo,3647522,413,280)
{
Width=460
Height=166
Align=5
Font=[Lucida Console,14,0,0,204]
ScrollBars=3
}
Add(Button,12285898,287,329)
{
Left=265
Top=160
Align=4
Caption="Get text from console"
link(onClick,15767886:doWork3,[(333,335)])
}
Add(HubEx,15767886,329,294)
{
link(onEvent,10359936:doReadFromConsole,[])
}
Add(InlineCode,10359936,357,280)
{
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);|5:Begin|16: AllocConsole;|22: SetConsoleCP(1251);|28: SetConsoleOutputCP(1251);|49: SetConsoleTitle( PChar( 'Консоль отладки' ) );|83:// SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY);|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.|
link(onEvent,3647522:doAdd,[])
}
Add(Registry,10490814,280,168)
{
HKey=1
Value="FaceName"
Data="Lucida Console"
link(Key,15488830:Var2,[])
}
Add(Application,979190,238,70)
{
}
Add(Replace,1463562,238,119)
{
SubStr="\"
DestStr="_"
link(onReplace,5112298:doStrCat,[])
link(Str,979190:AppFileName,[])
}
Add(StrCat,5112298,287,119)
{
Str1="Console\"
}
Add(StrList,8841518,329,168)
{
Strings=#15:ScreenColors=10|25:ScreenBufferSize=19660900|15:FontSize=786432|13:FontFamily=54|14:FontWeight=400|10:LineWrap=0|0:|
}
Add(Hub,8396709,196,196)
{
OutCount=5
link(onEvent1,1463562:doReplace,[(221,202)(221,125)])
link(onEvent2,10490814:doWrite,[(228,209)(228,181)])
link(onEvent3,649784:doEnum,[])
link(onEvent4,10359936:doOpenConsole,[(333,223)(333,286)])
link(onEvent5,12358217:doEnum,[(263,230)(263,293)])
}
Add(Registry,13256035,455,203)
{
HKey=1
Value="FaceName"
DataType=0
Data="Lucida Console"
link(Data,4110750:Part2,[(461,194)(447,194)(447,250)(405,250)])
link(Key,15488830:Var3,[(468,159)])
link(Value,4110750:Part1,[(475,194)(496,194)(496,257)(398,257)])
}
Add(GetDataEx,15488830,287,154)
{
link(Data,5112298:Result,[])
}
Add(ArrayEnum,649784,343,210)
{
link(onItem,4110750:doSplit,[])
link(Array,8841518:Array,[])
}
Add(MultiStrPart,4110750,392,210)
{
Char="="
link(onSplit,13256035:doWrite,[])
}

TheRenat писал(а):
Было бы удобнее пользоваться компонентом конечно, так-что попробую превратить твой IC-шник в компонент.


У нестандартного компонента есть свои плюсы и минусы.
Главный минус – чтобы испытать схему с нестандартным компонентом его нужно устанавливать, что не всегда удобно.
карма: 15

0