Windows
Delphi — среда быстрой разработки, где в качестве языка программирования используется Object Pascal. На сегодняшний день позволяет разрабатывать ПО для Microsoft Windows, Mac OS, iOS и Android и входит в состав Embarcadero RAD Studio
https://delphi-hlp.ru/index.php/windows.feed
2022-09-13T04:27:50+07:00
Delphi help
info@delphi-hlp.ru
Joomla! - Open Source Content Management
Буфер обмена (Clipboard) и TMemoryStream
2017-10-19T21:09:31+07:00
2017-10-19T21:09:31+07:00
https://delphi-hlp.ru/index.php/windows/bufer-obmena/bufer-obmena-i-potoki-stream-fajly-stroki/bufer-obmena-clipboard-i-tmemorystream.html
Super User
toto44@inbox.ru
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Обычно, это нужно для того, чтобы запихнуть в буфер обмена данные собственного формата. Сначала необходимо зарегистрировать этот формат при помощи функции RegisterClipboardFormat():</span></p>
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">CF_MYFORMAT := RegisterClipboardFormat(<span style="color: #ff0000;">'My Format Description'</span>); </span></p>
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Затем необходимо проделать следующие шаги:</span></p>
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">1. Создать поток (stream) и записать в него данные.</span></p>
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">2. Создать в памяти глобальный буфер и скопировать в него поток (stream).</span></p>
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">3. При помощи Clipboard.SetAsHandle() поместить глобальный буфер в буфер обмена.</span></p>
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/bufer-obmena/bufer-obmena-i-potoki-stream-fajly-stroki/bufer-obmena-clipboard-i-tmemorystream.html">Подробнее...</a></p>
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Обычно, это нужно для того, чтобы запихнуть в буфер обмена данные собственного формата. Сначала необходимо зарегистрировать этот формат при помощи функции RegisterClipboardFormat():</span></p>
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">CF_MYFORMAT := RegisterClipboardFormat(<span style="color: #ff0000;">'My Format Description'</span>); </span></p>
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Затем необходимо проделать следующие шаги:</span></p>
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">1. Создать поток (stream) и записать в него данные.</span></p>
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">2. Создать в памяти глобальный буфер и скопировать в него поток (stream).</span></p>
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">3. При помощи Clipboard.SetAsHandle() поместить глобальный буфер в буфер обмена.</span></p>
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/bufer-obmena/bufer-obmena-i-potoki-stream-fajly-stroki/bufer-obmena-clipboard-i-tmemorystream.html">Подробнее...</a></p>
Как скопировать содержимое строки в буфер обмена?
2017-10-19T21:22:45+07:00
2017-10-19T21:22:45+07:00
https://delphi-hlp.ru/index.php/windows/bufer-obmena/bufer-obmena-i-potoki-stream-fajly-stroki/kak-skopirovat-soderzhimoe-stroki-v-bufer-obmena.html
Super User
toto44@inbox.ru
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<div style="margin: 0px; padding: 0px; text-align: left; text-indent: 0px;">
<table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4">
<tbody>
<tr align="left" valign="top">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p>
</td>
</tr>
<tr align="left">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> CopyStringToClipboard(s: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">string</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> hg: THandle;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> P: PChar;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> hg:=GlobalAlloc(GMEM_DDESHARE </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">or</span><span class="f_CodeExample" style="color: #000000;"> GMEM_MOVEABLE, Length(S)+</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> P:=GlobalLock(hg);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> StrPCopy(P, s);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GlobalUnlock(hg);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> OpenClipboard(Application.Handle);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SetClipboardData(CF_TEXT, hg);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CloseClipboard;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GlobalFree(hg);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
</td>
</tr>
</tbody>
</table>
</div>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/bufer-obmena/bufer-obmena-i-potoki-stream-fajly-stroki/kak-skopirovat-soderzhimoe-stroki-v-bufer-obmena.html">Подробнее...</a></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<div style="margin: 0px; padding: 0px; text-align: left; text-indent: 0px;">
<table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4">
<tbody>
<tr align="left" valign="top">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p>
</td>
</tr>
<tr align="left">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> CopyStringToClipboard(s: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">string</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> hg: THandle;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> P: PChar;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> hg:=GlobalAlloc(GMEM_DDESHARE </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">or</span><span class="f_CodeExample" style="color: #000000;"> GMEM_MOVEABLE, Length(S)+</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> P:=GlobalLock(hg);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> StrPCopy(P, s);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GlobalUnlock(hg);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> OpenClipboard(Application.Handle);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SetClipboardData(CF_TEXT, hg);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CloseClipboard;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GlobalFree(hg);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
</td>
</tr>
</tbody>
</table>
</div>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/bufer-obmena/bufer-obmena-i-potoki-stream-fajly-stroki/kak-skopirovat-soderzhimoe-stroki-v-bufer-obmena.html">Подробнее...</a></p>
Как скопировать файл в Windows clipboard?
2017-10-19T21:20:13+07:00
2017-10-19T21:20:13+07:00
https://delphi-hlp.ru/index.php/windows/bufer-obmena/bufer-obmena-i-potoki-stream-fajly-stroki/kak-skopirovat-fajl-v-windows-clipboard.html
Super User
toto44@inbox.ru
<p> </p>
<div style="margin: 7px 0px; padding: 0px; text-align: justify; text-indent: 0px;">
<table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4">
<tbody>
<tr align="left" valign="top">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p>
</td>
</tr>
<tr align="left">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">uses</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ShlObj, ClipBrd; </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> CopyFilesToClipboard(FileList: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">string</span><span class="f_CodeExample" style="color: #000000;">); </span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> DropFiles: PDropFiles; </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> hGlobal: THandle; </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> iLen: Integer; </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> iLen := Length(FileList) + </span><span class="f_CodeExample" style="color: #800000;">2</span><span class="f_CodeExample" style="color: #000000;">; </span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> FileList := FileList + </span><span class="f_CodeExample" style="color: #ff0000;">#0#0</span><span class="f_CodeExample" style="color: #000000;">; </span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> hGlobal := GlobalAlloc(GMEM_SHARE </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">or</span><span class="f_CodeExample" style="color: #000000;"> GMEM_MOVEABLE </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">or</span><span class="f_CodeExample" style="color: #000000;"> GMEM_ZEROINIT, </span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SizeOf(TDropFiles) + iLen); </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> (hGlobal = </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">raise</span><span class="f_CodeExample" style="color: #000000;"> Exception.Create(</span><span class="f_CodeExample" style="color: #ff0000;">'Could not allocate memory.'</span><span class="f_CodeExample" style="color: #000000;">); </span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> DropFiles := GlobalLock(hGlobal); </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> DropFiles^.pFiles := SizeOf(TDropFiles); </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Move(FileList[</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">], (PChar(DropFiles) + SizeOf(TDropFiles))^, iLen); </span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GlobalUnlock(hGlobal); </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Clipboard.SetAsHandle(CF_HDROP, hGlobal); </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">// Example, Beispiel: </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TForm1.Button1Click(Sender: TObject); </span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> CopyFilesToClipboard(</span><span class="f_CodeExample" style="color: #ff0000;">'C:\Bootlog.Txt'#0'C:\AutoExec.Bat'</span><span class="f_CodeExample" style="color: #000000;">); </span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span></span></p>
</td>
</tr>
</tbody>
</table>
</div>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p> </p>
<div style="margin: 7px 0px; padding: 0px; text-align: justify; text-indent: 0px;">
<table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4">
<tbody>
<tr align="left" valign="top">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p>
</td>
</tr>
<tr align="left">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">uses</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ShlObj, ClipBrd; </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> CopyFilesToClipboard(FileList: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">string</span><span class="f_CodeExample" style="color: #000000;">); </span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> DropFiles: PDropFiles; </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> hGlobal: THandle; </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> iLen: Integer; </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> iLen := Length(FileList) + </span><span class="f_CodeExample" style="color: #800000;">2</span><span class="f_CodeExample" style="color: #000000;">; </span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> FileList := FileList + </span><span class="f_CodeExample" style="color: #ff0000;">#0#0</span><span class="f_CodeExample" style="color: #000000;">; </span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> hGlobal := GlobalAlloc(GMEM_SHARE </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">or</span><span class="f_CodeExample" style="color: #000000;"> GMEM_MOVEABLE </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">or</span><span class="f_CodeExample" style="color: #000000;"> GMEM_ZEROINIT, </span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SizeOf(TDropFiles) + iLen); </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> (hGlobal = </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">raise</span><span class="f_CodeExample" style="color: #000000;"> Exception.Create(</span><span class="f_CodeExample" style="color: #ff0000;">'Could not allocate memory.'</span><span class="f_CodeExample" style="color: #000000;">); </span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> DropFiles := GlobalLock(hGlobal); </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> DropFiles^.pFiles := SizeOf(TDropFiles); </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Move(FileList[</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">], (PChar(DropFiles) + SizeOf(TDropFiles))^, iLen); </span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GlobalUnlock(hGlobal); </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Clipboard.SetAsHandle(CF_HDROP, hGlobal); </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">// Example, Beispiel: </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TForm1.Button1Click(Sender: TObject); </span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> CopyFilesToClipboard(</span><span class="f_CodeExample" style="color: #ff0000;">'C:\Bootlog.Txt'#0'C:\AutoExec.Bat'</span><span class="f_CodeExample" style="color: #000000;">); </span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span></span></p>
</td>
</tr>
</tbody>
</table>
</div>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
Копирование большого файла в буфер обмена
2017-10-19T21:21:17+07:00
2017-10-19T21:21:17+07:00
https://delphi-hlp.ru/index.php/windows/bufer-obmena/bufer-obmena-i-potoki-stream-fajly-stroki/kopirovanie-bolshogo-fajla-v-bufer-obmena.html
Super User
toto44@inbox.ru
<p style="margin: 7px 0px; text-align: justify;"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Вот общее решение, которое будет работать, даже если у вас размер файла превышает 64Кб:</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Надо пробовать.</span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/bufer-obmena/bufer-obmena-i-potoki-stream-fajly-stroki/kopirovanie-bolshogo-fajla-v-bufer-obmena.html">Подробнее...</a></p>
<p style="margin: 7px 0px; text-align: justify;"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Вот общее решение, которое будет работать, даже если у вас размер файла превышает 64Кб:</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Надо пробовать.</span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/bufer-obmena/bufer-obmena-i-potoki-stream-fajly-stroki/kopirovanie-bolshogo-fajla-v-bufer-obmena.html">Подробнее...</a></p>
Копирование потока компонент в буфер обмена
2017-10-19T21:13:01+07:00
2017-10-19T21:13:01+07:00
https://delphi-hlp.ru/index.php/windows/bufer-obmena/bufer-obmena-i-potoki-stream-fajly-stroki/kopirovanie-potoka-komponent-v-bufer-obmena.html
Super User
toto44@inbox.ru
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Буфер обмена имеет методы GetComponent и SetComponent, но нам нужно</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">для потоковой передачи нескольких компонентов в буфер обмена, чтобы включить тип вставки копирования</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">функции.</span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/bufer-obmena/bufer-obmena-i-potoki-stream-fajly-stroki/kopirovanie-potoka-komponent-v-bufer-obmena.html">Подробнее...</a></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Буфер обмена имеет методы GetComponent и SetComponent, но нам нужно</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">для потоковой передачи нескольких компонентов в буфер обмена, чтобы включить тип вставки копирования</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">функции.</span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/bufer-obmena/bufer-obmena-i-potoki-stream-fajly-stroki/kopirovanie-potoka-komponent-v-bufer-obmena.html">Подробнее...</a></p>
Копировать RTF-текст в буфер обмена
2017-10-19T21:29:09+07:00
2017-10-19T21:29:09+07:00
https://delphi-hlp.ru/index.php/windows/bufer-obmena/bufer-obmena-i-potoki-stream-fajly-stroki/kopirovat-rtf-tekst-v-bufer-obmena.html
Super User
toto44@inbox.ru
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Вам придется копаться в Формат rtf, если вы хотите скопировать текст буфер обмена, который имеет встроенную информацию формата. Приложение, которое вы вставляете</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">этот текст в должен понимать RTF, или форматирование не будет отображаться.</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">ОК, первый шаг-это зарегистрировать Формат буфера обмена в формате rtf, так как это не предопределенный формат:</span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/bufer-obmena/bufer-obmena-i-potoki-stream-fajly-stroki/kopirovat-rtf-tekst-v-bufer-obmena.html">Подробнее...</a></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Вам придется копаться в Формат rtf, если вы хотите скопировать текст буфер обмена, который имеет встроенную информацию формата. Приложение, которое вы вставляете</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">этот текст в должен понимать RTF, или форматирование не будет отображаться.</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">ОК, первый шаг-это зарегистрировать Формат буфера обмена в формате rtf, так как это не предопределенный формат:</span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/bufer-obmena/bufer-obmena-i-potoki-stream-fajly-stroki/kopirovat-rtf-tekst-v-bufer-obmena.html">Подробнее...</a></p>
Копировать буфер в поток и обратно
2017-10-19T21:13:45+07:00
2017-10-19T21:13:45+07:00
https://delphi-hlp.ru/index.php/windows/bufer-obmena/bufer-obmena-i-potoki-stream-fajly-stroki/kopirovat-bufer-v-potok-i-obratno.html
Super User
toto44@inbox.ru
<p style="margin: 7px 0px; text-align: justify;"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<div style="margin: 0px; padding: 0px; text-align: left; text-indent: 0px;">
<table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4">
<tbody>
<tr align="left" valign="top">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p>
</td>
</tr>
<tr align="left">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">uses</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> clipbrd;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> CopyStreamToClipboard(fmt: Cardinal; S: TStream);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> hMem: THandle;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> pMem: Pointer;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Assert(Assigned(S));</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> S.Position := </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> hMem := GlobalAlloc(GHND </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">or</span><span class="f_CodeExample" style="color: #000000;"> GMEM_DDESHARE, S.Size);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> hMem <> </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> pMem := GlobalLock(hMem);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> pMem <> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">try</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> S.</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">Read</span><span class="f_CodeExample" style="color: #000000;">(pMem^, S.Size);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> S.Position := </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">finally</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GlobalUnlock(hMem);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Clipboard.Open;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">try</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Clipboard.SetAsHandle(fmt, hMem);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">finally</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Clipboard.Close;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span> <span class="f_CodeExample" style="color: #000080;">{ If }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">else</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GlobalFree(hMem);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> OutOfMemoryError;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span> <span class="f_CodeExample" style="color: #000080;">{ If }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">else</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> OutOfMemoryError;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span><span class="f_CodeExample" style="color: #000080;">{ CopyStreamToClipboard }</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> CopyStreamFromClipboard(fmt: Cardinal; S: TStream);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> hMem: THandle;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> pMem: Pointer;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Assert(Assigned(S));</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> hMem := Clipboard.GetAsHandle(fmt);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> hMem <> </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> pMem := GlobalLock(hMem);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> pMem <> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">try</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> S.</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">Write</span><span class="f_CodeExample" style="color: #000000;">(pMem^, GlobalSize(hMem));</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> S.Position := </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">finally</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GlobalUnlock(hMem);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span> <span class="f_CodeExample" style="color: #000080;">{ If }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">else</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">raise</span><span class="f_CodeExample" style="color: #000000;"> Exception.Create(</span><span class="f_CodeExample" style="color: #ff0000;">'CopyStreamFromClipboard: could not lock global handle '</span><span class="f_CodeExample" style="color: #000000;"> +</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #ff0000;">'obtained from clipboard!'</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span><span class="f_CodeExample" style="color: #000080;">{ If }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span><span class="f_CodeExample" style="color: #000080;">{ CopyStreamFromClipboard }</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> SaveClipboardFormat(fmt: Word; writer: TWriter);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> fmtname: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">array</span><span class="f_CodeExample" style="color: #000000;">[</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">..</span><span class="f_CodeExample" style="color: #800000;">128</span><span class="f_CodeExample" style="color: #000000;">] </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">of</span><span class="f_CodeExample" style="color: #000000;"> Char;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ms: TMemoryStream;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Assert(Assigned(writer));</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span> <span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;"> = GetClipboardFormatName(fmt, fmtname, SizeOf(fmtname)) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> fmtname[</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">] := </span><span class="f_CodeExample" style="color: #ff0000;">#0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ms := TMemoryStream.Create;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">try</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CopyStreamFromClipboard(fmt, ms);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> ms.Size > </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> writer.WriteInteger(fmt);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> writer.WriteString(fmtname);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> writer.WriteInteger(ms.Size);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> writer.</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">Write</span><span class="f_CodeExample" style="color: #000000;">(ms.Memory^, ms.Size);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span><span class="f_CodeExample" style="color: #000080;">{ If }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">finally</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ms.Free</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span><span class="f_CodeExample" style="color: #000080;">{ Finally }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span><span class="f_CodeExample" style="color: #000080;">{ SaveClipboardFormat }</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> LoadClipboardFormat(reader: TReader);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> fmt: Integer;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> fmtname: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">string</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Size: Integer;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ms: TMemoryStream;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Assert(Assigned(reader));</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> fmt := reader.ReadInteger;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> fmtname := reader.ReadString;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Size := reader.ReadInteger;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ms := TMemoryStream.Create;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">try</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ms.Size := Size;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> reader.</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">Read</span><span class="f_CodeExample" style="color: #000000;">(ms.memory^, Size);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> Length(fmtname) > </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> fmt := RegisterCLipboardFormat(PChar(fmtname));</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> fmt <> </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CopyStreamToClipboard(fmt, ms);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">finally</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ms.Free;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span><span class="f_CodeExample" style="color: #000080;">{ Finally }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span><span class="f_CodeExample" style="color: #000080;">{ LoadClipboardFormat }</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> SaveClipboard(S: TStream);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> writer: TWriter;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> i: Integer;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Assert(Assigned(S));</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> writer := TWriter.Create(S, </span><span class="f_CodeExample" style="color: #800000;">4096</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">try</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Clipboard.Open;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">try</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> writer.WriteListBegin;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">for</span><span class="f_CodeExample" style="color: #000000;"> i := </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">to</span><span class="f_CodeExample" style="color: #000000;"> Clipboard.formatcount - </span><span class="f_CodeExample" style="color: #800000;">1</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">do</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SaveClipboardFormat(Clipboard.Formats[i], writer);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> writer.WriteListEnd;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">finally</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Clipboard.Close;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span><span class="f_CodeExample" style="color: #000080;">{ Finally }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">finally</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> writer.Free</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span><span class="f_CodeExample" style="color: #000080;">{ Finally }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span><span class="f_CodeExample" style="color: #000080;">{ SaveClipboard }</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> LoadClipboard(S: TStream);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> reader: TReader;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Assert(Assigned(S));</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> reader := TReader.Create(S, </span><span class="f_CodeExample" style="color: #800000;">4096</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">try</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Clipboard.Open;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">try</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> clipboard.Clear;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> reader.ReadListBegin;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">while</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">not</span><span class="f_CodeExample" style="color: #000000;"> reader.EndOfList </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">do</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> LoadClipboardFormat(reader);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> reader.ReadListEnd;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">finally</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Clipboard.Close;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span><span class="f_CodeExample" style="color: #000080;">{ Finally }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">finally</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> reader.Free</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span><span class="f_CodeExample" style="color: #000080;">{ Finally }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span><span class="f_CodeExample" style="color: #000080;">{ LoadClipboard }</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">// Examples: </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ Save Clipboard }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TForm1.Button1Click(Sender: TObject);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ms: TMemoryStream;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ms := TMemoryStream.Create;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">try</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SaveClipboard(ms);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> ms.SaveToFile(</span><span class="f_CodeExample" style="color: #ff0000;">'c:\temp\ClipBrdSaved.dat'</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">finally</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ms.Free;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span><span class="f_CodeExample" style="color: #000080;">{ Finally }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ Clear Clipboard }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TForm1.Button2Click(Sender: TObject);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> clipboard.Clear;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ Restore Clipboard }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TForm1.Button3Click(Sender: TObject);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> fs: TfileStream;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> fs := TFilestream.Create(</span><span class="f_CodeExample" style="color: #ff0000;">'c:\temp\ClipBrdSaved.dat'</span><span class="f_CodeExample" style="color: #000000;">,</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> fmopenread </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">or</span><span class="f_CodeExample" style="color: #000000;"> fmsharedenynone);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">try</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> LoadClipboard(fs);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">finally</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> fs.Free;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span><span class="f_CodeExample" style="color: #000080;">{ Finally }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
</td>
</tr>
</tbody>
</table>
</div>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p style="margin: 7px 0px; text-align: justify;"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<div style="margin: 0px; padding: 0px; text-align: left; text-indent: 0px;">
<table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4">
<tbody>
<tr align="left" valign="top">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p>
</td>
</tr>
<tr align="left">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">uses</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> clipbrd;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> CopyStreamToClipboard(fmt: Cardinal; S: TStream);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> hMem: THandle;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> pMem: Pointer;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Assert(Assigned(S));</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> S.Position := </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> hMem := GlobalAlloc(GHND </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">or</span><span class="f_CodeExample" style="color: #000000;"> GMEM_DDESHARE, S.Size);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> hMem <> </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> pMem := GlobalLock(hMem);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> pMem <> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">try</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> S.</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">Read</span><span class="f_CodeExample" style="color: #000000;">(pMem^, S.Size);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> S.Position := </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">finally</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GlobalUnlock(hMem);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Clipboard.Open;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">try</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Clipboard.SetAsHandle(fmt, hMem);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">finally</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Clipboard.Close;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span> <span class="f_CodeExample" style="color: #000080;">{ If }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">else</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GlobalFree(hMem);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> OutOfMemoryError;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span> <span class="f_CodeExample" style="color: #000080;">{ If }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">else</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> OutOfMemoryError;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span><span class="f_CodeExample" style="color: #000080;">{ CopyStreamToClipboard }</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> CopyStreamFromClipboard(fmt: Cardinal; S: TStream);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> hMem: THandle;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> pMem: Pointer;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Assert(Assigned(S));</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> hMem := Clipboard.GetAsHandle(fmt);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> hMem <> </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> pMem := GlobalLock(hMem);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> pMem <> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">try</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> S.</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">Write</span><span class="f_CodeExample" style="color: #000000;">(pMem^, GlobalSize(hMem));</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> S.Position := </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">finally</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GlobalUnlock(hMem);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span> <span class="f_CodeExample" style="color: #000080;">{ If }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">else</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">raise</span><span class="f_CodeExample" style="color: #000000;"> Exception.Create(</span><span class="f_CodeExample" style="color: #ff0000;">'CopyStreamFromClipboard: could not lock global handle '</span><span class="f_CodeExample" style="color: #000000;"> +</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #ff0000;">'obtained from clipboard!'</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span><span class="f_CodeExample" style="color: #000080;">{ If }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span><span class="f_CodeExample" style="color: #000080;">{ CopyStreamFromClipboard }</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> SaveClipboardFormat(fmt: Word; writer: TWriter);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> fmtname: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">array</span><span class="f_CodeExample" style="color: #000000;">[</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">..</span><span class="f_CodeExample" style="color: #800000;">128</span><span class="f_CodeExample" style="color: #000000;">] </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">of</span><span class="f_CodeExample" style="color: #000000;"> Char;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ms: TMemoryStream;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Assert(Assigned(writer));</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span> <span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;"> = GetClipboardFormatName(fmt, fmtname, SizeOf(fmtname)) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> fmtname[</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">] := </span><span class="f_CodeExample" style="color: #ff0000;">#0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ms := TMemoryStream.Create;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">try</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CopyStreamFromClipboard(fmt, ms);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> ms.Size > </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> writer.WriteInteger(fmt);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> writer.WriteString(fmtname);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> writer.WriteInteger(ms.Size);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> writer.</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">Write</span><span class="f_CodeExample" style="color: #000000;">(ms.Memory^, ms.Size);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span><span class="f_CodeExample" style="color: #000080;">{ If }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">finally</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ms.Free</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span><span class="f_CodeExample" style="color: #000080;">{ Finally }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span><span class="f_CodeExample" style="color: #000080;">{ SaveClipboardFormat }</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> LoadClipboardFormat(reader: TReader);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> fmt: Integer;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> fmtname: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">string</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Size: Integer;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ms: TMemoryStream;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Assert(Assigned(reader));</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> fmt := reader.ReadInteger;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> fmtname := reader.ReadString;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Size := reader.ReadInteger;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ms := TMemoryStream.Create;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">try</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ms.Size := Size;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> reader.</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">Read</span><span class="f_CodeExample" style="color: #000000;">(ms.memory^, Size);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> Length(fmtname) > </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> fmt := RegisterCLipboardFormat(PChar(fmtname));</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> fmt <> </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CopyStreamToClipboard(fmt, ms);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">finally</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ms.Free;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span><span class="f_CodeExample" style="color: #000080;">{ Finally }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span><span class="f_CodeExample" style="color: #000080;">{ LoadClipboardFormat }</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> SaveClipboard(S: TStream);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> writer: TWriter;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> i: Integer;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Assert(Assigned(S));</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> writer := TWriter.Create(S, </span><span class="f_CodeExample" style="color: #800000;">4096</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">try</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Clipboard.Open;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">try</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> writer.WriteListBegin;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">for</span><span class="f_CodeExample" style="color: #000000;"> i := </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">to</span><span class="f_CodeExample" style="color: #000000;"> Clipboard.formatcount - </span><span class="f_CodeExample" style="color: #800000;">1</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">do</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SaveClipboardFormat(Clipboard.Formats[i], writer);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> writer.WriteListEnd;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">finally</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Clipboard.Close;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span><span class="f_CodeExample" style="color: #000080;">{ Finally }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">finally</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> writer.Free</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span><span class="f_CodeExample" style="color: #000080;">{ Finally }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span><span class="f_CodeExample" style="color: #000080;">{ SaveClipboard }</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> LoadClipboard(S: TStream);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> reader: TReader;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Assert(Assigned(S));</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> reader := TReader.Create(S, </span><span class="f_CodeExample" style="color: #800000;">4096</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">try</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Clipboard.Open;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">try</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> clipboard.Clear;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> reader.ReadListBegin;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">while</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">not</span><span class="f_CodeExample" style="color: #000000;"> reader.EndOfList </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">do</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> LoadClipboardFormat(reader);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> reader.ReadListEnd;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">finally</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Clipboard.Close;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span><span class="f_CodeExample" style="color: #000080;">{ Finally }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">finally</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> reader.Free</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span><span class="f_CodeExample" style="color: #000080;">{ Finally }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span><span class="f_CodeExample" style="color: #000080;">{ LoadClipboard }</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">// Examples: </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ Save Clipboard }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TForm1.Button1Click(Sender: TObject);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ms: TMemoryStream;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ms := TMemoryStream.Create;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">try</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SaveClipboard(ms);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> ms.SaveToFile(</span><span class="f_CodeExample" style="color: #ff0000;">'c:\temp\ClipBrdSaved.dat'</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">finally</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ms.Free;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span><span class="f_CodeExample" style="color: #000080;">{ Finally }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ Clear Clipboard }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TForm1.Button2Click(Sender: TObject);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> clipboard.Clear;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ Restore Clipboard }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TForm1.Button3Click(Sender: TObject);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> fs: TfileStream;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> fs := TFilestream.Create(</span><span class="f_CodeExample" style="color: #ff0000;">'c:\temp\ClipBrdSaved.dat'</span><span class="f_CodeExample" style="color: #000000;">,</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> fmopenread </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">or</span><span class="f_CodeExample" style="color: #000000;"> fmsharedenynone);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">try</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> LoadClipboard(fs);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">finally</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> fs.Free;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span><span class="f_CodeExample" style="color: #000080;">{ Finally }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
</td>
</tr>
</tbody>
</table>
</div>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
Копируем русский текст в буфер обмена в Windows2000
2017-10-19T21:23:31+07:00
2017-10-19T21:23:31+07:00
https://delphi-hlp.ru/index.php/windows/bufer-obmena/bufer-obmena-i-potoki-stream-fajly-stroki/kopiruem-russkij-tekst-v-bufer-obmena-v-windows2000.html
Super User
toto44@inbox.ru
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">У меня Windows NT/2000. Когда копирую текст на русском языке, скажем, из TMemo в Ворд 97/2000, то получаю в результате каракули. Эти каракули исправляются, если перед копированием насильно переключить клавиатуру пользователя на русский язык. Но если у него нет этой клавиатуры, или если лучше не переключать ее, то как можно сообщить системе, что мы будем копировать РУССКИЙ текст. На форме создается невидимый TRichEdit (я обозвал его TRE в коде). Далее текст копируется в клипборд как обычно, после чего вызывается следующая процедура </span></p>
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/bufer-obmena/bufer-obmena-i-potoki-stream-fajly-stroki/kopiruem-russkij-tekst-v-bufer-obmena-v-windows2000.html">Подробнее...</a></p>
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">У меня Windows NT/2000. Когда копирую текст на русском языке, скажем, из TMemo в Ворд 97/2000, то получаю в результате каракули. Эти каракули исправляются, если перед копированием насильно переключить клавиатуру пользователя на русский язык. Но если у него нет этой клавиатуры, или если лучше не переключать ее, то как можно сообщить системе, что мы будем копировать РУССКИЙ текст. На форме создается невидимый TRichEdit (я обозвал его TRE в коде). Далее текст копируется в клипборд как обычно, после чего вызывается следующая процедура </span></p>
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/bufer-obmena/bufer-obmena-i-potoki-stream-fajly-stroki/kopiruem-russkij-tekst-v-bufer-obmena-v-windows2000.html">Подробнее...</a></p>
Получаем имена файлов, скопированных в буфер обмена
2017-10-19T21:21:50+07:00
2017-10-19T21:21:50+07:00
https://delphi-hlp.ru/index.php/windows/bufer-obmena/bufer-obmena-i-potoki-stream-fajly-stroki/poluchaem-imena-fajlov-skopirovannykh-v-bufer-obmena.html
Super User
toto44@inbox.ru
<p style="margin: 7px 0px; text-align: justify;"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<div style="margin: 0px; padding: 0px; text-align: left; text-indent: 0px;">
<table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4">
<tbody>
<tr align="left" valign="top">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p>
</td>
</tr>
<tr align="left">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TForm1.Button1Click(Sender: TObject); </span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> f: THandle; </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> buffer: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">array</span><span class="f_CodeExample" style="color: #000000;"> [</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">..MAX_PATH] </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">of</span><span class="f_CodeExample" style="color: #000000;"> Char; </span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> i, numFiles: Integer; </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">not</span><span class="f_CodeExample" style="color: #000000;"> Clipboard.HasFormat(CF_HDROP) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span><span class="f_CodeExample" style="color: #000000;"> Exit; </span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Clipboard.Open; </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">try</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> f := Clipboard.GetAsHandle(CF_HDROP); </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> f <> </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> numFiles := DragQueryFile(f, </span><span class="f_CodeExample" style="color: #800000;">$FFFFFFFF</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">); </span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> memo1.Clear; </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">for</span><span class="f_CodeExample" style="color: #000000;"> i := </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">to</span><span class="f_CodeExample" style="color: #000000;"> numfiles - </span><span class="f_CodeExample" style="color: #800000;">1</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">do</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> buffer[</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">] := </span><span class="f_CodeExample" style="color: #ff0000;">#0</span><span class="f_CodeExample" style="color: #000000;">; </span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> DragQueryFile(f, i, buffer, SizeOf(buffer)); </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> memo1.Lines.Add(buffer); </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">finally</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Clipboard.Close; </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
</td>
</tr>
</tbody>
</table>
</div>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p style="margin: 7px 0px; text-align: justify;"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<div style="margin: 0px; padding: 0px; text-align: left; text-indent: 0px;">
<table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4">
<tbody>
<tr align="left" valign="top">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p>
</td>
</tr>
<tr align="left">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TForm1.Button1Click(Sender: TObject); </span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> f: THandle; </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> buffer: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">array</span><span class="f_CodeExample" style="color: #000000;"> [</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">..MAX_PATH] </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">of</span><span class="f_CodeExample" style="color: #000000;"> Char; </span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> i, numFiles: Integer; </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">not</span><span class="f_CodeExample" style="color: #000000;"> Clipboard.HasFormat(CF_HDROP) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span><span class="f_CodeExample" style="color: #000000;"> Exit; </span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Clipboard.Open; </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">try</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> f := Clipboard.GetAsHandle(CF_HDROP); </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> f <> </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> numFiles := DragQueryFile(f, </span><span class="f_CodeExample" style="color: #800000;">$FFFFFFFF</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">); </span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> memo1.Clear; </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">for</span><span class="f_CodeExample" style="color: #000000;"> i := </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">to</span><span class="f_CodeExample" style="color: #000000;"> numfiles - </span><span class="f_CodeExample" style="color: #800000;">1</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">do</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> buffer[</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">] := </span><span class="f_CodeExample" style="color: #ff0000;">#0</span><span class="f_CodeExample" style="color: #000000;">; </span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> DragQueryFile(f, i, buffer, SizeOf(buffer)); </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> memo1.Lines.Add(buffer); </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">finally</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Clipboard.Close; </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
</td>
</tr>
</tbody>
</table>
</div>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
Поместить/получить строку из буфера обмена (Заплатка к стандартным)
2017-10-19T21:27:32+07:00
2017-10-19T21:27:32+07:00
https://delphi-hlp.ru/index.php/windows/bufer-obmena/bufer-obmena-i-potoki-stream-fajly-stroki/pomestit-poluchit-stroku-iz-bufera-obmena-zaplatka-k-standartnym.html
Super User
toto44@inbox.ru
<p class="p_CodeExample"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample">Под Win2k попытка вставить русскую строку в Clipboard </span><span class="f_CodeExample">ClipBoard.AsText:='Проба' с последующей вставкой в Word'е </span></span></p>
<p class="p_CodeExample"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample">показывает кракозябрики.. Расследование показало, что виноваты </span><span class="f_CodeExample">мелкомягкие (как обычно :) ) С целью нивелирования различий между </span></span></p>
<p class="p_CodeExample"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample">всеми Win-платформами были написаны эти 2 ф-ции.. </span><span class="f_CodeExample">Принимают на вход/возвращают строку в Unicode - WideString.. </span></span></p>
<p class="p_CodeExample"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample">но не надо беспокоиться, Дельфи сам вставит при необходимости </span><span class="f_CodeExample">конвертацию в/из AnsiString.</span></span></p>
<p style="margin: 7px 0px; text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample">Если платформа поддерживает уникод (NT), то используется этот формат, </span><span class="f_CodeExample">иначе вызываются стандартные процедуры/ф-ции.</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Удачи!</span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/bufer-obmena/bufer-obmena-i-potoki-stream-fajly-stroki/pomestit-poluchit-stroku-iz-bufera-obmena-zaplatka-k-standartnym.html">Подробнее...</a></p>
<p class="p_CodeExample"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample">Под Win2k попытка вставить русскую строку в Clipboard </span><span class="f_CodeExample">ClipBoard.AsText:='Проба' с последующей вставкой в Word'е </span></span></p>
<p class="p_CodeExample"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample">показывает кракозябрики.. Расследование показало, что виноваты </span><span class="f_CodeExample">мелкомягкие (как обычно :) ) С целью нивелирования различий между </span></span></p>
<p class="p_CodeExample"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample">всеми Win-платформами были написаны эти 2 ф-ции.. </span><span class="f_CodeExample">Принимают на вход/возвращают строку в Unicode - WideString.. </span></span></p>
<p class="p_CodeExample"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample">но не надо беспокоиться, Дельфи сам вставит при необходимости </span><span class="f_CodeExample">конвертацию в/из AnsiString.</span></span></p>
<p style="margin: 7px 0px; text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample">Если платформа поддерживает уникод (NT), то используется этот формат, </span><span class="f_CodeExample">иначе вызываются стандартные процедуры/ф-ции.</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Удачи!</span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/bufer-obmena/bufer-obmena-i-potoki-stream-fajly-stroki/pomestit-poluchit-stroku-iz-bufera-obmena-zaplatka-k-standartnym.html">Подробнее...</a></p>
Сохранение всего содержимого буфера обмена в файл
2017-10-19T21:19:34+07:00
2017-10-19T21:19:34+07:00
https://delphi-hlp.ru/index.php/windows/bufer-obmena/bufer-obmena-i-potoki-stream-fajly-stroki/sokhranenie-vsego-soderzhimogo-bufera-obmena-v-fajl.html
Super User
toto44@inbox.ru
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Сохранение буфера обмена в файл</span></p>
<p class="p_CodeExample"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample"> </span><span class="f_CodeExample">Процедура позволяет сохранить содержимое буфера обмена в заданый файл.</span></span></p>
<p class="p_CodeExample"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample"> </span><span class="f_CodeExample">P.S. На всякий случай: я не претендую на авторство </span><span class="f_CodeExample">данного кода, я его просто привёл к виду, который мне больше подходил. </span></span></p>
<p class="p_CodeExample"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample">В эту базу я его выложил исходя из предположения, что не каждый, </span><span class="f_CodeExample">кому понадобится такая процедура знает вышеуказанный адрес или </span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">обратится туда (сам долго искал иные способы).</span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/bufer-obmena/bufer-obmena-i-potoki-stream-fajly-stroki/sokhranenie-vsego-soderzhimogo-bufera-obmena-v-fajl.html">Подробнее...</a></p>
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Сохранение буфера обмена в файл</span></p>
<p class="p_CodeExample"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample"> </span><span class="f_CodeExample">Процедура позволяет сохранить содержимое буфера обмена в заданый файл.</span></span></p>
<p class="p_CodeExample"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample"> </span><span class="f_CodeExample">P.S. На всякий случай: я не претендую на авторство </span><span class="f_CodeExample">данного кода, я его просто привёл к виду, который мне больше подходил. </span></span></p>
<p class="p_CodeExample"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample">В эту базу я его выложил исходя из предположения, что не каждый, </span><span class="f_CodeExample">кому понадобится такая процедура знает вышеуказанный адрес или </span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">обратится туда (сам долго искал иные способы).</span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/bufer-obmena/bufer-obmena-i-potoki-stream-fajly-stroki/sokhranenie-vsego-soderzhimogo-bufera-obmena-v-fajl.html">Подробнее...</a></p>
Указание языка помещенного в clipboard текста
2017-10-19T21:25:25+07:00
2017-10-19T21:25:25+07:00
https://delphi-hlp.ru/index.php/windows/bufer-obmena/bufer-obmena-i-potoki-stream-fajly-stroki/ukazanie-yazyka-pomeshchennogo-v-clipboard-teksta.html
Super User
toto44@inbox.ru
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Столкнулся с проблемой вставки в Clipboard русского текста в Win2K, WinXP. Залез в DRKB.. Ну да, там вариант предложен довольно смешной (создать TRichEdit, вставить в него clipboard, весь текст пометить русским, и вернуть в clipboard)... Всё бы ничего, но если у меня программа без форм, да и без окон вообще, то TRichEdit не создаётся ('Control has no parent window') . Почитал хелп, посмотрел, что именно Вынь сует в буфер на разных языках, и нашёл простой и красивый способ. Имхо, ему там и место - в разделе "Буфер обмена".</span><br /><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/bufer-obmena/bufer-obmena-i-potoki-stream-fajly-stroki/ukazanie-yazyka-pomeshchennogo-v-clipboard-teksta.html">Подробнее...</a></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Столкнулся с проблемой вставки в Clipboard русского текста в Win2K, WinXP. Залез в DRKB.. Ну да, там вариант предложен довольно смешной (создать TRichEdit, вставить в него clipboard, весь текст пометить русским, и вернуть в clipboard)... Всё бы ничего, но если у меня программа без форм, да и без окон вообще, то TRichEdit не создаётся ('Control has no parent window') . Почитал хелп, посмотрел, что именно Вынь сует в буфер на разных языках, и нашёл простой и красивый способ. Имхо, ему там и место - в разделе "Буфер обмена".</span><br /><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/bufer-obmena/bufer-obmena-i-potoki-stream-fajly-stroki/ukazanie-yazyka-pomeshchennogo-v-clipboard-teksta.html">Подробнее...</a></p>
TPaintBox в буфер обмена
2017-10-20T00:14:40+07:00
2017-10-20T00:14:40+07:00
https://delphi-hlp.ru/index.php/windows/bufer-obmena/bufer-obmena-i-prochee/tpaintbox-v-bufer-obmena.html
Super User
toto44@inbox.ru
<p> </p>
<div style="margin: 7px 0px; padding: 0px; text-align: justify; text-indent: 0px;"> </div>
<div style="margin: 7px 0px; padding: 0px; text-align: justify; text-indent: 0px;"> </div>
<div style="margin: 7px 0px; padding: 0px; text-align: justify; text-indent: 0px;">
<div style="margin: 7px 0px; padding: 0px; text-align: justify; text-indent: 0px;">
<table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4">
<tbody>
<tr align="left" valign="top">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p>
</td>
</tr>
<tr align="left">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> pbRect: TRect;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> pbRect := Rect(</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">, PaintBox1.Width, PaintBox1.Height);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> BitMap := TBitMap.Create;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">try</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Bitmap.Width := PaintBox1.Width;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Bitmap.Height := PaintBox1.Height;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> BitMap.Canvas.CopyRect(pbRect, PaintBox1.Canvas, pbRect);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ClipBoard.Assign(BitMap);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">finally</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> BitMap.Free;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p> </p>
<p> </p>
<div style="margin: 7px 0px; padding: 0px; text-align: justify; text-indent: 0px;"> </div>
<div style="margin: 7px 0px; padding: 0px; text-align: justify; text-indent: 0px;"> </div>
<div style="margin: 7px 0px; padding: 0px; text-align: justify; text-indent: 0px;">
<div style="margin: 7px 0px; padding: 0px; text-align: justify; text-indent: 0px;">
<table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4">
<tbody>
<tr align="left" valign="top">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p>
</td>
</tr>
<tr align="left">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> pbRect: TRect;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> pbRect := Rect(</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">, PaintBox1.Width, PaintBox1.Height);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> BitMap := TBitMap.Create;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">try</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Bitmap.Width := PaintBox1.Width;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Bitmap.Height := PaintBox1.Height;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> BitMap.Canvas.CopyRect(pbRect, PaintBox1.Canvas, pbRect);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ClipBoard.Assign(BitMap);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">finally</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> BitMap.Free;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p> </p>
Вставка содержимого буфера как картинку в RTF
2017-10-20T00:15:51+07:00
2017-10-20T00:15:51+07:00
https://delphi-hlp.ru/index.php/windows/bufer-obmena/bufer-obmena-i-prochee/vstavka-soderzhimogo-bufera-kak-kartinku-v-rtf.html
Super User
toto44@inbox.ru
<p> </p>
<div style="margin: 7px 0px; padding: 0px; text-align: justify; text-indent: 0px;">
<table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4">
<tbody>
<tr align="left" valign="top">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p>
</td>
</tr>
<tr align="left">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TForm1.Button1Click(Sender: TObject);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> b : tbitmap;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> fr: TFormatRange;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> r : TRect;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> b:=tbitmap.create;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> b.width:=rxrichedit1.width;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> b.height:=rxrichedit1.height;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> r:=rect(</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">,</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">,RXRichEdit1.Width*screen.Pixelsperinch,</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> RXRichEdit1.Height*screen.Pixelsperinch);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> fr.hdc:=b.Canvas.handle;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> fr.hdctarget:=b.Canvas.handle;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> fr.rc:=r;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> fr.rcpage:=r;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> fr.chrg.cpMin:=</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> fr.chrg.cpMax:=-</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Sendmessage(RXRichEdit1.handle,EM_FORMATRANGE,</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">,longint(@fr));</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> image1.Picture.assign(b);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> b.free;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
</td>
</tr>
</tbody>
</table>
</div>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p> </p>
<div style="margin: 7px 0px; padding: 0px; text-align: justify; text-indent: 0px;">
<table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4">
<tbody>
<tr align="left" valign="top">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p>
</td>
</tr>
<tr align="left">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TForm1.Button1Click(Sender: TObject);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> b : tbitmap;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> fr: TFormatRange;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> r : TRect;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> b:=tbitmap.create;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> b.width:=rxrichedit1.width;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> b.height:=rxrichedit1.height;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> r:=rect(</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">,</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">,RXRichEdit1.Width*screen.Pixelsperinch,</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> RXRichEdit1.Height*screen.Pixelsperinch);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> fr.hdc:=b.Canvas.handle;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> fr.hdctarget:=b.Canvas.handle;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> fr.rc:=r;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> fr.rcpage:=r;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> fr.chrg.cpMin:=</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> fr.chrg.cpMax:=-</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Sendmessage(RXRichEdit1.handle,EM_FORMATRANGE,</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">,longint(@fr));</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> image1.Picture.assign(b);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> b.free;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
</td>
</tr>
</tbody>
</table>
</div>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
Встроенные форматы буфера обмена
2017-10-20T00:16:41+07:00
2017-10-20T00:16:41+07:00
https://delphi-hlp.ru/index.php/windows/bufer-obmena/bufer-obmena-i-prochee/vstroennye-formaty-bufera-obmena.html
Super User
toto44@inbox.ru
<p> </p>
<table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4">
<tbody>
<tr align="left" valign="top">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p>
</td>
</tr>
<tr align="left">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TForm1.BtnShowFormatsClick(Sender: TObject);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> buf: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">array</span><span class="f_CodeExample" style="color: #000000;">[</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">..</span><span class="f_CodeExample" style="color: #800000;">60</span><span class="f_CodeExample" style="color: #000000;">] </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">of</span><span class="f_CodeExample" style="color: #000000;"> Char;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> n: Integer;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> fmt: Word;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">name</span><span class="f_CodeExample" style="color: #000000;">: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">string</span><span class="f_CodeExample" style="color: #000000;">[</span><span class="f_CodeExample" style="color: #800000;">30</span><span class="f_CodeExample" style="color: #000000;">];</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> MemFormats.Clear;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">for</span><span class="f_CodeExample" style="color: #000000;"> n := </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">to</span><span class="f_CodeExample" style="color: #000000;"> Clipboard.FormatCount - </span><span class="f_CodeExample" style="color: #800000;">1</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">do</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> fmt := Clipboard.Formats[n];</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> GetclipboardFormatName(fmt, buf, Pred(Sizeof(buf))) <> </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> MemFormats.Lines.Add(StrPas(buf))</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">else</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">case</span><span class="f_CodeExample" style="color: #000000;"> fmt </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">of</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">name</span><span class="f_CodeExample" style="color: #000000;"> := </span><span class="f_CodeExample" style="color: #ff0000;">'CF_TEXT'</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #800000;">2</span><span class="f_CodeExample" style="color: #000000;">: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">name</span><span class="f_CodeExample" style="color: #000000;"> := </span><span class="f_CodeExample" style="color: #ff0000;">'CF_BITMAP'</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #800000;">3</span><span class="f_CodeExample" style="color: #000000;">: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">name</span><span class="f_CodeExample" style="color: #000000;"> := </span><span class="f_CodeExample" style="color: #ff0000;">'CF_METAFILEPICT'</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #800000;">4</span><span class="f_CodeExample" style="color: #000000;">: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">name</span><span class="f_CodeExample" style="color: #000000;"> := </span><span class="f_CodeExample" style="color: #ff0000;">'CF_SYLK'</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #800000;">5</span><span class="f_CodeExample" style="color: #000000;">: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">name</span><span class="f_CodeExample" style="color: #000000;"> := </span><span class="f_CodeExample" style="color: #ff0000;">'CF_DIF'</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #800000;">6</span><span class="f_CodeExample" style="color: #000000;">: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">name</span><span class="f_CodeExample" style="color: #000000;"> := </span><span class="f_CodeExample" style="color: #ff0000;">'CF_TIFF'</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #800000;">7</span><span class="f_CodeExample" style="color: #000000;">: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">name</span><span class="f_CodeExample" style="color: #000000;"> := </span><span class="f_CodeExample" style="color: #ff0000;">'CF_OEMTEXT'</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #800000;">8</span><span class="f_CodeExample" style="color: #000000;">: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">name</span><span class="f_CodeExample" style="color: #000000;"> := </span><span class="f_CodeExample" style="color: #ff0000;">'CF_DIB'</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #800000;">9</span><span class="f_CodeExample" style="color: #000000;">: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">name</span><span class="f_CodeExample" style="color: #000000;"> := </span><span class="f_CodeExample" style="color: #ff0000;">'CF_PALETTE'</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #800000;">10</span><span class="f_CodeExample" style="color: #000000;">: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">name</span><span class="f_CodeExample" style="color: #000000;"> := </span><span class="f_CodeExample" style="color: #ff0000;">'CF_PENDATA'</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #800000;">11</span><span class="f_CodeExample" style="color: #000000;">: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">name</span><span class="f_CodeExample" style="color: #000000;"> := </span><span class="f_CodeExample" style="color: #ff0000;">'CF_RIFF'</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #800000;">12</span><span class="f_CodeExample" style="color: #000000;">: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">name</span><span class="f_CodeExample" style="color: #000000;"> := </span><span class="f_CodeExample" style="color: #ff0000;">'CF_WAVE'</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #800000;">13</span><span class="f_CodeExample" style="color: #000000;">: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">name</span><span class="f_CodeExample" style="color: #000000;"> := </span><span class="f_CodeExample" style="color: #ff0000;">'CF_UNICODETEXT'</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #800000;">14</span><span class="f_CodeExample" style="color: #000000;">: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">name</span><span class="f_CodeExample" style="color: #000000;"> := </span><span class="f_CodeExample" style="color: #ff0000;">'CF_ENHMETAFILE'</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #800000;">15</span><span class="f_CodeExample" style="color: #000000;">: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">name</span><span class="f_CodeExample" style="color: #000000;"> := </span><span class="f_CodeExample" style="color: #ff0000;">'CF_HDROP (Win 95)'</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #800000;">16</span><span class="f_CodeExample" style="color: #000000;">: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">name</span><span class="f_CodeExample" style="color: #000000;"> := </span><span class="f_CodeExample" style="color: #ff0000;">'CF_LOCALE (Win 95)'</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #800000;">17</span><span class="f_CodeExample" style="color: #000000;">: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">name</span><span class="f_CodeExample" style="color: #000000;"> := </span><span class="f_CodeExample" style="color: #ff0000;">'CF_MAX (Win 95)'</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #800000;">$0080</span><span class="f_CodeExample" style="color: #000000;">: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">name</span><span class="f_CodeExample" style="color: #000000;"> := </span><span class="f_CodeExample" style="color: #ff0000;">'CF_OWNERDISPLAY'</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #800000;">$0081</span><span class="f_CodeExample" style="color: #000000;">: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">name</span><span class="f_CodeExample" style="color: #000000;"> := </span><span class="f_CodeExample" style="color: #ff0000;">'CF_DSPTEXT'</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #800000;">$0082</span><span class="f_CodeExample" style="color: #000000;">: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">name</span><span class="f_CodeExample" style="color: #000000;"> := </span><span class="f_CodeExample" style="color: #ff0000;">'CF_DSPBITMAP'</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #800000;">$0083</span><span class="f_CodeExample" style="color: #000000;">: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">name</span><span class="f_CodeExample" style="color: #000000;"> := </span><span class="f_CodeExample" style="color: #ff0000;">'CF_DSPMETAFILEPICT'</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #800000;">$008E</span><span class="f_CodeExample" style="color: #000000;">: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">name</span><span class="f_CodeExample" style="color: #000000;"> := </span><span class="f_CodeExample" style="color: #ff0000;">'CF_DSPENHMETAFILE'</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #800000;">$0200</span><span class="f_CodeExample" style="color: #000000;">..</span><span class="f_CodeExample" style="color: #800000;">$02FF</span><span class="f_CodeExample" style="color: #000000;">: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">name</span><span class="f_CodeExample" style="color: #000000;"> := </span><span class="f_CodeExample" style="color: #ff0000;">'частный формат'</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #800000;">$0300</span><span class="f_CodeExample" style="color: #000000;">..</span><span class="f_CodeExample" style="color: #800000;">$03FF</span><span class="f_CodeExample" style="color: #000000;">: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">name</span><span class="f_CodeExample" style="color: #000000;"> := </span><span class="f_CodeExample" style="color: #ff0000;">'Объект GDI'</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">else</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">name</span><span class="f_CodeExample" style="color: #000000;"> := </span><span class="f_CodeExample" style="color: #ff0000;">'неизвестный формат'</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> MemFormats.Lines.Add(</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">name</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
</td>
</tr>
</tbody>
</table>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p> </p>
<table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4">
<tbody>
<tr align="left" valign="top">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p>
</td>
</tr>
<tr align="left">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TForm1.BtnShowFormatsClick(Sender: TObject);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> buf: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">array</span><span class="f_CodeExample" style="color: #000000;">[</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">..</span><span class="f_CodeExample" style="color: #800000;">60</span><span class="f_CodeExample" style="color: #000000;">] </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">of</span><span class="f_CodeExample" style="color: #000000;"> Char;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> n: Integer;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> fmt: Word;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">name</span><span class="f_CodeExample" style="color: #000000;">: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">string</span><span class="f_CodeExample" style="color: #000000;">[</span><span class="f_CodeExample" style="color: #800000;">30</span><span class="f_CodeExample" style="color: #000000;">];</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> MemFormats.Clear;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">for</span><span class="f_CodeExample" style="color: #000000;"> n := </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">to</span><span class="f_CodeExample" style="color: #000000;"> Clipboard.FormatCount - </span><span class="f_CodeExample" style="color: #800000;">1</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">do</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> fmt := Clipboard.Formats[n];</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> GetclipboardFormatName(fmt, buf, Pred(Sizeof(buf))) <> </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> MemFormats.Lines.Add(StrPas(buf))</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">else</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">case</span><span class="f_CodeExample" style="color: #000000;"> fmt </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">of</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">name</span><span class="f_CodeExample" style="color: #000000;"> := </span><span class="f_CodeExample" style="color: #ff0000;">'CF_TEXT'</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #800000;">2</span><span class="f_CodeExample" style="color: #000000;">: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">name</span><span class="f_CodeExample" style="color: #000000;"> := </span><span class="f_CodeExample" style="color: #ff0000;">'CF_BITMAP'</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #800000;">3</span><span class="f_CodeExample" style="color: #000000;">: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">name</span><span class="f_CodeExample" style="color: #000000;"> := </span><span class="f_CodeExample" style="color: #ff0000;">'CF_METAFILEPICT'</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #800000;">4</span><span class="f_CodeExample" style="color: #000000;">: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">name</span><span class="f_CodeExample" style="color: #000000;"> := </span><span class="f_CodeExample" style="color: #ff0000;">'CF_SYLK'</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #800000;">5</span><span class="f_CodeExample" style="color: #000000;">: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">name</span><span class="f_CodeExample" style="color: #000000;"> := </span><span class="f_CodeExample" style="color: #ff0000;">'CF_DIF'</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #800000;">6</span><span class="f_CodeExample" style="color: #000000;">: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">name</span><span class="f_CodeExample" style="color: #000000;"> := </span><span class="f_CodeExample" style="color: #ff0000;">'CF_TIFF'</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #800000;">7</span><span class="f_CodeExample" style="color: #000000;">: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">name</span><span class="f_CodeExample" style="color: #000000;"> := </span><span class="f_CodeExample" style="color: #ff0000;">'CF_OEMTEXT'</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #800000;">8</span><span class="f_CodeExample" style="color: #000000;">: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">name</span><span class="f_CodeExample" style="color: #000000;"> := </span><span class="f_CodeExample" style="color: #ff0000;">'CF_DIB'</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #800000;">9</span><span class="f_CodeExample" style="color: #000000;">: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">name</span><span class="f_CodeExample" style="color: #000000;"> := </span><span class="f_CodeExample" style="color: #ff0000;">'CF_PALETTE'</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #800000;">10</span><span class="f_CodeExample" style="color: #000000;">: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">name</span><span class="f_CodeExample" style="color: #000000;"> := </span><span class="f_CodeExample" style="color: #ff0000;">'CF_PENDATA'</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #800000;">11</span><span class="f_CodeExample" style="color: #000000;">: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">name</span><span class="f_CodeExample" style="color: #000000;"> := </span><span class="f_CodeExample" style="color: #ff0000;">'CF_RIFF'</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #800000;">12</span><span class="f_CodeExample" style="color: #000000;">: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">name</span><span class="f_CodeExample" style="color: #000000;"> := </span><span class="f_CodeExample" style="color: #ff0000;">'CF_WAVE'</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #800000;">13</span><span class="f_CodeExample" style="color: #000000;">: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">name</span><span class="f_CodeExample" style="color: #000000;"> := </span><span class="f_CodeExample" style="color: #ff0000;">'CF_UNICODETEXT'</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #800000;">14</span><span class="f_CodeExample" style="color: #000000;">: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">name</span><span class="f_CodeExample" style="color: #000000;"> := </span><span class="f_CodeExample" style="color: #ff0000;">'CF_ENHMETAFILE'</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #800000;">15</span><span class="f_CodeExample" style="color: #000000;">: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">name</span><span class="f_CodeExample" style="color: #000000;"> := </span><span class="f_CodeExample" style="color: #ff0000;">'CF_HDROP (Win 95)'</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #800000;">16</span><span class="f_CodeExample" style="color: #000000;">: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">name</span><span class="f_CodeExample" style="color: #000000;"> := </span><span class="f_CodeExample" style="color: #ff0000;">'CF_LOCALE (Win 95)'</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #800000;">17</span><span class="f_CodeExample" style="color: #000000;">: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">name</span><span class="f_CodeExample" style="color: #000000;"> := </span><span class="f_CodeExample" style="color: #ff0000;">'CF_MAX (Win 95)'</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #800000;">$0080</span><span class="f_CodeExample" style="color: #000000;">: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">name</span><span class="f_CodeExample" style="color: #000000;"> := </span><span class="f_CodeExample" style="color: #ff0000;">'CF_OWNERDISPLAY'</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #800000;">$0081</span><span class="f_CodeExample" style="color: #000000;">: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">name</span><span class="f_CodeExample" style="color: #000000;"> := </span><span class="f_CodeExample" style="color: #ff0000;">'CF_DSPTEXT'</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #800000;">$0082</span><span class="f_CodeExample" style="color: #000000;">: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">name</span><span class="f_CodeExample" style="color: #000000;"> := </span><span class="f_CodeExample" style="color: #ff0000;">'CF_DSPBITMAP'</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #800000;">$0083</span><span class="f_CodeExample" style="color: #000000;">: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">name</span><span class="f_CodeExample" style="color: #000000;"> := </span><span class="f_CodeExample" style="color: #ff0000;">'CF_DSPMETAFILEPICT'</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #800000;">$008E</span><span class="f_CodeExample" style="color: #000000;">: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">name</span><span class="f_CodeExample" style="color: #000000;"> := </span><span class="f_CodeExample" style="color: #ff0000;">'CF_DSPENHMETAFILE'</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #800000;">$0200</span><span class="f_CodeExample" style="color: #000000;">..</span><span class="f_CodeExample" style="color: #800000;">$02FF</span><span class="f_CodeExample" style="color: #000000;">: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">name</span><span class="f_CodeExample" style="color: #000000;"> := </span><span class="f_CodeExample" style="color: #ff0000;">'частный формат'</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #800000;">$0300</span><span class="f_CodeExample" style="color: #000000;">..</span><span class="f_CodeExample" style="color: #800000;">$03FF</span><span class="f_CodeExample" style="color: #000000;">: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">name</span><span class="f_CodeExample" style="color: #000000;"> := </span><span class="f_CodeExample" style="color: #ff0000;">'Объект GDI'</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">else</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">name</span><span class="f_CodeExample" style="color: #000000;"> := </span><span class="f_CodeExample" style="color: #ff0000;">'неизвестный формат'</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> MemFormats.Lines.Add(</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">name</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
</td>
</tr>
</tbody>
</table>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
Добавление текста в буфер обмена без использования модуля Clipbrd
2017-10-20T00:08:14+07:00
2017-10-20T00:08:14+07:00
https://delphi-hlp.ru/index.php/windows/bufer-obmena/bufer-obmena-i-prochee/dobavlenie-teksta-v-bufer-obmena-bez-ispolzovaniya-modulya-clipbrd.html
Super User
toto44@inbox.ru
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Пример использования:</span></p>
<div style="margin: 0px; padding: 0px; text-align: left; text-indent: 0px;">
<table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4">
<tbody>
<tr align="left" valign="top">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p>
</td>
</tr>
<tr align="left">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TForm1.Button1Click(Sender: TObject);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> SetClipboardText(Handle, </span><span class="f_CodeExample" style="color: #ff0000;">'qwerty'</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span></span></p>
</td>
</tr>
</tbody>
</table>
</div>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/bufer-obmena/bufer-obmena-i-prochee/dobavlenie-teksta-v-bufer-obmena-bez-ispolzovaniya-modulya-clipbrd.html">Подробнее...</a></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Пример использования:</span></p>
<div style="margin: 0px; padding: 0px; text-align: left; text-indent: 0px;">
<table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4">
<tbody>
<tr align="left" valign="top">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p>
</td>
</tr>
<tr align="left">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TForm1.Button1Click(Sender: TObject);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> SetClipboardText(Handle, </span><span class="f_CodeExample" style="color: #ff0000;">'qwerty'</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span></span></p>
</td>
</tr>
</tbody>
</table>
</div>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/bufer-obmena/bufer-obmena-i-prochee/dobavlenie-teksta-v-bufer-obmena-bez-ispolzovaniya-modulya-clipbrd.html">Подробнее...</a></p>
Как копировать векторное изображение?
2017-10-20T00:09:17+07:00
2017-10-20T00:09:17+07:00
https://delphi-hlp.ru/index.php/windows/bufer-obmena/bufer-obmena-i-prochee/kak-kopirovat-vektornoe-izobrazhenie.html
Super User
toto44@inbox.ru
<p> </p>
<table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4">
<tbody>
<tr align="left" valign="top">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p>
</td>
</tr>
<tr align="left">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TForm1.Button1Click(Sender: TObject);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> mf: TMetaFile;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> mfc: TMetaFileCanvas;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> i: integer;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ClipBrdFormat: word;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> data: cardinal;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> palette: hPalette;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> p: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">array</span><span class="f_CodeExample" style="color: #000000;"> [</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">..</span><span class="f_CodeExample" style="color: #800000;">90</span><span class="f_CodeExample" style="color: #000000;">] </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">of</span><span class="f_CodeExample" style="color: #000000;"> TPoint;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> mf := TMetaFile.Create;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> mf.Width := </span><span class="f_CodeExample" style="color: #800000;">100</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> mf.Height := </span><span class="f_CodeExample" style="color: #800000;">100</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> mfc := TMetafileCanvas.Create(mf, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">with</span><span class="f_CodeExample" style="color: #000000;"> mfc </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">do</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Pen.Color := clBlack;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> FrameRect(ClipRect);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> MoveTo(</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #800000;">50</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> LineTo(</span><span class="f_CodeExample" style="color: #800000;">100</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #800000;">50</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> LineTo(</span><span class="f_CodeExample" style="color: #800000;">95</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #800000;">48</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> MoveTo(</span><span class="f_CodeExample" style="color: #800000;">100</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #800000;">50</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> LineTo(</span><span class="f_CodeExample" style="color: #800000;">95</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #800000;">52</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> MoveTo(</span><span class="f_CodeExample" style="color: #800000;">50</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #800000;">100</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> LineTo(</span><span class="f_CodeExample" style="color: #800000;">50</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> LineTo(</span><span class="f_CodeExample" style="color: #800000;">48</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #800000;">5</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> MoveTo(</span><span class="f_CodeExample" style="color: #800000;">50</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> LineTo(</span><span class="f_CodeExample" style="color: #800000;">52</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #800000;">5</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Brush.Style := bsClear;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Font.</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">name</span><span class="f_CodeExample" style="color: #000000;"> := </span><span class="f_CodeExample" style="color: #ff0000;">'arial'</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Font.Size := </span><span class="f_CodeExample" style="color: #800000;">6</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> TextOut(</span><span class="f_CodeExample" style="color: #800000;">55</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #ff0000;">'Y'</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> TextOut(</span><span class="f_CodeExample" style="color: #800000;">95</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #800000;">38</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #ff0000;">'X'</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Pen.Color := clRed;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">for</span><span class="f_CodeExample" style="color: #000000;"> i := low(p) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">to</span><span class="f_CodeExample" style="color: #000000;"> high(p) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">do</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> p[i] := Point(i, round(</span><span class="f_CodeExample" style="color: #800000;">50</span><span class="f_CodeExample" style="color: #000000;"> - </span><span class="f_CodeExample" style="color: #800000;">30</span><span class="f_CodeExample" style="color: #000000;"> * sin((i - </span><span class="f_CodeExample" style="color: #800000;">50</span><span class="f_CodeExample" style="color: #000000;">) / </span><span class="f_CodeExample" style="color: #800000;">5</span><span class="f_CodeExample" style="color: #000000;">)));</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Polyline(p);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> mfc.Free;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> mf.SaveToClipboardFormat(ClipBrdFormat, data, palette);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> OpenClipboard(Application.Handle);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> EmptyClipboard;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SetClipboardData(ClipBrdFormat, data);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CloseClipboard;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> mf.Inch := </span><span class="f_CodeExample" style="color: #800000;">200</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Form1.Canvas.Draw(</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">, mf);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> mf.Free;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
</td>
</tr>
</tbody>
</table>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p> </p>
<table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4">
<tbody>
<tr align="left" valign="top">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p>
</td>
</tr>
<tr align="left">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TForm1.Button1Click(Sender: TObject);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> mf: TMetaFile;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> mfc: TMetaFileCanvas;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> i: integer;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ClipBrdFormat: word;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> data: cardinal;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> palette: hPalette;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> p: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">array</span><span class="f_CodeExample" style="color: #000000;"> [</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">..</span><span class="f_CodeExample" style="color: #800000;">90</span><span class="f_CodeExample" style="color: #000000;">] </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">of</span><span class="f_CodeExample" style="color: #000000;"> TPoint;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> mf := TMetaFile.Create;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> mf.Width := </span><span class="f_CodeExample" style="color: #800000;">100</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> mf.Height := </span><span class="f_CodeExample" style="color: #800000;">100</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> mfc := TMetafileCanvas.Create(mf, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">with</span><span class="f_CodeExample" style="color: #000000;"> mfc </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">do</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Pen.Color := clBlack;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> FrameRect(ClipRect);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> MoveTo(</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #800000;">50</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> LineTo(</span><span class="f_CodeExample" style="color: #800000;">100</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #800000;">50</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> LineTo(</span><span class="f_CodeExample" style="color: #800000;">95</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #800000;">48</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> MoveTo(</span><span class="f_CodeExample" style="color: #800000;">100</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #800000;">50</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> LineTo(</span><span class="f_CodeExample" style="color: #800000;">95</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #800000;">52</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> MoveTo(</span><span class="f_CodeExample" style="color: #800000;">50</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #800000;">100</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> LineTo(</span><span class="f_CodeExample" style="color: #800000;">50</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> LineTo(</span><span class="f_CodeExample" style="color: #800000;">48</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #800000;">5</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> MoveTo(</span><span class="f_CodeExample" style="color: #800000;">50</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> LineTo(</span><span class="f_CodeExample" style="color: #800000;">52</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #800000;">5</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Brush.Style := bsClear;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Font.</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">name</span><span class="f_CodeExample" style="color: #000000;"> := </span><span class="f_CodeExample" style="color: #ff0000;">'arial'</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Font.Size := </span><span class="f_CodeExample" style="color: #800000;">6</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> TextOut(</span><span class="f_CodeExample" style="color: #800000;">55</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #ff0000;">'Y'</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> TextOut(</span><span class="f_CodeExample" style="color: #800000;">95</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #800000;">38</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #ff0000;">'X'</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Pen.Color := clRed;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">for</span><span class="f_CodeExample" style="color: #000000;"> i := low(p) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">to</span><span class="f_CodeExample" style="color: #000000;"> high(p) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">do</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> p[i] := Point(i, round(</span><span class="f_CodeExample" style="color: #800000;">50</span><span class="f_CodeExample" style="color: #000000;"> - </span><span class="f_CodeExample" style="color: #800000;">30</span><span class="f_CodeExample" style="color: #000000;"> * sin((i - </span><span class="f_CodeExample" style="color: #800000;">50</span><span class="f_CodeExample" style="color: #000000;">) / </span><span class="f_CodeExample" style="color: #800000;">5</span><span class="f_CodeExample" style="color: #000000;">)));</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Polyline(p);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> mfc.Free;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> mf.SaveToClipboardFormat(ClipBrdFormat, data, palette);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> OpenClipboard(Application.Handle);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> EmptyClipboard;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SetClipboardData(ClipBrdFormat, data);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CloseClipboard;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> mf.Inch := </span><span class="f_CodeExample" style="color: #800000;">200</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Form1.Canvas.Draw(</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">, mf);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> mf.Free;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
</td>
</tr>
</tbody>
</table>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
Как копировать и вставлять картинки через буфер обмена?
2017-10-20T00:13:17+07:00
2017-10-20T00:13:17+07:00
https://delphi-hlp.ru/index.php/windows/bufer-obmena/bufer-obmena-i-prochee/kak-kopirovat-i-vstavlyat-kartinki-cherez-bufer-obmena.html
Super User
toto44@inbox.ru
<p> </p>
<table border="0" width="100%" cellspacing="0" cellpadding="2" bgcolor="#ead7ff">
<tbody>
<tr>
<td align="left">
<p class="p_Heading1"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Как копировать и вставлять картинки через буфер обмена?</span></p>
</td>
<td align="right"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><a href="https://dr.delphi-hlp.ru/1592.htm">Previous</a> <a href="https://dr.delphi-hlp.ru/drkb$00001.htm">Top</a> <a href="https://dr.delphi-hlp.ru/tpaintbox_a_aooa_iaiaia.htm">Next</a> </span></td>
</tr>
</tbody>
</table>
<p> </p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Некоторые функции для копирования и вставки Bitmap-объектов через буфер обмена. </span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/bufer-obmena/bufer-obmena-i-prochee/kak-kopirovat-i-vstavlyat-kartinki-cherez-bufer-obmena.html">Подробнее...</a></p>
<p> </p>
<table border="0" width="100%" cellspacing="0" cellpadding="2" bgcolor="#ead7ff">
<tbody>
<tr>
<td align="left">
<p class="p_Heading1"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Как копировать и вставлять картинки через буфер обмена?</span></p>
</td>
<td align="right"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><a href="https://dr.delphi-hlp.ru/1592.htm">Previous</a> <a href="https://dr.delphi-hlp.ru/drkb$00001.htm">Top</a> <a href="https://dr.delphi-hlp.ru/tpaintbox_a_aooa_iaiaia.htm">Next</a> </span></td>
</tr>
</tbody>
</table>
<p> </p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Некоторые функции для копирования и вставки Bitmap-объектов через буфер обмена. </span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/bufer-obmena/bufer-obmena-i-prochee/kak-kopirovat-i-vstavlyat-kartinki-cherez-bufer-obmena.html">Подробнее...</a></p>
Как копировать/менять Clipboard text без использования VCL?
2017-10-20T00:01:58+07:00
2017-10-20T00:01:58+07:00
https://delphi-hlp.ru/index.php/windows/bufer-obmena/bufer-obmena-i-prochee/kak-kopirovat-menyat-clipboard-text-bez-ispolzovaniya-vcl.html
Super User
toto44@inbox.ru
<p> </p>
<table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4">
<tbody>
<tr align="left" valign="top">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p>
</td>
</tr>
<tr align="left">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> CopyStringToClipboard(s: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">string</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> hg: THandle;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> P: PChar;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> hg:=GlobalAlloc(GMEM_DDESHARE </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">or</span><span class="f_CodeExample" style="color: #000000;"> GMEM_MOVEABLE, Length(S)+</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> P:=GlobalLock(hg);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> StrPCopy(P, s);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GlobalUnlock(hg);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> OpenClipboard(Application.Handle);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SetClipboardData(CF_TEXT, hg);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CloseClipboard;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GlobalFree(hg);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
</td>
</tr>
</tbody>
</table>
<p> </p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/bufer-obmena/bufer-obmena-i-prochee/kak-kopirovat-menyat-clipboard-text-bez-ispolzovaniya-vcl.html">Подробнее...</a></p>
<p> </p>
<table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4">
<tbody>
<tr align="left" valign="top">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p>
</td>
</tr>
<tr align="left">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> CopyStringToClipboard(s: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">string</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> hg: THandle;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> P: PChar;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> hg:=GlobalAlloc(GMEM_DDESHARE </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">or</span><span class="f_CodeExample" style="color: #000000;"> GMEM_MOVEABLE, Length(S)+</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> P:=GlobalLock(hg);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> StrPCopy(P, s);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GlobalUnlock(hg);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> OpenClipboard(Application.Handle);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SetClipboardData(CF_TEXT, hg);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CloseClipboard;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GlobalFree(hg);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
</td>
</tr>
</tbody>
</table>
<p> </p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/bufer-obmena/bufer-obmena-i-prochee/kak-kopirovat-menyat-clipboard-text-bez-ispolzovaniya-vcl.html">Подробнее...</a></p>
Копирование и вставка данных своего формата из буфера обмена
2017-10-20T00:21:21+07:00
2017-10-20T00:21:21+07:00
https://delphi-hlp.ru/index.php/windows/bufer-obmena/bufer-obmena-i-prochee/kopirovanie-i-vstavka-dannykh-svoego-formata-iz-bufera-obmena.html
Super User
toto44@inbox.ru
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">TClipboard обеспечивает легкий доступ к буферу обмена. Но что делать, если вы хотите добавить (несколько) определенных элементов в буфер обмена?</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Для всех действий требуется unit Clipboard.</span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/bufer-obmena/bufer-obmena-i-prochee/kopirovanie-i-vstavka-dannykh-svoego-formata-iz-bufera-obmena.html">Подробнее...</a></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">TClipboard обеспечивает легкий доступ к буферу обмена. Но что делать, если вы хотите добавить (несколько) определенных элементов в буфер обмена?</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Для всех действий требуется unit Clipboard.</span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/bufer-obmena/bufer-obmena-i-prochee/kopirovanie-i-vstavka-dannykh-svoego-formata-iz-bufera-obmena.html">Подробнее...</a></p>
Скопировать изображение формы
2017-10-20T00:15:13+07:00
2017-10-20T00:15:13+07:00
https://delphi-hlp.ru/index.php/windows/bufer-obmena/bufer-obmena-i-prochee/skopirovat-izobrazhenie-formy.html
Super User
toto44@inbox.ru
<p> </p>
<div style="margin: 0px; padding: 0px; text-align: left; text-indent: 0px;">
<table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4">
<tbody>
<tr align="left" valign="top">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p>
</td>
</tr>
<tr align="left">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">uses</span><span class="f_CodeExample" style="color: #000000;"> clipbrd;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TShowVRML.Kopieren1Click(Sender: TObject);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> bitmap: tbitmap;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> bitmap := tbitmap.create;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> bitmap.width := clientwidth;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> bitmap.height := clientheight;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">try</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">with</span><span class="f_CodeExample" style="color: #000000;"> bitmap.Canvas </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">do</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CopyRect(clientrect, canvas, clientrect);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> clipboard.assign(bitmap);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">finally</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> bitmap.free;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
</td>
</tr>
</tbody>
</table>
</div>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p> </p>
<div style="margin: 0px; padding: 0px; text-align: left; text-indent: 0px;">
<table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4">
<tbody>
<tr align="left" valign="top">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p>
</td>
</tr>
<tr align="left">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">uses</span><span class="f_CodeExample" style="color: #000000;"> clipbrd;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TShowVRML.Kopieren1Click(Sender: TObject);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> bitmap: tbitmap;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> bitmap := tbitmap.create;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> bitmap.width := clientwidth;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> bitmap.height := clientheight;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">try</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">with</span><span class="f_CodeExample" style="color: #000000;"> bitmap.Canvas </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">do</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CopyRect(clientrect, canvas, clientrect);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> clipboard.assign(bitmap);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">finally</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> bitmap.free;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
</td>
</tr>
</tbody>
</table>
</div>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
Hook на буфер обмена
2017-10-19T20:23:39+07:00
2017-10-19T20:23:39+07:00
https://delphi-hlp.ru/index.php/windows/bufer-obmena/obshchie-voprosy/hook-na-bufer-obmena.html
Super User
toto44@inbox.ru
<p style="margin: 7px 0px; text-align: justify;"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">*Просто создайте новую форму и назовите его ClipFormats.</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">*Поместите TButton и вызывай его btnUpdate.</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">*Поместите лист бокс и вызывай его lbFormats.</span></p>
<p> </p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Затем просто добавьте приведенный ниже код и подключить все обработчики событий.</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Все это делает дисплей в настоящее время все форматы в буфере обмена и</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">обновления как только изменения буфера обмена.</span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/bufer-obmena/obshchie-voprosy/hook-na-bufer-obmena.html">Подробнее...</a></p>
<p style="margin: 7px 0px; text-align: justify;"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">*Просто создайте новую форму и назовите его ClipFormats.</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">*Поместите TButton и вызывай его btnUpdate.</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">*Поместите лист бокс и вызывай его lbFormats.</span></p>
<p> </p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Затем просто добавьте приведенный ниже код и подключить все обработчики событий.</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Все это делает дисплей в настоящее время все форматы в буфере обмена и</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">обновления как только изменения буфера обмена.</span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/bufer-obmena/obshchie-voprosy/hook-na-bufer-obmena.html">Подробнее...</a></p>
Использование интерфейса OLE
2017-10-19T20:10:37+07:00
2017-10-19T20:10:37+07:00
https://delphi-hlp.ru/index.php/windows/bufer-obmena/obshchie-voprosy/ispolzovanie-interfejsa-ole.html
Super User
toto44@inbox.ru
<h1 style="text-align: center;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Использование интерфейса OLE</span></h1>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Значение, которое придается сегодня внедрению интерфейса OLE, трудно переоценить. Фирма Microsoft извещает о том, что на получение логотипа "Windows 95 Compatible" будут сертифицированы только те приложения, которые имеют средства работы с OLE.</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Разъяснять суть механизмов OLE с точки зрения пользователя здесь не имеет смысла; кратко опишем их с точки зрения программиста.</span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/bufer-obmena/obshchie-voprosy/ispolzovanie-interfejsa-ole.html">Подробнее...</a></p>
<h1 style="text-align: center;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Использование интерфейса OLE</span></h1>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Значение, которое придается сегодня внедрению интерфейса OLE, трудно переоценить. Фирма Microsoft извещает о том, что на получение логотипа "Windows 95 Compatible" будут сертифицированы только те приложения, которые имеют средства работы с OLE.</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Разъяснять суть механизмов OLE с точки зрения пользователя здесь не имеет смысла; кратко опишем их с точки зрения программиста.</span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/bufer-obmena/obshchie-voprosy/ispolzovanie-interfejsa-ole.html">Подробнее...</a></p>
Как программно реализовать Cut, Copy и Paste?
2017-10-19T19:28:31+07:00
2017-10-19T19:28:31+07:00
https://delphi-hlp.ru/index.php/windows/bufer-obmena/obshchie-voprosy/kak-programmno-realizovat-cut-copy-i-paste.html
Super User
toto44@inbox.ru
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Следущие операции производятся с активным контролом на форме:</span></p>
<div style="margin: 7px 0px; padding: 0px; text-align: justify; text-indent: 0px;">
<table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4">
<tbody>
<tr align="left" valign="top">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p>
</td>
</tr>
<tr align="left">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TForm1.Cut1Click(Sender: TObject);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> SendMessage (ActiveControl.Handle, WM_Cut, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TForm1.Copy1Click(Sender: TObject);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> SendMessage (ActiveControl.Handle, WM_Copy, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TForm1.Paste1Click(Sender: TObject);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> SendMessage (ActiveControl.Handle, WM_Paste, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
</td>
</tr>
</tbody>
</table>
</div>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p><span style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;"> </span></p>
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Если Вы разрабатываете приложение MDI, то необходимо отправлять сообщение в активное дочернее окно, т.е. использовать: ActiveMDIChild.ActiveControl.Handle</span></p>
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Следущие операции производятся с активным контролом на форме:</span></p>
<div style="margin: 7px 0px; padding: 0px; text-align: justify; text-indent: 0px;">
<table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4">
<tbody>
<tr align="left" valign="top">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p>
</td>
</tr>
<tr align="left">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TForm1.Cut1Click(Sender: TObject);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> SendMessage (ActiveControl.Handle, WM_Cut, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TForm1.Copy1Click(Sender: TObject);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> SendMessage (ActiveControl.Handle, WM_Copy, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TForm1.Paste1Click(Sender: TObject);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> SendMessage (ActiveControl.Handle, WM_Paste, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
</td>
</tr>
</tbody>
</table>
</div>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p><span style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;"> </span></p>
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Если Вы разрабатываете приложение MDI, то необходимо отправлять сообщение в активное дочернее окно, т.е. использовать: ActiveMDIChild.ActiveControl.Handle</span></p>
Как работать с буфером обмена (clipboard)?
2017-10-19T18:58:30+07:00
2017-10-19T18:58:30+07:00
https://delphi-hlp.ru/index.php/windows/bufer-obmena/obshchie-voprosy/kak-rabotat-s-buferom-obmena-clipboard.html
Super User
toto44@inbox.ru
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Этот пример использует картинку, кнопку и компонент shape на форме. Когда пользователь кликает по кнопке, то изображение формы сохраняется в в переменной FormImage и копируется в буфер обмена (Clipboard). Затем изображение формы копируется обратно в компонент картинки, тем самым создавая интересный эффект, особенно, если кнопку понажимать несколько раз.</span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/bufer-obmena/obshchie-voprosy/kak-rabotat-s-buferom-obmena-clipboard.html">Подробнее...</a></p>
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Этот пример использует картинку, кнопку и компонент shape на форме. Когда пользователь кликает по кнопке, то изображение формы сохраняется в в переменной FormImage и копируется в буфер обмена (Clipboard). Затем изображение формы копируется обратно в компонент картинки, тем самым создавая интересный эффект, особенно, если кнопку понажимать несколько раз.</span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/bufer-obmena/obshchie-voprosy/kak-rabotat-s-buferom-obmena-clipboard.html">Подробнее...</a></p>
Как удобнее работать с буфером обмена как с последовательностью байт?
2017-10-19T19:36:06+07:00
2017-10-19T19:36:06+07:00
https://delphi-hlp.ru/index.php/windows/bufer-obmena/obshchie-voprosy/kak-udobnee-rabotat-s-buferom-obmena-kak-c-posledovatelnostyu-bajt.html
Super User
toto44@inbox.ru
<div style="margin: 7px 0px; padding: 0px; text-align: justify; text-indent: 0px;">
<table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; width: 574px; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4">
<tbody>
<tr align="left" valign="top">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0; width: 562px;">
<p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p>
</td>
</tr>
<tr align="left">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0; width: 562px;">
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">unit</span><span class="f_CodeExample" style="color: #000000;"> ClipStrm;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000000;"> </span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">interface</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">uses</span><span class="f_CodeExample" style="color: #000000;"> Classes, Windows;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">type</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> TClipboardStream = </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">class</span><span class="f_CodeExample" style="color: #000000;">(TStream)</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">private</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> FMemory : pointer;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> FSize : longint;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> FPosition : longint;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> FFormat : word;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">public</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">constructor</span><span class="f_CodeExample" style="color: #000000;"> Create(fmt : word);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">destructor</span><span class="f_CodeExample" style="color: #000000;"> Destroy; </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">override</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">Read</span><span class="f_CodeExample" style="color: #000000;">(</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">var</span><span class="f_CodeExample" style="color: #000000;"> Buffer; Count : Longint) : Longint; </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">override</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">Write</span><span class="f_CodeExample" style="color: #000000;">(</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">const</span><span class="f_CodeExample" style="color: #000000;"> Buffer; Count : Longint) : Longint; </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">override</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> Seek(Offset : Longint; Origin : Word) : Longint; </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">override</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">implementation</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">uses</span><span class="f_CodeExample" style="color: #000000;"> SysUtils;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">constructor</span><span class="f_CodeExample" style="color: #000000;"> TClipboardStream.Create(fmt : word);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> tmp : pointer;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> FHandle : THandle;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">FFormat := fmt;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">OpenClipboard(</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">FHandle := GetClipboardData(FFormat);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">FSize := GlobalSize(FHandle);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">FMemory := AllocMem(FSize);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">tmp := GlobalLock(FHandle);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">MoveMemory(FMemory, tmp, FSize);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">GlobalUnlock(FHandle);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">FPosition := </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">CloseClipboard;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">destructor</span><span class="f_CodeExample" style="color: #000000;"> TClipboardStream.Destroy;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">FreeMem(FMemory);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> TClipboardStream.</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">Read</span><span class="f_CodeExample" style="color: #000000;">(</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">var</span><span class="f_CodeExample" style="color: #000000;"> Buffer; Count : longint) : longint;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> FPosition + Count > FSize </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Result := FSize - FPosition</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">else</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Result := Count;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">MoveMemory(@Buffer, PChar(FMemory) + FPosition, Result);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Inc(FPosition, Result);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> TClipboardStream.</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">Write</span><span class="f_CodeExample" style="color: #000000;">(</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">const</span><span class="f_CodeExample" style="color: #000000;"> Buffer; Count : longint) : longint;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> FHandle : HGlobal;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> tmp : pointer;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">ReallocMem(FMemory, FPosition + Count);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">MoveMemory(PChar(FMemory) + FPosition, @Buffer, Count);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">FPosition := FPosition + Count;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">FSize := FPosition;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">FHandle := GlobalAlloc(GMEM_MOVEABLE </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">or</span><span class="f_CodeExample" style="color: #000000;"> GMEM_SHARE </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">or</span><span class="f_CodeExample" style="color: #000000;"> GMEM_ZEROINIT, FSize);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">try</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> tmp := GlobalLock(FHandle);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">try</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> MoveMemory(tmp, FMemory, FSize);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> OpenClipboard(</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SetClipboardData(FFormat, FHandle);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">finally</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GlobalUnlock(FHandle);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CloseClipboard;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">except</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GlobalFree(FHandle);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Result := Count;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> TClipboardStream.Seek(Offset : Longint; Origin : Word) : Longint;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">case</span><span class="f_CodeExample" style="color: #000000;"> Origin </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">of</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;"> : FPosition := Offset;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;"> : Inc(FPosition, Offset);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #800000;">2</span><span class="f_CodeExample" style="color: #000000;"> : FPosition := FSize + Offset;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Result := FPosition;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">.</span></span></p>
</td>
</tr>
</tbody>
</table>
</div>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> <span style="color: #000000;"> </span></span></p>
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Alexey Mahotkin alexm@hsys.msk.ru (2:5020/433)</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000;">Взято из FAQ: </span><span style="color: #000000;">Delphi and Windows API Tips'n'Tricks </span></span></p>
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">olmal@mail.ru</span></p>
<div style="margin: 7px 0px; padding: 0px; text-align: justify; text-indent: 0px;">
<table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; width: 574px; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4">
<tbody>
<tr align="left" valign="top">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0; width: 562px;">
<p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p>
</td>
</tr>
<tr align="left">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0; width: 562px;">
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">unit</span><span class="f_CodeExample" style="color: #000000;"> ClipStrm;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000000;"> </span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">interface</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">uses</span><span class="f_CodeExample" style="color: #000000;"> Classes, Windows;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">type</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> TClipboardStream = </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">class</span><span class="f_CodeExample" style="color: #000000;">(TStream)</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">private</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> FMemory : pointer;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> FSize : longint;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> FPosition : longint;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> FFormat : word;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">public</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">constructor</span><span class="f_CodeExample" style="color: #000000;"> Create(fmt : word);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">destructor</span><span class="f_CodeExample" style="color: #000000;"> Destroy; </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">override</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">Read</span><span class="f_CodeExample" style="color: #000000;">(</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">var</span><span class="f_CodeExample" style="color: #000000;"> Buffer; Count : Longint) : Longint; </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">override</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">Write</span><span class="f_CodeExample" style="color: #000000;">(</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">const</span><span class="f_CodeExample" style="color: #000000;"> Buffer; Count : Longint) : Longint; </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">override</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> Seek(Offset : Longint; Origin : Word) : Longint; </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">override</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">implementation</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">uses</span><span class="f_CodeExample" style="color: #000000;"> SysUtils;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">constructor</span><span class="f_CodeExample" style="color: #000000;"> TClipboardStream.Create(fmt : word);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> tmp : pointer;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> FHandle : THandle;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">FFormat := fmt;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">OpenClipboard(</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">FHandle := GetClipboardData(FFormat);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">FSize := GlobalSize(FHandle);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">FMemory := AllocMem(FSize);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">tmp := GlobalLock(FHandle);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">MoveMemory(FMemory, tmp, FSize);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">GlobalUnlock(FHandle);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">FPosition := </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">CloseClipboard;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">destructor</span><span class="f_CodeExample" style="color: #000000;"> TClipboardStream.Destroy;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">FreeMem(FMemory);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> TClipboardStream.</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">Read</span><span class="f_CodeExample" style="color: #000000;">(</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">var</span><span class="f_CodeExample" style="color: #000000;"> Buffer; Count : longint) : longint;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> FPosition + Count > FSize </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Result := FSize - FPosition</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">else</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Result := Count;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">MoveMemory(@Buffer, PChar(FMemory) + FPosition, Result);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Inc(FPosition, Result);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> TClipboardStream.</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">Write</span><span class="f_CodeExample" style="color: #000000;">(</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">const</span><span class="f_CodeExample" style="color: #000000;"> Buffer; Count : longint) : longint;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> FHandle : HGlobal;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> tmp : pointer;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">ReallocMem(FMemory, FPosition + Count);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">MoveMemory(PChar(FMemory) + FPosition, @Buffer, Count);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">FPosition := FPosition + Count;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">FSize := FPosition;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">FHandle := GlobalAlloc(GMEM_MOVEABLE </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">or</span><span class="f_CodeExample" style="color: #000000;"> GMEM_SHARE </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">or</span><span class="f_CodeExample" style="color: #000000;"> GMEM_ZEROINIT, FSize);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">try</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> tmp := GlobalLock(FHandle);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">try</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> MoveMemory(tmp, FMemory, FSize);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> OpenClipboard(</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SetClipboardData(FFormat, FHandle);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">finally</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GlobalUnlock(FHandle);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CloseClipboard;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">except</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GlobalFree(FHandle);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Result := Count;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> TClipboardStream.Seek(Offset : Longint; Origin : Word) : Longint;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">case</span><span class="f_CodeExample" style="color: #000000;"> Origin </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">of</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;"> : FPosition := Offset;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;"> : Inc(FPosition, Offset);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #800000;">2</span><span class="f_CodeExample" style="color: #000000;"> : FPosition := FSize + Offset;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Result := FPosition;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">.</span></span></p>
</td>
</tr>
</tbody>
</table>
</div>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> <span style="color: #000000;"> </span></span></p>
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Alexey Mahotkin alexm@hsys.msk.ru (2:5020/433)</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000;">Взято из FAQ: </span><span style="color: #000000;">Delphi and Windows API Tips'n'Tricks </span></span></p>
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">olmal@mail.ru</span></p>
Контроль за изменением содержимого буфера обмена
2017-10-19T19:49:06+07:00
2017-10-19T19:49:06+07:00
https://delphi-hlp.ru/index.php/windows/bufer-obmena/obshchie-voprosy/kontrol-za-izmeneniem-soderzhimogo-bufera-obmena.html
Super User
toto44@inbox.ru
<p>Приложение может быть уведомлено об изменениях в данных, хранящихся в</p>
<p> Буфер обмена Windows, зарегистрировавшись как средство просмотра буфера обмена.</p>
<p> </p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/bufer-obmena/obshchie-voprosy/kontrol-za-izmeneniem-soderzhimogo-bufera-obmena.html">Подробнее...</a></p>
<p>Приложение может быть уведомлено об изменениях в данных, хранящихся в</p>
<p> Буфер обмена Windows, зарегистрировавшись как средство просмотра буфера обмена.</p>
<p> </p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/bufer-obmena/obshchie-voprosy/kontrol-za-izmeneniem-soderzhimogo-bufera-obmena.html">Подробнее...</a></p>
Копирование в буфер обмена
2017-10-19T19:27:51+07:00
2017-10-19T19:27:51+07:00
https://delphi-hlp.ru/index.php/windows/bufer-obmena/obshchie-voprosy/kopirovanie-v-bufer-obmena.html
Super User
toto44@inbox.ru
<div style="margin: 0px; padding: 0px; text-align: left; text-indent: 0px;">
<table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4">
<tbody>
<tr align="left" valign="top">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p>
</td>
</tr>
<tr align="left">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> CopyButtonClick(Sender: TObject);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> ActiveControl </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">is</span><span class="f_CodeExample" style="color: #000000;"> TMemo </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> TMemo(ActiveControl).CopyToClipboard;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> ActiveControl </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">is</span><span class="f_CodeExample" style="color: #000000;"> TDBMemo </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> TDBMemo(ActiveControl).CopyToClipboard;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> ActiveControl </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">is</span><span class="f_CodeExample" style="color: #000000;"> TEdit </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> TEdit(ActiveControl).CopyToClipboard;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> ActiveControl </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">is</span><span class="f_CodeExample" style="color: #000000;"> TDBedit </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> TDBedit(ActiveControl).CopyToClipboard;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> PasteButtonClick(Sender: TObject);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> ActiveControl </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">is</span><span class="f_CodeExample" style="color: #000000;"> TMemo </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> TMemo(ActiveControl).PasteFromClipboard;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> ActiveControl </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">is</span><span class="f_CodeExample" style="color: #000000;"> TDBMemo </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> TDBMemo(ActiveControl).PasteFromClipboard;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> ActiveControl </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">is</span><span class="f_CodeExample" style="color: #000000;"> TEdit </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> TEdit(ActiveControl).PasteFromClipboard;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> ActiveControl </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">is</span><span class="f_CodeExample" style="color: #000000;"> TDBedit </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> TDBedit(ActiveControl).PasteFromClipboard;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
</td>
</tr>
</tbody>
</table>
</div>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<div style="margin: 0px; padding: 0px; text-align: left; text-indent: 0px;">
<table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4">
<tbody>
<tr align="left" valign="top">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p>
</td>
</tr>
<tr align="left">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> CopyButtonClick(Sender: TObject);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> ActiveControl </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">is</span><span class="f_CodeExample" style="color: #000000;"> TMemo </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> TMemo(ActiveControl).CopyToClipboard;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> ActiveControl </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">is</span><span class="f_CodeExample" style="color: #000000;"> TDBMemo </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> TDBMemo(ActiveControl).CopyToClipboard;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> ActiveControl </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">is</span><span class="f_CodeExample" style="color: #000000;"> TEdit </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> TEdit(ActiveControl).CopyToClipboard;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> ActiveControl </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">is</span><span class="f_CodeExample" style="color: #000000;"> TDBedit </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> TDBedit(ActiveControl).CopyToClipboard;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> PasteButtonClick(Sender: TObject);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> ActiveControl </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">is</span><span class="f_CodeExample" style="color: #000000;"> TMemo </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> TMemo(ActiveControl).PasteFromClipboard;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> ActiveControl </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">is</span><span class="f_CodeExample" style="color: #000000;"> TDBMemo </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> TDBMemo(ActiveControl).PasteFromClipboard;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> ActiveControl </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">is</span><span class="f_CodeExample" style="color: #000000;"> TEdit </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> TEdit(ActiveControl).PasteFromClipboard;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> ActiveControl </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">is</span><span class="f_CodeExample" style="color: #000000;"> TDBedit </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> TDBedit(ActiveControl).PasteFromClipboard;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
</td>
</tr>
</tbody>
</table>
</div>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
Копировать и вставлять ячейки TStringGrid в буфер обмена
2017-10-19T20:33:07+07:00
2017-10-19T20:33:07+07:00
https://delphi-hlp.ru/index.php/windows/bufer-obmena/obshchie-voprosy/kopirovat-i-vstavlyat-yachejki-tstringgrid-v-bufer-obmena.html
Super User
toto44@inbox.ru
<div style="margin: 0px; padding: 0px; text-align: left; text-indent: 0px;">
<table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; width: 474.55px; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4">
<tbody>
<tr align="left" valign="top">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0; width: 464.55px;">
<p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p>
</td>
</tr>
<tr align="left">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0; width: 464.55px;">
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">uses</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Clipbrd;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">//Copy </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TForm1.Button1Click(Sender: TObject);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> S: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">string</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GRect: TGridRect;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> C, R: Integer;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GRect := StringGrid1.Selection;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> S := </span><span class="f_CodeExample" style="color: #ff0000;">''</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">for</span><span class="f_CodeExample" style="color: #000000;"> R := GRect.Top </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">to</span><span class="f_CodeExample" style="color: #000000;"> GRect.Bottom </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">do</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">for</span><span class="f_CodeExample" style="color: #000000;"> C := GRect.Left </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">to</span><span class="f_CodeExample" style="color: #000000;"> GRect.Right </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">do</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> C = GRect.Right </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span><span class="f_CodeExample" style="color: #000000;"> S := S + (StringGrid1.Cells[C, R])</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">else</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> S := S + StringGrid1.Cells[C, R] + </span><span class="f_CodeExample" style="color: #ff0000;">#9</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> S := S + </span><span class="f_CodeExample" style="color: #ff0000;">#13#10</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ClipBoard.AsText := S;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">// Paste </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TForm1.Button2Click(Sender: TObject);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Grect: TGridRect;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> S, CS, F: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">string</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> L, R, C: Byte;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GRect := StringGrid1.Selection;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> L := GRect.Left;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> R := GRect.Top;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> S := ClipBoard.AsText;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> R := R - </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">while</span><span class="f_CodeExample" style="color: #000000;"> Pos(</span><span class="f_CodeExample" style="color: #ff0000;">#13</span><span class="f_CodeExample" style="color: #000000;">, S) > </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">do</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> R := R + </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> C := L - </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> CS := Copy(S, </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">,Pos(</span><span class="f_CodeExample" style="color: #ff0000;">#13</span><span class="f_CodeExample" style="color: #000000;">, S));</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">while</span><span class="f_CodeExample" style="color: #000000;"> Pos(</span><span class="f_CodeExample" style="color: #ff0000;">#9</span><span class="f_CodeExample" style="color: #000000;">, CS) > </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">do</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> C := C + </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> (C <= StringGrid1.ColCount - </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">and</span><span class="f_CodeExample" style="color: #000000;"> (R <= StringGrid1.RowCount - </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> StringGrid1.Cells[C, R] := Copy(CS, </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">,Pos(</span><span class="f_CodeExample" style="color: #ff0000;">#9</span><span class="f_CodeExample" style="color: #000000;">, CS) - </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> F := Copy(CS, </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">,Pos(</span><span class="f_CodeExample" style="color: #ff0000;">#9</span><span class="f_CodeExample" style="color: #000000;">, CS) - </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Delete(CS, </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">,Pos(</span><span class="f_CodeExample" style="color: #ff0000;">#9</span><span class="f_CodeExample" style="color: #000000;">, CS));</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> (C <= StringGrid1.ColCount - </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">and</span><span class="f_CodeExample" style="color: #000000;"> (R <= StringGrid1.RowCount - </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> StringGrid1.Cells[C + </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">,R] := Copy(CS, </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">,Pos(</span><span class="f_CodeExample" style="color: #ff0000;">#13</span><span class="f_CodeExample" style="color: #000000;">, CS) - </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Delete(S, </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">,Pos(</span><span class="f_CodeExample" style="color: #ff0000;">#13</span><span class="f_CodeExample" style="color: #000000;">, S));</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> Copy(S, </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">,</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">) = </span><span class="f_CodeExample" style="color: #ff0000;">#10</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Delete(S, </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">,</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
</td>
</tr>
</tbody>
</table>
</div>
<p style="text-align: left;"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/bufer-obmena/obshchie-voprosy/kopirovat-i-vstavlyat-yachejki-tstringgrid-v-bufer-obmena.html">Подробнее...</a></p>
<div style="margin: 0px; padding: 0px; text-align: left; text-indent: 0px;">
<table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; width: 474.55px; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4">
<tbody>
<tr align="left" valign="top">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0; width: 464.55px;">
<p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p>
</td>
</tr>
<tr align="left">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0; width: 464.55px;">
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">uses</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Clipbrd;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">//Copy </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TForm1.Button1Click(Sender: TObject);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> S: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">string</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GRect: TGridRect;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> C, R: Integer;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GRect := StringGrid1.Selection;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> S := </span><span class="f_CodeExample" style="color: #ff0000;">''</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">for</span><span class="f_CodeExample" style="color: #000000;"> R := GRect.Top </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">to</span><span class="f_CodeExample" style="color: #000000;"> GRect.Bottom </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">do</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">for</span><span class="f_CodeExample" style="color: #000000;"> C := GRect.Left </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">to</span><span class="f_CodeExample" style="color: #000000;"> GRect.Right </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">do</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> C = GRect.Right </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span><span class="f_CodeExample" style="color: #000000;"> S := S + (StringGrid1.Cells[C, R])</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">else</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> S := S + StringGrid1.Cells[C, R] + </span><span class="f_CodeExample" style="color: #ff0000;">#9</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> S := S + </span><span class="f_CodeExample" style="color: #ff0000;">#13#10</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ClipBoard.AsText := S;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">// Paste </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TForm1.Button2Click(Sender: TObject);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Grect: TGridRect;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> S, CS, F: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">string</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> L, R, C: Byte;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GRect := StringGrid1.Selection;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> L := GRect.Left;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> R := GRect.Top;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> S := ClipBoard.AsText;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> R := R - </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">while</span><span class="f_CodeExample" style="color: #000000;"> Pos(</span><span class="f_CodeExample" style="color: #ff0000;">#13</span><span class="f_CodeExample" style="color: #000000;">, S) > </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">do</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> R := R + </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> C := L - </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> CS := Copy(S, </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">,Pos(</span><span class="f_CodeExample" style="color: #ff0000;">#13</span><span class="f_CodeExample" style="color: #000000;">, S));</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">while</span><span class="f_CodeExample" style="color: #000000;"> Pos(</span><span class="f_CodeExample" style="color: #ff0000;">#9</span><span class="f_CodeExample" style="color: #000000;">, CS) > </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">do</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> C := C + </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> (C <= StringGrid1.ColCount - </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">and</span><span class="f_CodeExample" style="color: #000000;"> (R <= StringGrid1.RowCount - </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> StringGrid1.Cells[C, R] := Copy(CS, </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">,Pos(</span><span class="f_CodeExample" style="color: #ff0000;">#9</span><span class="f_CodeExample" style="color: #000000;">, CS) - </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> F := Copy(CS, </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">,Pos(</span><span class="f_CodeExample" style="color: #ff0000;">#9</span><span class="f_CodeExample" style="color: #000000;">, CS) - </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Delete(CS, </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">,Pos(</span><span class="f_CodeExample" style="color: #ff0000;">#9</span><span class="f_CodeExample" style="color: #000000;">, CS));</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> (C <= StringGrid1.ColCount - </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">and</span><span class="f_CodeExample" style="color: #000000;"> (R <= StringGrid1.RowCount - </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> StringGrid1.Cells[C + </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">,R] := Copy(CS, </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">,Pos(</span><span class="f_CodeExample" style="color: #ff0000;">#13</span><span class="f_CodeExample" style="color: #000000;">, CS) - </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Delete(S, </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">,Pos(</span><span class="f_CodeExample" style="color: #ff0000;">#13</span><span class="f_CodeExample" style="color: #000000;">, S));</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> Copy(S, </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">,</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">) = </span><span class="f_CodeExample" style="color: #ff0000;">#10</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Delete(S, </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">,</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
</td>
</tr>
</tbody>
</table>
</div>
<p style="text-align: left;"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/bufer-obmena/obshchie-voprosy/kopirovat-i-vstavlyat-yachejki-tstringgrid-v-bufer-obmena.html">Подробнее...</a></p>
Предотвратить работу с командами буфера обмена в TEdit
2017-10-19T20:31:36+07:00
2017-10-19T20:31:36+07:00
https://delphi-hlp.ru/index.php/windows/bufer-obmena/obshchie-voprosy/predotvratit-rabotu-s-komandami-bufera-obmena-v-tedit.html
Super User
toto44@inbox.ru
<p> </p>
<div style="margin: 0px; padding: 0px; text-align: left; text-indent: 0px;">
<table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; width: 644.36px; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4">
<tbody>
<tr align="left" valign="top">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0; width: 632.36px;">
<p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p>
</td>
</tr>
<tr align="left">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0; width: 632.36px;">
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">unit</span><span class="f_CodeExample" style="color: #000000;"> MyEdit;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">interface</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">uses</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Dialogs, stdctrls, clipbrd;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">type</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> TPreventNotifyEvent = </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;">(Sender: TObject; Text: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">string</span><span class="f_CodeExample" style="color: #000000;">; </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">var</span><span class="f_CodeExample" style="color: #000000;"> Accept: Boolean) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">of</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">object</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">type</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> TMyEdit = </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">class</span><span class="f_CodeExample" style="color: #000000;">(TCustomEdit)</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">private</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> FPreventCut: Boolean;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> FPreventCopy: Boolean;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> FPreventPaste: Boolean;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> FPreventClear: Boolean;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> FOnCut: TPreventNotifyEvent;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> FOnCopy: TPreventNotifyEvent;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> FOnPaste: TPreventNotifyEvent;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> FOnClear: TPreventNotifyEvent;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> WMCut(</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">var</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">Message</span><span class="f_CodeExample" style="color: #000000;">: TMessage); </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">message</span><span class="f_CodeExample" style="color: #000000;"> WM_CUT;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> WMCopy(</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">var</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">Message</span><span class="f_CodeExample" style="color: #000000;">: TMessage); </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">message</span><span class="f_CodeExample" style="color: #000000;"> WM_COPY;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> WMPaste(</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">var</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">Message</span><span class="f_CodeExample" style="color: #000000;">: TMessage); </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">message</span><span class="f_CodeExample" style="color: #000000;"> WM_PASTE;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> WMClear(</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">var</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">Message</span><span class="f_CodeExample" style="color: #000000;">: TMessage); </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">message</span><span class="f_CodeExample" style="color: #000000;"> WM_CLEAR;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">protected</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{ Protected declarations }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">public</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{ Public declarations }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">published</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">property</span><span class="f_CodeExample" style="color: #000000;"> PreventCut: Boolean </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">read</span><span class="f_CodeExample" style="color: #000000;"> FPreventCut </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">write</span><span class="f_CodeExample" style="color: #000000;"> FPreventCut </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">default</span><span class="f_CodeExample" style="color: #000000;"> False;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">property</span><span class="f_CodeExample" style="color: #000000;"> PreventCopy: Boolean </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">read</span><span class="f_CodeExample" style="color: #000000;"> FPreventCopy </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">write</span><span class="f_CodeExample" style="color: #000000;"> FPreventCopy </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">default</span><span class="f_CodeExample" style="color: #000000;"> False;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">property</span><span class="f_CodeExample" style="color: #000000;"> PreventPaste: Boolean </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">read</span><span class="f_CodeExample" style="color: #000000;"> FPreventPaste </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">write</span><span class="f_CodeExample" style="color: #000000;"> FPreventPaste </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">default</span><span class="f_CodeExample" style="color: #000000;"> False;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">property</span><span class="f_CodeExample" style="color: #000000;"> PreventClear: Boolean </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">read</span><span class="f_CodeExample" style="color: #000000;"> FPreventClear </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">write</span><span class="f_CodeExample" style="color: #000000;"> FPreventClear </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">default</span><span class="f_CodeExample" style="color: #000000;"> False;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">property</span><span class="f_CodeExample" style="color: #000000;"> OnCut: TPreventNotifyEvent </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">read</span><span class="f_CodeExample" style="color: #000000;"> FOnCut </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">write</span><span class="f_CodeExample" style="color: #000000;"> FOnCut;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">property</span><span class="f_CodeExample" style="color: #000000;"> OnCopy: TPreventNotifyEvent </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">read</span><span class="f_CodeExample" style="color: #000000;"> FOnCopy </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">write</span><span class="f_CodeExample" style="color: #000000;"> FOnCopy;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">property</span><span class="f_CodeExample" style="color: #000000;"> OnPaste: TPreventNotifyEvent </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">read</span><span class="f_CodeExample" style="color: #000000;"> FOnPaste </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">write</span><span class="f_CodeExample" style="color: #000000;"> FOnPaste;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">property</span><span class="f_CodeExample" style="color: #000000;"> OnClear: TPreventNotifyEvent </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">read</span><span class="f_CodeExample" style="color: #000000;"> FOnClear </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">write</span><span class="f_CodeExample" style="color: #000000;"> FOnClear;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">Register</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">implementation</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TMyEdit.WMCut(</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">var</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">Message</span><span class="f_CodeExample" style="color: #000000;">: TMessage);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Accept: Boolean;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Handle: THandle;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> HandlePtr: Pointer;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> CText: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">string</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> FPreventCut </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Exit;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> SelLength = </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Exit;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> CText := Copy(Text, SelStart + </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">, SelLength);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">try</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> OpenClipBoard(Self.Handle);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Accept := True;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> Assigned(FOnCut) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> FOnCut(Self, CText, Accept);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">not</span><span class="f_CodeExample" style="color: #000000;"> Accept </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Exit;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Handle := GlobalAlloc(GMEM_MOVEABLE + GMEM_DDESHARE, Length(CText) + </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> Handle = </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Exit;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> HandlePtr := GlobalLock(Handle);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Move((PChar(CText))^, HandlePtr^, Length(CText));</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SetClipboardData(CF_TEXT, Handle);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GlobalUnlock(Handle);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CText := Text;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Delete(CText, SelStart + </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">, SelLength);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Text := CText;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">finally</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CloseClipBoard;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TMyEdit.WMCopy(</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">var</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">Message</span><span class="f_CodeExample" style="color: #000000;">: TMessage);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Accept: Boolean;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Handle: THandle;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> HandlePtr: Pointer;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> CText: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">string</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> FPreventCopy </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Exit;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> SelLength = </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Exit;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> CText := Copy(Text, SelStart + </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">, SelLength);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">try</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> OpenClipBoard(Self.Handle);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Accept := True;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> Assigned(FOnCopy) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> FOnCopy(Self, CText, Accept);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">not</span><span class="f_CodeExample" style="color: #000000;"> Accept </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Exit;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Handle := GlobalAlloc(GMEM_MOVEABLE + GMEM_DDESHARE, Length(CText) + </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> Handle = </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Exit;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> HandlePtr := GlobalLock(Handle);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Move((PChar(CText))^, HandlePtr^, Length(CText));</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SetClipboardData(CF_TEXT, Handle);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GlobalUnlock(Handle);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">finally</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CloseClipBoard;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TMyEdit.WMPaste(</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">var</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">Message</span><span class="f_CodeExample" style="color: #000000;">: TMessage);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Accept: Boolean;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Handle: THandle;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> CText: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">string</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> LText: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">string</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> AText: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">string</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> FPreventPaste </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Exit;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> IsClipboardFormatAvailable(CF_TEXT) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">try</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> OpenClipBoard(Self.Handle);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Handle := GetClipboardData(CF_TEXT);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> Handle = </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Exit;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CText := StrPas(GlobalLock(Handle));</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GlobalUnlock(Handle);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Accept := True;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> Assigned(FOnPaste) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> FOnPaste(Self, CText, Accept);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">not</span><span class="f_CodeExample" style="color: #000000;"> Accept </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Exit;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> LText := </span><span class="f_CodeExample" style="color: #ff0000;">''</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> SelStart > </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> LText := Copy(Text, </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">, SelStart);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> LText := LText + CText;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> AText := </span><span class="f_CodeExample" style="color: #ff0000;">''</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> (SelStart + </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">) < Length(Text) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> AText := Copy(Text, SelStart + SelLength + </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">, Length(Text) - SelStart + SelLength + </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Text := LText + AText;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">finally</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CloseClipBoard;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TMyEdit.WMClear(</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">var</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">Message</span><span class="f_CodeExample" style="color: #000000;">: TMessage);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Accept: Boolean;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> CText: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">string</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> FPreventClear </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Exit;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> SelStart = </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Exit;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> CText := Copy(Text, SelStart + </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">, SelLength);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Accept := True;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> Assigned(FOnClear) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> FOnClear(Self, CText, Accept);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">not</span><span class="f_CodeExample" style="color: #000000;"> Accept </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Exit;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CText := Text;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Delete(CText, SelStart + </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">, SelLength);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Text := CText;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">Register</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> RegisterComponents(</span><span class="f_CodeExample" style="color: #ff0000;">'Samples'</span><span class="f_CodeExample" style="color: #000000;">, [TMyEdit]);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">.</span></span></p>
</td>
</tr>
</tbody>
</table>
</div>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p> </p>
<div style="margin: 0px; padding: 0px; text-align: left; text-indent: 0px;">
<table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; width: 644.36px; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4">
<tbody>
<tr align="left" valign="top">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0; width: 632.36px;">
<p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p>
</td>
</tr>
<tr align="left">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0; width: 632.36px;">
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">unit</span><span class="f_CodeExample" style="color: #000000;"> MyEdit;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">interface</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">uses</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Dialogs, stdctrls, clipbrd;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">type</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> TPreventNotifyEvent = </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;">(Sender: TObject; Text: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">string</span><span class="f_CodeExample" style="color: #000000;">; </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">var</span><span class="f_CodeExample" style="color: #000000;"> Accept: Boolean) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">of</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">object</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">type</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> TMyEdit = </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">class</span><span class="f_CodeExample" style="color: #000000;">(TCustomEdit)</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">private</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> FPreventCut: Boolean;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> FPreventCopy: Boolean;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> FPreventPaste: Boolean;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> FPreventClear: Boolean;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> FOnCut: TPreventNotifyEvent;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> FOnCopy: TPreventNotifyEvent;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> FOnPaste: TPreventNotifyEvent;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> FOnClear: TPreventNotifyEvent;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> WMCut(</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">var</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">Message</span><span class="f_CodeExample" style="color: #000000;">: TMessage); </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">message</span><span class="f_CodeExample" style="color: #000000;"> WM_CUT;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> WMCopy(</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">var</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">Message</span><span class="f_CodeExample" style="color: #000000;">: TMessage); </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">message</span><span class="f_CodeExample" style="color: #000000;"> WM_COPY;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> WMPaste(</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">var</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">Message</span><span class="f_CodeExample" style="color: #000000;">: TMessage); </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">message</span><span class="f_CodeExample" style="color: #000000;"> WM_PASTE;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> WMClear(</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">var</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">Message</span><span class="f_CodeExample" style="color: #000000;">: TMessage); </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">message</span><span class="f_CodeExample" style="color: #000000;"> WM_CLEAR;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">protected</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{ Protected declarations }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">public</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{ Public declarations }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">published</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">property</span><span class="f_CodeExample" style="color: #000000;"> PreventCut: Boolean </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">read</span><span class="f_CodeExample" style="color: #000000;"> FPreventCut </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">write</span><span class="f_CodeExample" style="color: #000000;"> FPreventCut </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">default</span><span class="f_CodeExample" style="color: #000000;"> False;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">property</span><span class="f_CodeExample" style="color: #000000;"> PreventCopy: Boolean </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">read</span><span class="f_CodeExample" style="color: #000000;"> FPreventCopy </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">write</span><span class="f_CodeExample" style="color: #000000;"> FPreventCopy </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">default</span><span class="f_CodeExample" style="color: #000000;"> False;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">property</span><span class="f_CodeExample" style="color: #000000;"> PreventPaste: Boolean </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">read</span><span class="f_CodeExample" style="color: #000000;"> FPreventPaste </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">write</span><span class="f_CodeExample" style="color: #000000;"> FPreventPaste </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">default</span><span class="f_CodeExample" style="color: #000000;"> False;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">property</span><span class="f_CodeExample" style="color: #000000;"> PreventClear: Boolean </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">read</span><span class="f_CodeExample" style="color: #000000;"> FPreventClear </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">write</span><span class="f_CodeExample" style="color: #000000;"> FPreventClear </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">default</span><span class="f_CodeExample" style="color: #000000;"> False;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">property</span><span class="f_CodeExample" style="color: #000000;"> OnCut: TPreventNotifyEvent </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">read</span><span class="f_CodeExample" style="color: #000000;"> FOnCut </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">write</span><span class="f_CodeExample" style="color: #000000;"> FOnCut;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">property</span><span class="f_CodeExample" style="color: #000000;"> OnCopy: TPreventNotifyEvent </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">read</span><span class="f_CodeExample" style="color: #000000;"> FOnCopy </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">write</span><span class="f_CodeExample" style="color: #000000;"> FOnCopy;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">property</span><span class="f_CodeExample" style="color: #000000;"> OnPaste: TPreventNotifyEvent </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">read</span><span class="f_CodeExample" style="color: #000000;"> FOnPaste </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">write</span><span class="f_CodeExample" style="color: #000000;"> FOnPaste;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">property</span><span class="f_CodeExample" style="color: #000000;"> OnClear: TPreventNotifyEvent </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">read</span><span class="f_CodeExample" style="color: #000000;"> FOnClear </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">write</span><span class="f_CodeExample" style="color: #000000;"> FOnClear;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">Register</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">implementation</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TMyEdit.WMCut(</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">var</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">Message</span><span class="f_CodeExample" style="color: #000000;">: TMessage);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Accept: Boolean;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Handle: THandle;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> HandlePtr: Pointer;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> CText: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">string</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> FPreventCut </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Exit;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> SelLength = </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Exit;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> CText := Copy(Text, SelStart + </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">, SelLength);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">try</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> OpenClipBoard(Self.Handle);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Accept := True;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> Assigned(FOnCut) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> FOnCut(Self, CText, Accept);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">not</span><span class="f_CodeExample" style="color: #000000;"> Accept </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Exit;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Handle := GlobalAlloc(GMEM_MOVEABLE + GMEM_DDESHARE, Length(CText) + </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> Handle = </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Exit;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> HandlePtr := GlobalLock(Handle);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Move((PChar(CText))^, HandlePtr^, Length(CText));</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SetClipboardData(CF_TEXT, Handle);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GlobalUnlock(Handle);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CText := Text;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Delete(CText, SelStart + </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">, SelLength);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Text := CText;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">finally</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CloseClipBoard;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TMyEdit.WMCopy(</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">var</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">Message</span><span class="f_CodeExample" style="color: #000000;">: TMessage);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Accept: Boolean;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Handle: THandle;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> HandlePtr: Pointer;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> CText: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">string</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> FPreventCopy </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Exit;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> SelLength = </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Exit;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> CText := Copy(Text, SelStart + </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">, SelLength);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">try</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> OpenClipBoard(Self.Handle);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Accept := True;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> Assigned(FOnCopy) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> FOnCopy(Self, CText, Accept);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">not</span><span class="f_CodeExample" style="color: #000000;"> Accept </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Exit;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Handle := GlobalAlloc(GMEM_MOVEABLE + GMEM_DDESHARE, Length(CText) + </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> Handle = </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Exit;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> HandlePtr := GlobalLock(Handle);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Move((PChar(CText))^, HandlePtr^, Length(CText));</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SetClipboardData(CF_TEXT, Handle);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GlobalUnlock(Handle);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">finally</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CloseClipBoard;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TMyEdit.WMPaste(</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">var</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">Message</span><span class="f_CodeExample" style="color: #000000;">: TMessage);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Accept: Boolean;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Handle: THandle;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> CText: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">string</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> LText: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">string</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> AText: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">string</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> FPreventPaste </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Exit;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> IsClipboardFormatAvailable(CF_TEXT) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">try</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> OpenClipBoard(Self.Handle);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Handle := GetClipboardData(CF_TEXT);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> Handle = </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Exit;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CText := StrPas(GlobalLock(Handle));</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GlobalUnlock(Handle);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Accept := True;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> Assigned(FOnPaste) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> FOnPaste(Self, CText, Accept);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">not</span><span class="f_CodeExample" style="color: #000000;"> Accept </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Exit;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> LText := </span><span class="f_CodeExample" style="color: #ff0000;">''</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> SelStart > </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> LText := Copy(Text, </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">, SelStart);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> LText := LText + CText;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> AText := </span><span class="f_CodeExample" style="color: #ff0000;">''</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> (SelStart + </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">) < Length(Text) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> AText := Copy(Text, SelStart + SelLength + </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">, Length(Text) - SelStart + SelLength + </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Text := LText + AText;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">finally</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CloseClipBoard;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TMyEdit.WMClear(</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">var</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">Message</span><span class="f_CodeExample" style="color: #000000;">: TMessage);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Accept: Boolean;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> CText: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">string</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> FPreventClear </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Exit;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> SelStart = </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Exit;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> CText := Copy(Text, SelStart + </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">, SelLength);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Accept := True;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> Assigned(FOnClear) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> FOnClear(Self, CText, Accept);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">not</span><span class="f_CodeExample" style="color: #000000;"> Accept </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Exit;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CText := Text;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Delete(CText, SelStart + </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">, SelLength);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Text := CText;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">Register</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> RegisterComponents(</span><span class="f_CodeExample" style="color: #ff0000;">'Samples'</span><span class="f_CodeExample" style="color: #000000;">, [TMyEdit]);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">.</span></span></p>
</td>
</tr>
</tbody>
</table>
</div>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
Просмотр буфера обмена
2017-10-19T20:17:02+07:00
2017-10-19T20:17:02+07:00
https://delphi-hlp.ru/index.php/windows/bufer-obmena/obshchie-voprosy/prosmotr-bufera-obmena.html
Super User
toto44@inbox.ru
<p style="margin: 7px 0px; text-align: justify;"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> <span style="color: #000000;">Просмотр буфера обмена.</span></span></p>
<p class="p_CodeExample"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample"> </span><span class="f_CodeExample">Пример на основе простого модуля-класса, осуществляющего просмотр буфера обмена.</span></span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/bufer-obmena/obshchie-voprosy/prosmotr-bufera-obmena.html">Подробнее...</a></p>
<p style="margin: 7px 0px; text-align: justify;"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> <span style="color: #000000;">Просмотр буфера обмена.</span></span></p>
<p class="p_CodeExample"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample"> </span><span class="f_CodeExample">Пример на основе простого модуля-класса, осуществляющего просмотр буфера обмена.</span></span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/bufer-obmena/obshchie-voprosy/prosmotr-bufera-obmena.html">Подробнее...</a></p>
Скопировать HTML-код в буфер обмена
2017-10-19T20:29:27+07:00
2017-10-19T20:29:27+07:00
https://delphi-hlp.ru/index.php/windows/bufer-obmena/obshchie-voprosy/skopirovat-html-kod-v-bufer-obmena.html
Super User
toto44@inbox.ru
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Если вы когда-нибудь пробовали вставлять html в буфер обмена, используя обычный CF_TEXT</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">формате, то вы, возможно, были разочарованы, обнаружив, что визуальный HTML-код</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">редакторы вставляют ваше предложение, как если бы это был только текст,</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">вместо того, чтобы распознавать его как html. Для этого нужен формат CF_HTML.</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CF_HTML полностью текстовый формат и использует формат преобразования UTF-8.</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Он включает в себя описание контекста, и в контексте фрагмента.</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/bufer-obmena/obshchie-voprosy/skopirovat-html-kod-v-bufer-obmena.html">Подробнее...</a></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Если вы когда-нибудь пробовали вставлять html в буфер обмена, используя обычный CF_TEXT</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">формате, то вы, возможно, были разочарованы, обнаружив, что визуальный HTML-код</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">редакторы вставляют ваше предложение, как если бы это был только текст,</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">вместо того, чтобы распознавать его как html. Для этого нужен формат CF_HTML.</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CF_HTML полностью текстовый формат и использует формат преобразования UTF-8.</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Он включает в себя описание контекста, и в контексте фрагмента.</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/bufer-obmena/obshchie-voprosy/skopirovat-html-kod-v-bufer-obmena.html">Подробнее...</a></p>
Скопировать строки TListBox в буфер обмена
2017-10-19T20:32:11+07:00
2017-10-19T20:32:11+07:00
https://delphi-hlp.ru/index.php/windows/bufer-obmena/obshchie-voprosy/skopirovat-stroki-tlistbox-v-bufer-obmena.html
Super User
toto44@inbox.ru
<p> </p>
<div style="margin: 0px; padding: 0px; text-align: left; text-indent: 0px;">
<table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4">
<tbody>
<tr align="left" valign="top">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p>
</td>
</tr>
<tr align="left">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">uses</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Clipbrd;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> ListBoxToClipboard(ListBox: TListBox;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> BufferSize: Integer;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CopyAll: Boolean);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Buffer: PChar;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Size: Integer;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Ptr: PChar;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> I: Integer;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Line: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">string</span><span class="f_CodeExample" style="color: #000000;">[</span><span class="f_CodeExample" style="color: #800000;">255</span><span class="f_CodeExample" style="color: #000000;">];</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Count: Integer;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">not</span><span class="f_CodeExample" style="color: #000000;"> Assigned(ListBox) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Exit;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GetMem(Buffer, BufferSize);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Ptr := Buffer;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Count := </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">for</span><span class="f_CodeExample" style="color: #000000;"> I := </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">to</span><span class="f_CodeExample" style="color: #000000;"> ListBox.Items.Count - </span><span class="f_CodeExample" style="color: #800000;">1</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">do</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Line := ListBox.Items.strings[I];</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">not</span><span class="f_CodeExample" style="color: #000000;"> CopyAll </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">and</span><span class="f_CodeExample" style="color: #000000;"> ListBox.MultiSelect </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">and</span><span class="f_CodeExample" style="color: #000000;"> (</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">not</span><span class="f_CodeExample" style="color: #000000;"> ListBox.Selected[I]) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Continue;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{ Check buffer overflow }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Count := Count + Length(Line) + </span><span class="f_CodeExample" style="color: #800000;">3</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> Count = BufferSize </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Break;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{ Append to buffer }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Move(Line[</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">], Ptr^, Length(Line));</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Ptr := Ptr + Length(Line);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Ptr[</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">] := </span><span class="f_CodeExample" style="color: #ff0000;">#13</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Ptr[</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">] := </span><span class="f_CodeExample" style="color: #ff0000;">#10</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Ptr := Ptr + </span><span class="f_CodeExample" style="color: #800000;">2</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Ptr[</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">] := </span><span class="f_CodeExample" style="color: #ff0000;">#0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ClipBoard.SetTextBuf(Buffer);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> FreeMem(Buffer, BufferSize);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> ClipboardToListBox(ListBox: TListbox);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">not</span><span class="f_CodeExample" style="color: #000000;"> Assigned(ListBox) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Exit;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">not</span><span class="f_CodeExample" style="color: #000000;"> Clipboard.HasFormat(CF_TEXT) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Exit;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Listbox.Items.Text := Clipboard.AsText;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">//Copy all items from Listbox1 to the clipboard </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TForm1.Button1Click(Sender: TObject);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> ListBoxToClipboard(ListBox1, </span><span class="f_CodeExample" style="color: #800000;">1024</span><span class="f_CodeExample" style="color: #000000;">, True);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">//Paste items in clipboard to Listbox2 </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TForm1.Button2Click(Sender: TObject);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ClipboardToListBox(Listbox2);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">//Copy only selected items from Listbox1 to the clipboard </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TForm1.Button3Click(Sender: TObject);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> ListBoxToClipboard(Listbox1, </span><span class="f_CodeExample" style="color: #800000;">1024</span><span class="f_CodeExample" style="color: #000000;">, False);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
</td>
</tr>
</tbody>
</table>
</div>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p> </p>
<div style="margin: 0px; padding: 0px; text-align: left; text-indent: 0px;">
<table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4">
<tbody>
<tr align="left" valign="top">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p>
</td>
</tr>
<tr align="left">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">uses</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Clipbrd;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> ListBoxToClipboard(ListBox: TListBox;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> BufferSize: Integer;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CopyAll: Boolean);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Buffer: PChar;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Size: Integer;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Ptr: PChar;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> I: Integer;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Line: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">string</span><span class="f_CodeExample" style="color: #000000;">[</span><span class="f_CodeExample" style="color: #800000;">255</span><span class="f_CodeExample" style="color: #000000;">];</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Count: Integer;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">not</span><span class="f_CodeExample" style="color: #000000;"> Assigned(ListBox) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Exit;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GetMem(Buffer, BufferSize);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Ptr := Buffer;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Count := </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">for</span><span class="f_CodeExample" style="color: #000000;"> I := </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">to</span><span class="f_CodeExample" style="color: #000000;"> ListBox.Items.Count - </span><span class="f_CodeExample" style="color: #800000;">1</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">do</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Line := ListBox.Items.strings[I];</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">not</span><span class="f_CodeExample" style="color: #000000;"> CopyAll </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">and</span><span class="f_CodeExample" style="color: #000000;"> ListBox.MultiSelect </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">and</span><span class="f_CodeExample" style="color: #000000;"> (</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">not</span><span class="f_CodeExample" style="color: #000000;"> ListBox.Selected[I]) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Continue;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{ Check buffer overflow }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Count := Count + Length(Line) + </span><span class="f_CodeExample" style="color: #800000;">3</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> Count = BufferSize </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Break;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{ Append to buffer }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Move(Line[</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">], Ptr^, Length(Line));</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Ptr := Ptr + Length(Line);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Ptr[</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">] := </span><span class="f_CodeExample" style="color: #ff0000;">#13</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Ptr[</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">] := </span><span class="f_CodeExample" style="color: #ff0000;">#10</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Ptr := Ptr + </span><span class="f_CodeExample" style="color: #800000;">2</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Ptr[</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">] := </span><span class="f_CodeExample" style="color: #ff0000;">#0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ClipBoard.SetTextBuf(Buffer);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> FreeMem(Buffer, BufferSize);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> ClipboardToListBox(ListBox: TListbox);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">not</span><span class="f_CodeExample" style="color: #000000;"> Assigned(ListBox) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Exit;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">not</span><span class="f_CodeExample" style="color: #000000;"> Clipboard.HasFormat(CF_TEXT) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Exit;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Listbox.Items.Text := Clipboard.AsText;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">//Copy all items from Listbox1 to the clipboard </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TForm1.Button1Click(Sender: TObject);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> ListBoxToClipboard(ListBox1, </span><span class="f_CodeExample" style="color: #800000;">1024</span><span class="f_CodeExample" style="color: #000000;">, True);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">//Paste items in clipboard to Listbox2 </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TForm1.Button2Click(Sender: TObject);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ClipboardToListBox(Listbox2);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">//Copy only selected items from Listbox1 to the clipboard </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TForm1.Button3Click(Sender: TObject);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> ListBoxToClipboard(Listbox1, </span><span class="f_CodeExample" style="color: #800000;">1024</span><span class="f_CodeExample" style="color: #000000;">, False);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
</td>
</tr>
</tbody>
</table>
</div>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
Сохранение данных в Clipboard
2017-10-19T20:30:45+07:00
2017-10-19T20:30:45+07:00
https://delphi-hlp.ru/index.php/windows/bufer-obmena/obshchie-voprosy/sokhranenie-dannykh-v-clipboard.html
Super User
toto44@inbox.ru
<p style="margin: 7px 0px; text-align: justify;"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-style: italic;">Мне нужно использовать clipboard для сохранения данных в собственном формате и я хочу для этого написать набор процедур ввода/вывода с использованием потоков (streams). Возможно ли создать объект TMemoryStream, эаполнить его и поместить в Clipboard? </span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-style: italic;"> </span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Hе только возможно, именно так поступают функции Clipboard.GetComponent и Clipboard.SetComponent. Сначала вы должны зарегистрировать свой собственный формат данных для Clipboard с помощью функции RegisterClipboardFormat:</span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/bufer-obmena/obshchie-voprosy/sokhranenie-dannykh-v-clipboard.html">Подробнее...</a></p>
<p style="margin: 7px 0px; text-align: justify;"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-style: italic;">Мне нужно использовать clipboard для сохранения данных в собственном формате и я хочу для этого написать набор процедур ввода/вывода с использованием потоков (streams). Возможно ли создать объект TMemoryStream, эаполнить его и поместить в Clipboard? </span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-style: italic;"> </span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Hе только возможно, именно так поступают функции Clipboard.GetComponent и Clipboard.SetComponent. Сначала вы должны зарегистрировать свой собственный формат данных для Clipboard с помощью функции RegisterClipboardFormat:</span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/bufer-obmena/obshchie-voprosy/sokhranenie-dannykh-v-clipboard.html">Подробнее...</a></p>
Сэмулировать нажатие клавиш для копии и вставки из буфера
2017-10-19T20:26:02+07:00
2017-10-19T20:26:02+07:00
https://delphi-hlp.ru/index.php/windows/bufer-obmena/obshchie-voprosy/semulirovat-nazhatie-klavish-dlya-kopii-i-vstavki-iz-bufera.html
Super User
toto44@inbox.ru
<div style="margin: 0px; padding: 0px; text-align: left; text-indent: 0px;">
<table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4">
<tbody>
<tr align="left" valign="top">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p>
</td>
</tr>
<tr align="left">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">//Ctrl+C, Strg+C: </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">keybd_event(VK_CONTROL, MapVirtualKey(VK_CONTROL, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">), </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> keybd_event(Ord(</span><span class="f_CodeExample" style="color: #ff0000;">'C'</span><span class="f_CodeExample" style="color: #000000;">), MapVirtualKey(Ord(</span><span class="f_CodeExample" style="color: #ff0000;">'C'</span><span class="f_CodeExample" style="color: #000000;">), </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">), </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> keybd_event(Ord(</span><span class="f_CodeExample" style="color: #ff0000;">'C'</span><span class="f_CodeExample" style="color: #000000;">), MapVirtualKey(Ord(</span><span class="f_CodeExample" style="color: #ff0000;">'C'</span><span class="f_CodeExample" style="color: #000000;">), </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">), KEYEVENTF_KEYUP, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> keybd_event(VK_CONTROL, MapVirtualKey(VK_CONTROL, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">), KEYEVENTF_KEYUP, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">)</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">//Ctrl+V, Strg+V: </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">keybd_event(VK_CONTROL, MapVirtualKey(VK_CONTROL, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">), </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> keybd_event(Ord(</span><span class="f_CodeExample" style="color: #ff0000;">'V'</span><span class="f_CodeExample" style="color: #000000;">), MapVirtualKey(Ord(</span><span class="f_CodeExample" style="color: #ff0000;">'V'</span><span class="f_CodeExample" style="color: #000000;">), </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">), </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> keybd_event(Ord(</span><span class="f_CodeExample" style="color: #ff0000;">'V'</span><span class="f_CodeExample" style="color: #000000;">), MapVirtualKey(Ord(</span><span class="f_CodeExample" style="color: #ff0000;">'V'</span><span class="f_CodeExample" style="color: #000000;">), </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">), KEYEVENTF_KEYUP, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> keybd_event(VK_CONTROL, MapVirtualKey(VK_CONTROL, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">), KEYEVENTF_KEYUP, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">)</span></span></p>
</td>
</tr>
</tbody>
</table>
</div>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<div style="margin: 0px; padding: 0px; text-align: left; text-indent: 0px;">
<table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4">
<tbody>
<tr align="left" valign="top">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p>
</td>
</tr>
<tr align="left">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">//Ctrl+C, Strg+C: </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">keybd_event(VK_CONTROL, MapVirtualKey(VK_CONTROL, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">), </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> keybd_event(Ord(</span><span class="f_CodeExample" style="color: #ff0000;">'C'</span><span class="f_CodeExample" style="color: #000000;">), MapVirtualKey(Ord(</span><span class="f_CodeExample" style="color: #ff0000;">'C'</span><span class="f_CodeExample" style="color: #000000;">), </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">), </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> keybd_event(Ord(</span><span class="f_CodeExample" style="color: #ff0000;">'C'</span><span class="f_CodeExample" style="color: #000000;">), MapVirtualKey(Ord(</span><span class="f_CodeExample" style="color: #ff0000;">'C'</span><span class="f_CodeExample" style="color: #000000;">), </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">), KEYEVENTF_KEYUP, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> keybd_event(VK_CONTROL, MapVirtualKey(VK_CONTROL, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">), KEYEVENTF_KEYUP, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">)</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">//Ctrl+V, Strg+V: </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">keybd_event(VK_CONTROL, MapVirtualKey(VK_CONTROL, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">), </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> keybd_event(Ord(</span><span class="f_CodeExample" style="color: #ff0000;">'V'</span><span class="f_CodeExample" style="color: #000000;">), MapVirtualKey(Ord(</span><span class="f_CodeExample" style="color: #ff0000;">'V'</span><span class="f_CodeExample" style="color: #000000;">), </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">), </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> keybd_event(Ord(</span><span class="f_CodeExample" style="color: #ff0000;">'V'</span><span class="f_CodeExample" style="color: #000000;">), MapVirtualKey(Ord(</span><span class="f_CodeExample" style="color: #ff0000;">'V'</span><span class="f_CodeExample" style="color: #000000;">), </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">), KEYEVENTF_KEYUP, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> keybd_event(VK_CONTROL, MapVirtualKey(VK_CONTROL, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">), KEYEVENTF_KEYUP, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">)</span></span></p>
</td>
</tr>
</tbody>
</table>
</div>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
Как получить screen shot экрана вместе с указателем мыша?
2017-10-19T17:22:22+07:00
2017-10-19T17:22:22+07:00
https://delphi-hlp.ru/index.php/windows/displej/kak-poluchit-screen-shot-ekrana-vmeste-s-ukazatelem-mysha.html
Super User
toto44@inbox.ru
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">надо его вручную дорисовать</span></p>
<div style="margin: 7px 0px; padding: 0px; text-align: justify; text-indent: 0px;">
<table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4">
<tbody>
<tr align="left" valign="top">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p>
</td>
</tr>
<tr align="left">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> GetScreenImage(bmp: TBitmap);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CI: TCursorInfo;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Icon: TIcon;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> II: TIconInfo;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> r: TRect;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">bmp.Width:= Screen.Width;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">bmp.Height:= Screen.Height;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">BitBlt(bmp.Canvas.Handle,</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">,</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">,Screen.Width,Screen.Height,</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">GetDC(GetDesktopWindow),</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">,</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">,SRCCopy);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">//дорисуем курсор</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Icon:=TIcon.Create;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">r:=Rect(</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">,</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">,GetSystemMetrics(SM_CXSCREEN),GetSystemMetrics(SM_CYSCREEN));</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">CI.cbSize:=SizeOf(CI);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> (GetCursorInfo(CI)) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">and</span><span class="f_CodeExample" style="color: #000000;"> (CI.flags=CURSOR_SHOWING) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Icon.Handle:=CopyIcon(CI.hCursor);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> GetIconInfo(Icon.Handle,II) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> bmp.Canvas.Draw(ci.ptScreenPos.x - Integer(II.xHotspot) - r.Left, ci.ptScreenPos.y - Integer(II.yHotspot) - r.Top, Icon);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
</td>
</tr>
</tbody>
</table>
</div>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #008000; font-weight: bold;"> </span>Автор P.O.D </span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/displej/kak-poluchit-screen-shot-ekrana-vmeste-s-ukazatelem-mysha.html">Подробнее...</a></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">надо его вручную дорисовать</span></p>
<div style="margin: 7px 0px; padding: 0px; text-align: justify; text-indent: 0px;">
<table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4">
<tbody>
<tr align="left" valign="top">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p>
</td>
</tr>
<tr align="left">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> GetScreenImage(bmp: TBitmap);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CI: TCursorInfo;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Icon: TIcon;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> II: TIconInfo;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> r: TRect;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">bmp.Width:= Screen.Width;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">bmp.Height:= Screen.Height;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">BitBlt(bmp.Canvas.Handle,</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">,</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">,Screen.Width,Screen.Height,</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">GetDC(GetDesktopWindow),</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">,</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">,SRCCopy);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">//дорисуем курсор</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Icon:=TIcon.Create;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">r:=Rect(</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">,</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">,GetSystemMetrics(SM_CXSCREEN),GetSystemMetrics(SM_CYSCREEN));</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">CI.cbSize:=SizeOf(CI);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> (GetCursorInfo(CI)) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">and</span><span class="f_CodeExample" style="color: #000000;"> (CI.flags=CURSOR_SHOWING) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Icon.Handle:=CopyIcon(CI.hCursor);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> GetIconInfo(Icon.Handle,II) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> bmp.Canvas.Draw(ci.ptScreenPos.x - Integer(II.xHotspot) - r.Left, ci.ptScreenPos.y - Integer(II.yHotspot) - r.Top, Icon);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
</td>
</tr>
</tbody>
</table>
</div>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #008000; font-weight: bold;"> </span>Автор P.O.D </span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/displej/kak-poluchit-screen-shot-ekrana-vmeste-s-ukazatelem-mysha.html">Подробнее...</a></p>
Как рисовать на экране
2017-10-19T17:54:18+07:00
2017-10-19T17:54:18+07:00
https://delphi-hlp.ru/index.php/windows/displej/kak-risovat-na-ekrane.html
Super User
toto44@inbox.ru
<p style="margin: 7px 0px; text-align: justify;"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Обладая такими способностями, вы сможете, например, разлиновать поверхность экрана как в тетради в клеточку, выводить пугающие пользователя надписи и даже создать эффект окаменение экрана, если, конечно, разработаете алгоритм выполнения данной задачи.</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/displej/kak-risovat-na-ekrane.html">Подробнее...</a></p>
<p style="margin: 7px 0px; text-align: justify;"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Обладая такими способностями, вы сможете, например, разлиновать поверхность экрана как в тетради в клеточку, выводить пугающие пользователя надписи и даже создать эффект окаменение экрана, если, конечно, разработаете алгоритм выполнения данной задачи.</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/displej/kak-risovat-na-ekrane.html">Подробнее...</a></p>
Копирование содержимого экрана на форму
2017-10-19T17:36:28+07:00
2017-10-19T17:36:28+07:00
https://delphi-hlp.ru/index.php/windows/displej/kopirovanie-soderzhimogo-ekrana-na-formu.html
Super User
toto44@inbox.ru
<div style="margin: 0px; padding: 0px; text-align: left; text-indent: 0px;">
<table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4">
<tbody>
<tr align="left" valign="top">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">сode:</span></p>
</td>
</tr>
<tr align="left">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Image3: TImage;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TSaverForm.CopyScreen;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> DeskTopDC: HDc;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> DeskTopCanvas: TCanvas;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> DeskTopRect: TRect;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Image3 := TImage.Create(SaverForm);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">with</span><span class="f_CodeExample" style="color: #000000;"> Image3 </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">do</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Height := Screen.Height;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Width := Screen.Width;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Image3.Canvas.copymode := cmSrcCopy;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> DeskTopDC := GetWindowDC(GetDeskTopWindow);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> DeskTopCanvas := TCanvas.Create;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> DeskTopCanvas.Handle := DeskTopDC;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Image3.Canvas.CopyRect(Image3.Canvas.ClipRect, DeskTopCanvas,</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> DeskTopCanvas.ClipRect);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Image2.Picture.Assign(Image3.Picture);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{image2 расположен на целевой форме и выровнен по области клиента}</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TSaverForm.FormClose(Sender: TObject; </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">var</span><span class="f_CodeExample" style="color: #000000;"> Action: TCloseAction);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Image3.Free;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
</td>
</tr>
</tbody>
</table>
</div>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/displej/kopirovanie-soderzhimogo-ekrana-na-formu.html">Подробнее...</a></p>
<div style="margin: 0px; padding: 0px; text-align: left; text-indent: 0px;">
<table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4">
<tbody>
<tr align="left" valign="top">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">сode:</span></p>
</td>
</tr>
<tr align="left">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Image3: TImage;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TSaverForm.CopyScreen;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> DeskTopDC: HDc;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> DeskTopCanvas: TCanvas;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> DeskTopRect: TRect;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Image3 := TImage.Create(SaverForm);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">with</span><span class="f_CodeExample" style="color: #000000;"> Image3 </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">do</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Height := Screen.Height;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Width := Screen.Width;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Image3.Canvas.copymode := cmSrcCopy;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> DeskTopDC := GetWindowDC(GetDeskTopWindow);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> DeskTopCanvas := TCanvas.Create;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> DeskTopCanvas.Handle := DeskTopDC;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Image3.Canvas.CopyRect(Image3.Canvas.ClipRect, DeskTopCanvas,</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> DeskTopCanvas.ClipRect);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Image2.Picture.Assign(Image3.Picture);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{image2 расположен на целевой форме и выровнен по области клиента}</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TSaverForm.FormClose(Sender: TObject; </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">var</span><span class="f_CodeExample" style="color: #000000;"> Action: TCloseAction);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Image3.Free;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
</td>
</tr>
</tbody>
</table>
</div>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/displej/kopirovanie-soderzhimogo-ekrana-na-formu.html">Подробнее...</a></p>
Перетасовка экрана
2017-10-19T17:39:12+07:00
2017-10-19T17:39:12+07:00
https://delphi-hlp.ru/index.php/windows/displej/peretasovka-ekrana.html
Super User
toto44@inbox.ru
<p style="margin: 7px 0px; text-align: justify;"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">В статье описывается пример, который позволяет разделить экран на блоки, а затем поменять эти блоки местами. Так же можно менять размеры блоков и скорость их перемещения. На мой взгляд неплохое начало для создания логической игрушки либо экранной заставки.</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Уверен, что каждый из Вас уже хоть раз видел что-то подобное в действии. При запуске, программа берёт изображение десктопа и разделяет его на определённое количество прямоугольных частей (одинакового размера). После этого часть блоков случайным образом перемещается со своего первоначального места.</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/displej/peretasovka-ekrana.html">Подробнее...</a></p>
<p style="margin: 7px 0px; text-align: justify;"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">В статье описывается пример, который позволяет разделить экран на блоки, а затем поменять эти блоки местами. Так же можно менять размеры блоков и скорость их перемещения. На мой взгляд неплохое начало для создания логической игрушки либо экранной заставки.</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Уверен, что каждый из Вас уже хоть раз видел что-то подобное в действии. При запуске, программа берёт изображение десктопа и разделяет его на определённое количество прямоугольных частей (одинакового размера). После этого часть блоков случайным образом перемещается со своего первоначального места.</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/displej/peretasovka-ekrana.html">Подробнее...</a></p>
Получение изображения экрана
2017-10-19T17:34:56+07:00
2017-10-19T17:34:56+07:00
https://delphi-hlp.ru/index.php/windows/displej/poluchenie-izobrazheniya-ekrana.html
Super User
toto44@inbox.ru
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">В качестве параметров передаются: </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">AHandle - хэндл окна, скриншот которого мы хочем получить</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">CompressPercent - процент сжатия картинки</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">AImage - картинка, в которую будет помещено изображение</span></p>
<p class="p_CodeExample"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample">в случае успешного скриншота функция вернет True </span><span class="f_CodeExample">{©Drkb v.3}</span></span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/displej/poluchenie-izobrazheniya-ekrana.html">Подробнее...</a></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">В качестве параметров передаются: </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">AHandle - хэндл окна, скриншот которого мы хочем получить</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">CompressPercent - процент сжатия картинки</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">AImage - картинка, в которую будет помещено изображение</span></p>
<p class="p_CodeExample"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample">в случае успешного скриншота функция вернет True </span><span class="f_CodeExample">{©Drkb v.3}</span></span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/displej/poluchenie-izobrazheniya-ekrana.html">Подробнее...</a></p>
Сохранение изображения экрана в файле
2017-10-19T17:28:44+07:00
2017-10-19T17:28:44+07:00
https://delphi-hlp.ru/index.php/windows/displej/sokhranenie-izobrazheniya-ekrana-v-fajle.html
Super User
toto44@inbox.ru
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">На форме у меня стоит TImage (его можно сделать невидимым)</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/displej/sokhranenie-izobrazheniya-ekrana-v-fajle.html">Подробнее...</a></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">На форме у меня стоит TImage (его можно сделать невидимым)</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/displej/sokhranenie-izobrazheniya-ekrana-v-fajle.html">Подробнее...</a></p>
Эмуляция многоэкранного режима
2017-10-19T17:47:19+07:00
2017-10-19T17:47:19+07:00
https://delphi-hlp.ru/index.php/windows/displej/emulyatsiya-mnogoekrannogo-rezhima.html
Super User
toto44@inbox.ru
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Я хочу представить простой мульти-экран эмулятор, написанный на Delphi.</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Он состоит в небольшой форме размещения в правом нижнем углу экрана, прямо над трее, которая состоит из 5 кнопок.</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">В начале первая кнопка вниз; затем, когда я нажимаю другую кнопку, открывается новый новый рабочий стол. В этом новом рабочем столе я могу открыть другие программы</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">и так далее с другими кнопками. Когда я вернусь к одной из кнопок, Я буду видеть только заявки, открытые в этом конкурсе без других.</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Фокус состоит в том, чтобы сделать следующие шаги непосредственно перед нажатием другой кнопки:</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/displej/emulyatsiya-mnogoekrannogo-rezhima.html">Подробнее...</a></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Я хочу представить простой мульти-экран эмулятор, написанный на Delphi.</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Он состоит в небольшой форме размещения в правом нижнем углу экрана, прямо над трее, которая состоит из 5 кнопок.</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">В начале первая кнопка вниз; затем, когда я нажимаю другую кнопку, открывается новый новый рабочий стол. В этом новом рабочем столе я могу открыть другие программы</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">и так далее с другими кнопками. Когда я вернусь к одной из кнопок, Я буду видеть только заявки, открытые в этом конкурсе без других.</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Фокус состоит в том, чтобы сделать следующие шаги непосредственно перед нажатием другой кнопки:</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/displej/emulyatsiya-mnogoekrannogo-rezhima.html">Подробнее...</a></p>
Hook функций в собственном приложении
2017-11-27T21:01:18+07:00
2017-11-27T21:01:18+07:00
https://delphi-hlp.ru/index.php/windows/hooks/hook-funktsij-v-sobstvennom-prilozhenii.html
Super User
toto44@inbox.ru
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<div style="margin: 0px; padding: 0px; text-align: left; text-indent: 0px;">
<table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4">
<tbody>
<tr align="left" valign="top">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p>
</td>
</tr>
<tr align="left">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">type</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> TSaveRedir = </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">packed</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">record</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Addr: Pointer;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Bytes: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">array</span><span class="f_CodeExample" style="color: #000000;">[</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">..</span><span class="f_CodeExample" style="color: #800000;">4</span><span class="f_CodeExample" style="color: #000000;">] </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">of</span><span class="f_CodeExample" style="color: #000000;"> Byte;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> PSaveRedir = ^TSaveRedir;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> RedirectCall(FromAddr, ToAddr: Pointer; SaveRedir: PSaveRedir);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> OldProtect: Cardinal;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> NewCode: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">packed</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">record</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> JMP: Byte;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Distance: Integer;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">not</span><span class="f_CodeExample" style="color: #000000;"> VirtualProtect(FromAddr, </span><span class="f_CodeExample" style="color: #800000;">5</span><span class="f_CodeExample" style="color: #000000;">, PAGE_EXECUTE_READWRITE, OldProtect) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> RaiseLastWin32Error;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> Assigned(SaveRedir) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SaveRedir^.Addr := FromAddr;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Move(FromAddr^, SaveRedir^.Bytes, </span><span class="f_CodeExample" style="color: #800000;">5</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> NewCode.JMP := </span><span class="f_CodeExample" style="color: #800000;">$E9</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> NewCode.Distance := PChar(ToAddr) - PChar(FromAddr) - </span><span class="f_CodeExample" style="color: #800000;">5</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Move(NewCode, FromAddr^, </span><span class="f_CodeExample" style="color: #800000;">5</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">not</span><span class="f_CodeExample" style="color: #000000;"> VirtualProtect(FromAddr, </span><span class="f_CodeExample" style="color: #800000;">5</span><span class="f_CodeExample" style="color: #000000;">, OldProtect, OldProtect) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> RaiseLastWin32Error;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> UndoRedirectCall(</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">const</span><span class="f_CodeExample" style="color: #000000;"> SaveRedir: TSaveRedir);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> OldProtect: Cardinal;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">not</span><span class="f_CodeExample" style="color: #000000;"> VirtualProtect(SaveRedir.Addr, </span><span class="f_CodeExample" style="color: #800000;">5</span><span class="f_CodeExample" style="color: #000000;">, PAGE_EXECUTE_READWRITE, OldProtect) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> RaiseLastWin32Error;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Move(SaveRedir.Bytes, SaveRedir.Addr^, </span><span class="f_CodeExample" style="color: #800000;">5</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">not</span><span class="f_CodeExample" style="color: #000000;"> VirtualProtect(SaveRedir.Addr, </span><span class="f_CodeExample" style="color: #800000;">5</span><span class="f_CodeExample" style="color: #000000;">, OldProtect, OldProtect) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> RaiseLastWin32Error;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">// Example: Replace Application.MessageBox with your own.</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> MyNewMessageBox(Self: TApplication; </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">const</span><span class="f_CodeExample" style="color: #000000;"> Text, Caption: PChar;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Flags: Longint): Integer;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> ShowMessage(</span><span class="f_CodeExample" style="color: #ff0000;">'New Messagebox'</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">//....</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TForm1.Button1Click(Sender: TObject);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Application.MessageBox(</span><span class="f_CodeExample" style="color: #ff0000;">'You`ll never see this Text /</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #ff0000;"> Diesen Text wirst du nie sehen'</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #ff0000;">'...'</span><span class="f_CodeExample" style="color: #000000;">, MB_OK);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> S: TSaveRedir;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">initialization</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> RedirectCall(@TApplication.MessageBox, @MyNewMessageBox, @S);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">finalization</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> UndoRedirectCall(S);</span></p>
</td>
</tr>
</tbody>
</table>
</div>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<div style="margin: 0px; padding: 0px; text-align: left; text-indent: 0px;">
<table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4">
<tbody>
<tr align="left" valign="top">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p>
</td>
</tr>
<tr align="left">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">type</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> TSaveRedir = </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">packed</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">record</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Addr: Pointer;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Bytes: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">array</span><span class="f_CodeExample" style="color: #000000;">[</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">..</span><span class="f_CodeExample" style="color: #800000;">4</span><span class="f_CodeExample" style="color: #000000;">] </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">of</span><span class="f_CodeExample" style="color: #000000;"> Byte;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> PSaveRedir = ^TSaveRedir;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> RedirectCall(FromAddr, ToAddr: Pointer; SaveRedir: PSaveRedir);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> OldProtect: Cardinal;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> NewCode: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">packed</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">record</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> JMP: Byte;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Distance: Integer;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">not</span><span class="f_CodeExample" style="color: #000000;"> VirtualProtect(FromAddr, </span><span class="f_CodeExample" style="color: #800000;">5</span><span class="f_CodeExample" style="color: #000000;">, PAGE_EXECUTE_READWRITE, OldProtect) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> RaiseLastWin32Error;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> Assigned(SaveRedir) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SaveRedir^.Addr := FromAddr;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Move(FromAddr^, SaveRedir^.Bytes, </span><span class="f_CodeExample" style="color: #800000;">5</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> NewCode.JMP := </span><span class="f_CodeExample" style="color: #800000;">$E9</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> NewCode.Distance := PChar(ToAddr) - PChar(FromAddr) - </span><span class="f_CodeExample" style="color: #800000;">5</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Move(NewCode, FromAddr^, </span><span class="f_CodeExample" style="color: #800000;">5</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">not</span><span class="f_CodeExample" style="color: #000000;"> VirtualProtect(FromAddr, </span><span class="f_CodeExample" style="color: #800000;">5</span><span class="f_CodeExample" style="color: #000000;">, OldProtect, OldProtect) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> RaiseLastWin32Error;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> UndoRedirectCall(</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">const</span><span class="f_CodeExample" style="color: #000000;"> SaveRedir: TSaveRedir);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> OldProtect: Cardinal;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">not</span><span class="f_CodeExample" style="color: #000000;"> VirtualProtect(SaveRedir.Addr, </span><span class="f_CodeExample" style="color: #800000;">5</span><span class="f_CodeExample" style="color: #000000;">, PAGE_EXECUTE_READWRITE, OldProtect) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> RaiseLastWin32Error;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Move(SaveRedir.Bytes, SaveRedir.Addr^, </span><span class="f_CodeExample" style="color: #800000;">5</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">not</span><span class="f_CodeExample" style="color: #000000;"> VirtualProtect(SaveRedir.Addr, </span><span class="f_CodeExample" style="color: #800000;">5</span><span class="f_CodeExample" style="color: #000000;">, OldProtect, OldProtect) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> RaiseLastWin32Error;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">// Example: Replace Application.MessageBox with your own.</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> MyNewMessageBox(Self: TApplication; </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">const</span><span class="f_CodeExample" style="color: #000000;"> Text, Caption: PChar;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Flags: Longint): Integer;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> ShowMessage(</span><span class="f_CodeExample" style="color: #ff0000;">'New Messagebox'</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">//....</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TForm1.Button1Click(Sender: TObject);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Application.MessageBox(</span><span class="f_CodeExample" style="color: #ff0000;">'You`ll never see this Text /</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #ff0000;"> Diesen Text wirst du nie sehen'</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #ff0000;">'...'</span><span class="f_CodeExample" style="color: #000000;">, MB_OK);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> S: TSaveRedir;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">initialization</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> RedirectCall(@TApplication.MessageBox, @MyNewMessageBox, @S);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">finalization</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> UndoRedirectCall(S);</span></p>
</td>
</tr>
</tbody>
</table>
</div>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
Hooks - аспекты реализации
2017-11-27T20:29:17+07:00
2017-11-27T20:29:17+07:00
https://delphi-hlp.ru/index.php/windows/hooks/hooks-aspekty-realizatsii.html
Super User
toto44@inbox.ru
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> <span style="color: #000000;"> </span></span></p>
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Моя обзорная статья на тему вариантов использования динамически компонуемых библиотек (DLL) вызвала множество вопросов, большая часть которых касалась использования глобальных ловушек (Hook) и размещению разного рода ресурсов в DLL. О ресурсах поговорим в следующий раз, а пока попробуем разобраться с ловушками.</span></p>
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Сразу хочу сделать несколько оговорок: речь в дальнейшем пойдёт только о 32-х разрядной Windows и о глобальных ловушках, т.к. именно при их программировании возникает большинство ошибок; все примеры будут даваться на Delphi, т.к. примеров и описаний для любителей С++ достаточно. </span></p>
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/hooks/hooks-aspekty-realizatsii.html">Подробнее...</a></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> <span style="color: #000000;"> </span></span></p>
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Моя обзорная статья на тему вариантов использования динамически компонуемых библиотек (DLL) вызвала множество вопросов, большая часть которых касалась использования глобальных ловушек (Hook) и размещению разного рода ресурсов в DLL. О ресурсах поговорим в следующий раз, а пока попробуем разобраться с ловушками.</span></p>
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Сразу хочу сделать несколько оговорок: речь в дальнейшем пойдёт только о 32-х разрядной Windows и о глобальных ловушках, т.к. именно при их программировании возникает большинство ошибок; все примеры будут даваться на Delphi, т.к. примеров и описаний для любителей С++ достаточно. </span></p>
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/hooks/hooks-aspekty-realizatsii.html">Подробнее...</a></p>
Interprocess communication на примере keyboard hook (статья)
2017-11-27T21:00:31+07:00
2017-11-27T21:00:31+07:00
https://delphi-hlp.ru/index.php/windows/hooks/interprocess-communication-na-primere-keyboard-hook-statya.html
Super User
toto44@inbox.ru
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p style="margin: 0px 0px 0px 19px; text-align: center;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Взаимодействие процессов</span></p>
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Архитектура Win32 подразумевает максимальную изоляцию выполняющихся приложений друг от друга. Каждое приложение выполняется в своем виртуальном адресном пространстве, которое полностью обособлено и не имеет доступа к памяти других программ. Однако иногда возникает необходимость в передаче данных их одного выполняющегося процесса в другой. Рассмотрим подробно одну из таких задач, а затем основные способы связи между процессами и рекомендации по их применению.</span></p>
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p style="margin: 0px 0px 0px 19px;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-style: italic; font-weight: bold;">Пишем перехватчик клавиатуры</span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/hooks/interprocess-communication-na-primere-keyboard-hook-statya.html">Подробнее...</a></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p style="margin: 0px 0px 0px 19px; text-align: center;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Взаимодействие процессов</span></p>
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Архитектура Win32 подразумевает максимальную изоляцию выполняющихся приложений друг от друга. Каждое приложение выполняется в своем виртуальном адресном пространстве, которое полностью обособлено и не имеет доступа к памяти других программ. Однако иногда возникает необходимость в передаче данных их одного выполняющегося процесса в другой. Рассмотрим подробно одну из таких задач, а затем основные способы связи между процессами и рекомендации по их применению.</span></p>
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p style="margin: 0px 0px 0px 19px;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-style: italic; font-weight: bold;">Пишем перехватчик клавиатуры</span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/hooks/interprocess-communication-na-primere-keyboard-hook-statya.html">Подробнее...</a></p>
Глобальный хук на клавиатуру
2017-11-27T21:11:17+07:00
2017-11-27T21:11:17+07:00
https://delphi-hlp.ru/index.php/windows/hooks/globalnyj-khuk-na-klaviaturu.html
Super User
toto44@inbox.ru
<p> </p>
<div style="margin: 0px; padding: 0px; text-align: left; text-indent: 0px;">
<table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4">
<tbody>
<tr align="left" valign="top">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p>
</td>
</tr>
<tr align="left">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">library</span><span class="f_CodeExample" style="color: #000000;"> Hook;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">uses</span><span class="f_CodeExample" style="color: #000000;"> Windows, SysUtils;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">const</span><span class="f_CodeExample" style="color: #000000;"> KF_UP_MY = </span><span class="f_CodeExample" style="color: #800000;">$40000000</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">var</span><span class="f_CodeExample" style="color: #000000;"> CurrentHook: HHook;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> KeyArray: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">array</span><span class="f_CodeExample" style="color: #000000;">[</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">..</span><span class="f_CodeExample" style="color: #800000;">19</span><span class="f_CodeExample" style="color: #000000;">] </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">of</span><span class="f_CodeExample" style="color: #000000;"> char;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> KeyArrayPtr: integer;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CurFile:text;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> GlobalKeyBoardHook(code: integer; wParam: integer; lParam:</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">integer): longword; </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">stdcall</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">i:integer;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> code< </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> result:=CallNextHookEx(CurrentHook,code,wParam,lparam);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Exit;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> ( (lParam </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">and</span><span class="f_CodeExample" style="color: #000000;"> KF_UP_MY ) = </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">and</span><span class="f_CodeExample" style="color: #000000;"> (wParam> =</span><span class="f_CodeExample" style="color: #800000;">65</span><span class="f_CodeExample" style="color: #000000;">) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">and</span><span class="f_CodeExample" style="color: #000000;"> (wParam< =</span><span class="f_CodeExample" style="color: #800000;">90</span><span class="f_CodeExample" style="color: #000000;">) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> KeyArray[KeyArrayPtr]:=char(wParam);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> KeyArrayPtr:=KeyArrayPtr+</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> KeyArrayPtr> </span><span class="f_CodeExample" style="color: #800000;">19</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">for</span><span class="f_CodeExample" style="color: #000000;"> i:=</span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">to</span> <span class="f_CodeExample" style="color: #800000;">19</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">do</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Assignfile(CurFile,</span><span class="f_CodeExample" style="color: #ff0000;">'d:\log.txt'</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> fileexists(</span><span class="f_CodeExample" style="color: #ff0000;">'d:\log.txt'</span><span class="f_CodeExample" style="color: #000000;">)=false </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span><span class="f_CodeExample" style="color: #000000;"> rewrite(CurFile)</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">else</span><span class="f_CodeExample" style="color: #000000;"> Append(CurFile);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">write</span><span class="f_CodeExample" style="color: #000000;">(Curfile, KeyArray[i]);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> closefile(curfile);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> KeyArrayPtr:=</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CallNextHookEx(CurrentHook,code,wParam,lparam);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> result:=</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> SetupGlobalKeyBoardHook;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> CurrentHook:=SetWindowsHookEx(WH_KEYBOARD, @GlobalKeyBoardHook,HInstance, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> KeyArrayptr:=</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> unhook;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> UnhookWindowshookEx(CurrentHook);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">exports</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SetupGlobalKeyBoardHook, UnHook;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">.</span></span></p>
</td>
</tr>
</tbody>
</table>
</div>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p> </p>
<div style="margin: 0px; padding: 0px; text-align: left; text-indent: 0px;">
<table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4">
<tbody>
<tr align="left" valign="top">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p>
</td>
</tr>
<tr align="left">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">library</span><span class="f_CodeExample" style="color: #000000;"> Hook;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">uses</span><span class="f_CodeExample" style="color: #000000;"> Windows, SysUtils;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">const</span><span class="f_CodeExample" style="color: #000000;"> KF_UP_MY = </span><span class="f_CodeExample" style="color: #800000;">$40000000</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">var</span><span class="f_CodeExample" style="color: #000000;"> CurrentHook: HHook;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> KeyArray: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">array</span><span class="f_CodeExample" style="color: #000000;">[</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">..</span><span class="f_CodeExample" style="color: #800000;">19</span><span class="f_CodeExample" style="color: #000000;">] </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">of</span><span class="f_CodeExample" style="color: #000000;"> char;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> KeyArrayPtr: integer;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CurFile:text;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> GlobalKeyBoardHook(code: integer; wParam: integer; lParam:</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">integer): longword; </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">stdcall</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">i:integer;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> code< </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> result:=CallNextHookEx(CurrentHook,code,wParam,lparam);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Exit;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> ( (lParam </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">and</span><span class="f_CodeExample" style="color: #000000;"> KF_UP_MY ) = </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">and</span><span class="f_CodeExample" style="color: #000000;"> (wParam> =</span><span class="f_CodeExample" style="color: #800000;">65</span><span class="f_CodeExample" style="color: #000000;">) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">and</span><span class="f_CodeExample" style="color: #000000;"> (wParam< =</span><span class="f_CodeExample" style="color: #800000;">90</span><span class="f_CodeExample" style="color: #000000;">) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> KeyArray[KeyArrayPtr]:=char(wParam);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> KeyArrayPtr:=KeyArrayPtr+</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> KeyArrayPtr> </span><span class="f_CodeExample" style="color: #800000;">19</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">for</span><span class="f_CodeExample" style="color: #000000;"> i:=</span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">to</span> <span class="f_CodeExample" style="color: #800000;">19</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">do</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Assignfile(CurFile,</span><span class="f_CodeExample" style="color: #ff0000;">'d:\log.txt'</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> fileexists(</span><span class="f_CodeExample" style="color: #ff0000;">'d:\log.txt'</span><span class="f_CodeExample" style="color: #000000;">)=false </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span><span class="f_CodeExample" style="color: #000000;"> rewrite(CurFile)</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">else</span><span class="f_CodeExample" style="color: #000000;"> Append(CurFile);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">write</span><span class="f_CodeExample" style="color: #000000;">(Curfile, KeyArray[i]);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> closefile(curfile);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> KeyArrayPtr:=</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CallNextHookEx(CurrentHook,code,wParam,lparam);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> result:=</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> SetupGlobalKeyBoardHook;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> CurrentHook:=SetWindowsHookEx(WH_KEYBOARD, @GlobalKeyBoardHook,HInstance, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> KeyArrayptr:=</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> unhook;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> UnhookWindowshookEx(CurrentHook);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">exports</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SetupGlobalKeyBoardHook, UnHook;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">.</span></span></p>
</td>
</tr>
</tbody>
</table>
</div>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
Демонстрационный пример хука и подмены API в приложениях
2017-11-27T21:05:37+07:00
2017-11-27T21:05:37+07:00
https://delphi-hlp.ru/index.php/windows/hooks/demonstratsionnyj-primer-khuka-i-podmeny-api-v-prilozheniyakh.html
Super User
toto44@inbox.ru
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">// * Unit Name : HookDLL</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">// * Purpose : Демонстрационный пример хука и подмены API в приложениях...</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">// * Author : Александр (Rouse_) Багель</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">// * Version : 1.00</span></p>
<p class="p_CodeExample"> </p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Код не маленький, посему вынесем отдельно</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000; font-style: italic;"> </span></span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/hooks/demonstratsionnyj-primer-khuka-i-podmeny-api-v-prilozheniyakh.html">Подробнее...</a></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">// * Unit Name : HookDLL</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">// * Purpose : Демонстрационный пример хука и подмены API в приложениях...</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">// * Author : Александр (Rouse_) Багель</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">// * Version : 1.00</span></p>
<p class="p_CodeExample"> </p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Код не маленький, посему вынесем отдельно</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000; font-style: italic;"> </span></span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/hooks/demonstratsionnyj-primer-khuka-i-podmeny-api-v-prilozheniyakh.html">Подробнее...</a></p>
Использование HOOK в Дельфи
2017-11-27T20:46:52+07:00
2017-11-27T20:46:52+07:00
https://delphi-hlp.ru/index.php/windows/hooks/ispolzovanie-hook-v-delfi.html
Super User
toto44@inbox.ru
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Что такое НООК?</span></p>
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">НООК - это механизм перехвата сообщений, предоставляемый системой Microsoft Windows. Программист пишет специального вида функцию (НООК-функция), которая затем при помощи функции SetWindowsHookEx вставляется на верх стека НООК-функций системы. Ваша НООК-функция сама решает, передать ли ей сообщение в следующую НООК-функцию при помощи CallNextHookEx или нет.</span></p>
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Какие бывает НООК'и?</span></p>
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">НООК бывают глобальные, контролирующие всю систему, так и локальные, ориентированные на какой-либо поток (Thread). Кроме того НООК различаются по типу перехватываемых сообщений (подробнее об этом - ниже). НООК несколько подтормаживают систему, поэтому ставить их рекомендуется только при необходимости, и кактолько необходимость в них отпадает - удалять.</span></p>
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/hooks/ispolzovanie-hook-v-delfi.html">Подробнее...</a></p>
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Что такое НООК?</span></p>
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">НООК - это механизм перехвата сообщений, предоставляемый системой Microsoft Windows. Программист пишет специального вида функцию (НООК-функция), которая затем при помощи функции SetWindowsHookEx вставляется на верх стека НООК-функций системы. Ваша НООК-функция сама решает, передать ли ей сообщение в следующую НООК-функцию при помощи CallNextHookEx или нет.</span></p>
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Какие бывает НООК'и?</span></p>
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">НООК бывают глобальные, контролирующие всю систему, так и локальные, ориентированные на какой-либо поток (Thread). Кроме того НООК различаются по типу перехватываемых сообщений (подробнее об этом - ниже). НООК несколько подтормаживают систему, поэтому ставить их рекомендуется только при необходимости, и кактолько необходимость в них отпадает - удалять.</span></p>
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/hooks/ispolzovanie-hook-v-delfi.html">Подробнее...</a></p>
Использование ловушек, блокировка мышки, клавиатуры и т.д.
2017-11-27T20:38:41+07:00
2017-11-27T20:38:41+07:00
https://delphi-hlp.ru/index.php/windows/hooks/ispolzovanie-lovushek-blokirovka-myshki-klaviatury-i-t-d.html
Super User
toto44@inbox.ru
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-style: italic;">Возможные вариации: Любые вопросы, связанные с постановкой хука. Например "Как отследить [что-то]", "Как подменить [какое-то действие]", "Как заблокировать комбинации клавиш, как заблокировать определённые действия", "Как не дать запускаться определённым приложениям, не дать открываться определённым окнам?", "Как получить список запущенных оконных приложений?" и т.д.</span></p>
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Рабочий пример глобальной блокировки правой кнопки мыши: </span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/hooks/ispolzovanie-lovushek-blokirovka-myshki-klaviatury-i-t-d.html">Подробнее...</a></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-style: italic;">Возможные вариации: Любые вопросы, связанные с постановкой хука. Например "Как отследить [что-то]", "Как подменить [какое-то действие]", "Как заблокировать комбинации клавиш, как заблокировать определённые действия", "Как не дать запускаться определённым приложениям, не дать открываться определённым окнам?", "Как получить список запущенных оконных приложений?" и т.д.</span></p>
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Рабочий пример глобальной блокировки правой кнопки мыши: </span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/hooks/ispolzovanie-lovushek-blokirovka-myshki-klaviatury-i-t-d.html">Подробнее...</a></p>
Ловушки в Windows
2017-11-27T21:01:58+07:00
2017-11-27T21:01:58+07:00
https://delphi-hlp.ru/index.php/windows/hooks/lovushki-v-windows.html
Super User
toto44@inbox.ru
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Для отслеживания каких-то событий во всей Windows нужно установить ловушку (hook). Например, такая ловушка может отслеживать все события, связанные с мышью, где бы ни находился курсор. Можно отслеживать и события клавиатуры. </span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Для ловушки нужна функция, которая, после установки ловушки при помощи SetWindowsHookEx, будет вызываться при каждом нужном событии. Эта функция получает всю информацию о событии. UnhookWindowsHookEx уничтожает ловушку. </span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Эта программа отслеживает все сообщения, связанные с мышью и клавиатурой. CheckBox1 показывает состояние левой клавиши мыши, CheckBox2 показывает состояние правой клавиши мыши, а CheckBox3 показывает, нажата ли какая-либо клавиша на клавиатуре. </span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/hooks/lovushki-v-windows.html">Подробнее...</a></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Для отслеживания каких-то событий во всей Windows нужно установить ловушку (hook). Например, такая ловушка может отслеживать все события, связанные с мышью, где бы ни находился курсор. Можно отслеживать и события клавиатуры. </span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Для ловушки нужна функция, которая, после установки ловушки при помощи SetWindowsHookEx, будет вызываться при каждом нужном событии. Эта функция получает всю информацию о событии. UnhookWindowsHookEx уничтожает ловушку. </span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Эта программа отслеживает все сообщения, связанные с мышью и клавиатурой. CheckBox1 показывает состояние левой клавиши мыши, CheckBox2 показывает состояние правой клавиши мыши, а CheckBox3 показывает, нажата ли какая-либо клавиша на клавиатуре. </span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/hooks/lovushki-v-windows.html">Подробнее...</a></p>
Отключить клавиши при системном Hooke
2017-11-27T21:15:20+07:00
2017-11-27T21:15:20+07:00
https://delphi-hlp.ru/index.php/windows/hooks/otklyuchit-klavishi-pri-sistemnom-hooke.html
Super User
toto44@inbox.ru
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">** Что такое крюк? **</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Крюк-это точка в механизме обработки системных сообщений, где приложение может установить подпрограмму для мониторинга трафика сообщений в</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> системе и обрабатывать определенные типы Сообщений прежде, чем они достигнут целевой оконной процедуры.</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Чтобы использовать механизм окна крюк, программа вызывает функцию SetWindowsHookEx() API-интерфейс, передача адреса процедуры hook, которая уведомляется, когда указанное</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> событие происходит. SetWindowsHookEx() возвращает адрес ранее установленного обработать процедуру для того же типа события. Этот адрес-это важно,</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> потому что процедуры крючка такого же типа образуют своеобразную цепочку. Windows уведомляет первую процедуру в цепочке при возникновении события,</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> и каждая процедура отвечает за передачу уведомления. Для этого процедура подключения должна вызвать CallNextHookEx() функции API,</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> адрес прохождения предыдущей процедуры крюка.</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> -- >Все системные крючки должны находиться в динамической библиотеке ссылок.</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ** Тип крюка, используемый в этом примере кода: **</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> На WH_GETMESSAGE крючок позволяет приложение для мониторинга и перехвата Сообщений о том, чтобы быть возвращены функции getmessage или PeekMessage функции.</span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/hooks/otklyuchit-klavishi-pri-sistemnom-hooke.html">Подробнее...</a></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">** Что такое крюк? **</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Крюк-это точка в механизме обработки системных сообщений, где приложение может установить подпрограмму для мониторинга трафика сообщений в</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> системе и обрабатывать определенные типы Сообщений прежде, чем они достигнут целевой оконной процедуры.</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Чтобы использовать механизм окна крюк, программа вызывает функцию SetWindowsHookEx() API-интерфейс, передача адреса процедуры hook, которая уведомляется, когда указанное</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> событие происходит. SetWindowsHookEx() возвращает адрес ранее установленного обработать процедуру для того же типа события. Этот адрес-это важно,</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> потому что процедуры крючка такого же типа образуют своеобразную цепочку. Windows уведомляет первую процедуру в цепочке при возникновении события,</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> и каждая процедура отвечает за передачу уведомления. Для этого процедура подключения должна вызвать CallNextHookEx() функции API,</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> адрес прохождения предыдущей процедуры крюка.</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> -- >Все системные крючки должны находиться в динамической библиотеке ссылок.</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ** Тип крюка, используемый в этом примере кода: **</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> На WH_GETMESSAGE крючок позволяет приложение для мониторинга и перехвата Сообщений о том, чтобы быть возвращены функции getmessage или PeekMessage функции.</span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/hooks/otklyuchit-klavishi-pri-sistemnom-hooke.html">Подробнее...</a></p>
Перехват (Hook) клавиатуры (программа Sendkeys)
2017-11-27T21:16:44+07:00
2017-11-27T21:16:44+07:00
https://delphi-hlp.ru/index.php/windows/hooks/perekhvat-hook-klaviatury-programma-sendkeys.html
Super User
toto44@inbox.ru
<p style="margin: 7px 0px; text-align: justify;"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<div style="margin: 7px 0px; padding: 0px; text-align: justify; text-indent: 0px;">
<table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4">
<tbody>
<tr align="left" valign="top">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p>
</td>
</tr>
<tr align="left">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">program</span><span class="f_CodeExample" style="color: #000000;"> Project1;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">uses</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Forms,</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Unit1 </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">in</span> <span class="f_CodeExample" style="color: #ff0000;">'..\Hooks1\Unit1.pas'</span> <span class="f_CodeExample" style="color: #000080;">{Form1}</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$R *.RES}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Application.Initialize;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Application.CreateForm(TForm1, Form1);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Application.Run;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">.</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">// *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* //</span></p>
</td>
</tr>
</tbody>
</table>
</div>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/hooks/perekhvat-hook-klaviatury-programma-sendkeys.html">Подробнее...</a></p>
<p style="margin: 7px 0px; text-align: justify;"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<div style="margin: 7px 0px; padding: 0px; text-align: justify; text-indent: 0px;">
<table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4">
<tbody>
<tr align="left" valign="top">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p>
</td>
</tr>
<tr align="left">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">program</span><span class="f_CodeExample" style="color: #000000;"> Project1;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">uses</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Forms,</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Unit1 </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">in</span> <span class="f_CodeExample" style="color: #ff0000;">'..\Hooks1\Unit1.pas'</span> <span class="f_CodeExample" style="color: #000080;">{Form1}</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$R *.RES}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Application.Initialize;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Application.CreateForm(TForm1, Form1);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Application.Run;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">.</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">// *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* //</span></p>
</td>
</tr>
</tbody>
</table>
</div>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/hooks/perekhvat-hook-klaviatury-programma-sendkeys.html">Подробнее...</a></p>
Перехват API функций, на примере MessageBoxA
2017-11-27T20:40:36+07:00
2017-11-27T20:40:36+07:00
https://delphi-hlp.ru/index.php/windows/hooks/perekhvat-api-funktsij-na-primere-messageboxa.html
Super User
toto44@inbox.ru
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> <span style="color: #008000; font-weight: bold;"> </span></span></p>
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">EXE:</span></p>
<div style="margin: 7px 0px; padding: 0px; text-align: justify; text-indent: 0px;">
<table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4">
<tbody>
<tr align="left" valign="top">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p>
</td>
</tr>
<tr align="left">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">program</span><span class="f_CodeExample" style="color: #000000;"> Project2;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">uses</span><span class="f_CodeExample" style="color: #000000;"> windows;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> sethook:</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;">(flag:bool)</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">stdcall</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> hDll:hModule;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> hDll:=LoadLibrary(</span><span class="f_CodeExample" style="color: #ff0000;">'Mouse_mes.dll'</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> @sethook:=GetProcAddress(hDll, </span><span class="f_CodeExample" style="color: #ff0000;">'sethook'</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> sethook(true);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> messagebox(</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">,</span><span class="f_CodeExample" style="color: #ff0000;">'Не закрывай, пока идет работа'</span><span class="f_CodeExample" style="color: #000000;">,</span><span class="f_CodeExample" style="color: #ff0000;">''</span><span class="f_CodeExample" style="color: #000000;">,</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> sethook(false);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> FreeLibrary(hDll);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">.</span></span></p>
</td>
</tr>
</tbody>
</table>
</div>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/hooks/perekhvat-api-funktsij-na-primere-messageboxa.html">Подробнее...</a></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> <span style="color: #008000; font-weight: bold;"> </span></span></p>
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">EXE:</span></p>
<div style="margin: 7px 0px; padding: 0px; text-align: justify; text-indent: 0px;">
<table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4">
<tbody>
<tr align="left" valign="top">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p>
</td>
</tr>
<tr align="left">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">program</span><span class="f_CodeExample" style="color: #000000;"> Project2;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">uses</span><span class="f_CodeExample" style="color: #000000;"> windows;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> sethook:</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;">(flag:bool)</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">stdcall</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> hDll:hModule;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> hDll:=LoadLibrary(</span><span class="f_CodeExample" style="color: #ff0000;">'Mouse_mes.dll'</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> @sethook:=GetProcAddress(hDll, </span><span class="f_CodeExample" style="color: #ff0000;">'sethook'</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> sethook(true);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> messagebox(</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">,</span><span class="f_CodeExample" style="color: #ff0000;">'Не закрывай, пока идет работа'</span><span class="f_CodeExample" style="color: #000000;">,</span><span class="f_CodeExample" style="color: #ff0000;">''</span><span class="f_CodeExample" style="color: #000000;">,</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> sethook(false);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> FreeLibrary(hDll);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">.</span></span></p>
</td>
</tr>
</tbody>
</table>
</div>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/hooks/perekhvat-api-funktsij-na-primere-messageboxa.html">Подробнее...</a></p>
Создание ловушек в Delphi
2017-11-27T20:35:51+07:00
2017-11-27T20:35:51+07:00
https://delphi-hlp.ru/index.php/windows/hooks/sozdanie-lovushek-v-delphi.html
Super User
toto44@inbox.ru
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Рано или поздно каждый программист сталкивается с таким понятим как ловушки. Чтобы приступить к ипользованию ловушек необходимо обзавестись windows SDK, который можно так же скачать с сайта Microsoft. В прилагаемом к статье архиве содержатся два проекта: hooks.dpr - это пример приложения работающего с ловушками, а hookdll.dpr - собственно сама DLL. </span></p>
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Что такое ловушки (Hooks)?</span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/hooks/sozdanie-lovushek-v-delphi.html">Подробнее...</a></p>
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Рано или поздно каждый программист сталкивается с таким понятим как ловушки. Чтобы приступить к ипользованию ловушек необходимо обзавестись windows SDK, который можно так же скачать с сайта Microsoft. В прилагаемом к статье архиве содержатся два проекта: hooks.dpr - это пример приложения работающего с ловушками, а hookdll.dpr - собственно сама DLL. </span></p>
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Что такое ловушки (Hooks)?</span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/hooks/sozdanie-lovushek-v-delphi.html">Подробнее...</a></p>
Установка ловушки для клавиатуры
2017-11-27T21:18:09+07:00
2017-11-27T21:18:09+07:00
https://delphi-hlp.ru/index.php/windows/hooks/ustanovka-lovushki-dlya-klaviatury.html
Super User
toto44@inbox.ru
<div style="margin: 0px; padding: 0px; text-align: left; text-indent: 0px;">
<table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4">
<tbody>
<tr align="left" valign="top">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p>
</td>
</tr>
<tr align="left">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">// 1. Library Code for a Key Hook DLL </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">library</span><span class="f_CodeExample" style="color: #000000;"> HookLib;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">uses</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> madExcept,</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Windows,</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Messages,</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SysUtils;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">type</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> PHookRec = ^THookRec;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> THookRec = </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">record</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> AppHnd: Integer;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> MemoHnd: Integer;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Hooked: Boolean;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> hKeyHook, hMemo, hMemFile, hApp: HWND;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> PHookRec1: PHookRec;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> KeyHookFunc(Code, VirtualKey, KeyStroke: Integer): LRESULT; </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">stdcall</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> KeyState1: TKeyBoardState;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> AryChar: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">array</span><span class="f_CodeExample" style="color: #000000;">[</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">..</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">] </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">of</span><span class="f_CodeExample" style="color: #000000;"> Char;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Count: Integer;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Result := </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> Code = HC_NOREMOVE </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span><span class="f_CodeExample" style="color: #000000;"> Exit;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Result := CallNextHookEx(hKeyHook, Code, VirtualKey, KeyStroke);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{I moved the CallNextHookEx up here but if you want to block </span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> or change any keys then move it back down}</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> Code < </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Exit;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> Code = HC_ACTION </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> ((KeyStroke </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">and</span><span class="f_CodeExample" style="color: #000000;"> (</span><span class="f_CodeExample" style="color: #800000;">1</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">shl</span> <span class="f_CodeExample" style="color: #800000;">30</span><span class="f_CodeExample" style="color: #000000;">)) <> </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">not</span><span class="f_CodeExample" style="color: #000000;"> IsWindow(hMemo) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{I moved the OpenFileMapping up here so it would not be opened </span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> unless the app the DLL is attatched to gets some Key messages}</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> hMemFile := OpenFileMapping(</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">FILE</span><span class="f_CodeExample" style="color: #000000;">_MAP_</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">WRITE</span><span class="f_CodeExample" style="color: #000000;">, False, </span><span class="f_CodeExample" style="color: #ff0000;">'Global7v9k'</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> PHookRec1 := MapViewOfFile(hMemFile, </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">FILE</span><span class="f_CodeExample" style="color: #000000;">_MAP_</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">WRITE</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> PHookRec1 <> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> hMemo := PHookRec1.MemoHnd;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> hApp := PHookRec1.AppHnd;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> ((KeyStroke </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">and</span><span class="f_CodeExample" style="color: #000000;"> (</span><span class="f_CodeExample" style="color: #800000;">1</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">shl</span> <span class="f_CodeExample" style="color: #800000;">30</span><span class="f_CodeExample" style="color: #000000;">)) <> </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GetKeyboardState(KeyState1);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Count := ToAscii(VirtualKey, KeyStroke, KeyState1, AryChar, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> Count = </span><span class="f_CodeExample" style="color: #800000;">1</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> SendMessage(hMemo, WM_CHAR, Ord(AryChar[</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">]), </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{I included 2 ways to get the Charaters, a Memo Hnadle and </span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> a WM_USER+1678 message to the program}</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> PostMessage(hApp, WM_USER + </span><span class="f_CodeExample" style="color: #800000;">1678</span><span class="f_CodeExample" style="color: #000000;">, Ord(AryChar[</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">]), </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> StartHook(MemoHandle, AppHandle: HWND): Byte; </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">export</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Result := </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> Hooked </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Result := </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Exit;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">not</span><span class="f_CodeExample" style="color: #000000;"> IsWindow(MemoHandle) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Result := </span><span class="f_CodeExample" style="color: #800000;">4</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Exit;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> hKeyHook := SetWindowsHookEx(WH_KEYBOARD, KeyHookFunc, hInstance, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> hKeyHook > </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{you need to use a mapped file because this DLL attatches to every app </span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> that gets windows messages when it's hooked, and you can't get info except </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> through a Globally avaiable Mapped file}</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> hMemFile := CreateFileMapping(</span><span class="f_CodeExample" style="color: #800000;">$FFFFFFFF</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #000080;">// $FFFFFFFF gets a page memory file </span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #000080;">// no security attributes </span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> PAGE_READWRITE, </span><span class="f_CodeExample" style="color: #000080;">// read/write access </span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #000080;">// size: high 32-bits </span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> SizeOf(THookRec), </span><span class="f_CodeExample" style="color: #000080;">// size: low 32-bits </span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">//SizeOf(Integer), </span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #ff0000;">'Global7v9k'</span><span class="f_CodeExample" style="color: #000000;">); </span><span class="f_CodeExample" style="color: #000080;">// name of map object </span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> PHookRec1 := MapViewOfFile(hMemFile, </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">FILE</span><span class="f_CodeExample" style="color: #000000;">_MAP_</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">WRITE</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> hMemo := MemoHandle;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> PHookRec1.MemoHnd := MemoHandle;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> hApp := AppHandle;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> PHookRec1.AppHnd := AppHandle;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{set the Memo and App handles to the mapped file}</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Hooked := True;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">else</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Result := </span><span class="f_CodeExample" style="color: #800000;">2</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> StopHook: Boolean; </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">export</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> PHookRec1 <> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> UnmapViewOfFile(PHookRec1);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CloseHandle(hMemFile);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> PHookRec1 := </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> Hooked </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Result := UnhookWindowsHookEx(hKeyHook)</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">else</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Result := True;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Hooked := False;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> EntryProc(dwReason: DWORD);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> (dwReason = Dll_Process_Detach) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> PHookRec1 <> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> UnmapViewOfFile(PHookRec1);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CloseHandle(hMemFile);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> UnhookWindowsHookEx(hKeyHook);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">exports</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> StartHook,</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> StopHook;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> PHookRec1 := </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Hooked := False;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> hKeyHook := </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> hMemo := </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> DLLProc := @EntryProc;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> EntryProc(Dll_Process_Attach);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">.</span></span></p>
</td>
</tr>
</tbody>
</table>
</div>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<hr class="system-pagebreak" />
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">2. Code from the calling Program</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{this program get's the Char from the DLL in 2 ways,</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">as a Char message to a Memo and as a DLLMessage WM_USER+1678}</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<div style="margin: 7px 0px; padding: 0px; text-align: justify; text-indent: 0px;">
<table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4">
<tbody>
<tr align="left" valign="top">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p>
</td>
</tr>
<tr align="left">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">unit</span><span class="f_CodeExample" style="color: #000000;"> Unit1;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">interface</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">uses</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Dialogs, StdCtrls;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">type</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> TForm1 = </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">class</span><span class="f_CodeExample" style="color: #000000;">(TForm)</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> but_StartHook: TButton;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> but_StopHook: TButton;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> label1: TLabel;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Memo1: TMemo;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> but_StartHookClick(Sender: TObject);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> but_StopHookClick(Sender: TObject);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">private</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{ Private declarations }</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> hLib2: THandle;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> DllStr1: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">string</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> DllMessage(</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">var</span><span class="f_CodeExample" style="color: #000000;"> Msg: TMessage); </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">message</span><span class="f_CodeExample" style="color: #000000;"> WM_USER + </span><span class="f_CodeExample" style="color: #800000;">1678</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">public</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{ Public declarations }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Form1: TForm1;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">implementation</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$R *.dfm}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TForm1.DllMessage(</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">var</span><span class="f_CodeExample" style="color: #000000;"> Msg: TMessage);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> (Msg.wParam = </span><span class="f_CodeExample" style="color: #800000;">8</span><span class="f_CodeExample" style="color: #000000;">) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">or</span><span class="f_CodeExample" style="color: #000000;"> (Msg.wParam = </span><span class="f_CodeExample" style="color: #800000;">13</span><span class="f_CodeExample" style="color: #000000;">) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span><span class="f_CodeExample" style="color: #000000;"> Exit;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{the 8 is the Backspace and the 13 if the Enter key, You'll need to </span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> do some special handleing for a string}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> DllStr1 := DllStr1 + Chr(Msg.wParam);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> label1.Caption := DllStr1;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TForm1.but_StartHookClick(Sender: TObject);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">type</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> TStartHook = </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;">(MemoHandle, AppHandle: HWND): Byte;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> StartHook1: TStartHook;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SHresult: Byte;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> hLib2 := LoadLibrary(</span><span class="f_CodeExample" style="color: #ff0000;">'HookLib.dll'</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> @StartHook1 := GetProcAddress(hLib2, </span><span class="f_CodeExample" style="color: #ff0000;">'StartHook'</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> @StartHook1 = </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span><span class="f_CodeExample" style="color: #000000;"> Exit;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SHresult := StartHook1(Memo1.Handle, Handle);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> SHresult = </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span><span class="f_CodeExample" style="color: #000000;"> ShowMessage(</span><span class="f_CodeExample" style="color: #ff0000;">'the Key Hook was Started, good'</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> SHresult = </span><span class="f_CodeExample" style="color: #800000;">1</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span><span class="f_CodeExample" style="color: #000000;"> ShowMessage(</span><span class="f_CodeExample" style="color: #ff0000;">'the Key Hook was already Started'</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> SHresult = </span><span class="f_CodeExample" style="color: #800000;">2</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span><span class="f_CodeExample" style="color: #000000;"> ShowMessage(</span><span class="f_CodeExample" style="color: #ff0000;">'the Key Hook can NOT be Started, bad'</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> SHresult = </span><span class="f_CodeExample" style="color: #800000;">4</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span><span class="f_CodeExample" style="color: #000000;"> ShowMessage(</span><span class="f_CodeExample" style="color: #ff0000;">'MemoHandle is incorrect'</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TForm1.but_StopHookClick(Sender: TObject);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">type</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> TStopHook = </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;">: Boolean;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> StopHook1: TStopHook;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> hLib21: THandle;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> @StopHook1 := GetProcAddress(hLib2, </span><span class="f_CodeExample" style="color: #ff0000;">'StopHook'</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> @StopHook1 = </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> ShowMessage(</span><span class="f_CodeExample" style="color: #ff0000;">'Stop Hook DLL Mem Addy not found'</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Exit;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> StopHook1 </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> ShowMessage(</span><span class="f_CodeExample" style="color: #ff0000;">'Hook was stoped'</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> FreeLibrary(hLib2);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{for some reason in Win XP you need to call FreeLibrary twice </span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> maybe because you get 2 functions from the DLL? ?}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> FreeLibrary(hLib2);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">.</span></span></p>
</td>
</tr>
</tbody>
</table>
</div>
<div style="margin: 0px; padding: 0px; text-align: left; text-indent: 0px;">
<table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4">
<tbody>
<tr align="left" valign="top">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p>
</td>
</tr>
<tr align="left">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">// 1. Library Code for a Key Hook DLL </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">library</span><span class="f_CodeExample" style="color: #000000;"> HookLib;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">uses</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> madExcept,</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Windows,</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Messages,</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SysUtils;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">type</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> PHookRec = ^THookRec;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> THookRec = </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">record</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> AppHnd: Integer;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> MemoHnd: Integer;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Hooked: Boolean;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> hKeyHook, hMemo, hMemFile, hApp: HWND;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> PHookRec1: PHookRec;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> KeyHookFunc(Code, VirtualKey, KeyStroke: Integer): LRESULT; </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">stdcall</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> KeyState1: TKeyBoardState;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> AryChar: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">array</span><span class="f_CodeExample" style="color: #000000;">[</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">..</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">] </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">of</span><span class="f_CodeExample" style="color: #000000;"> Char;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Count: Integer;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Result := </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> Code = HC_NOREMOVE </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span><span class="f_CodeExample" style="color: #000000;"> Exit;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Result := CallNextHookEx(hKeyHook, Code, VirtualKey, KeyStroke);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{I moved the CallNextHookEx up here but if you want to block </span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> or change any keys then move it back down}</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> Code < </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Exit;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> Code = HC_ACTION </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> ((KeyStroke </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">and</span><span class="f_CodeExample" style="color: #000000;"> (</span><span class="f_CodeExample" style="color: #800000;">1</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">shl</span> <span class="f_CodeExample" style="color: #800000;">30</span><span class="f_CodeExample" style="color: #000000;">)) <> </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">not</span><span class="f_CodeExample" style="color: #000000;"> IsWindow(hMemo) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{I moved the OpenFileMapping up here so it would not be opened </span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> unless the app the DLL is attatched to gets some Key messages}</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> hMemFile := OpenFileMapping(</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">FILE</span><span class="f_CodeExample" style="color: #000000;">_MAP_</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">WRITE</span><span class="f_CodeExample" style="color: #000000;">, False, </span><span class="f_CodeExample" style="color: #ff0000;">'Global7v9k'</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> PHookRec1 := MapViewOfFile(hMemFile, </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">FILE</span><span class="f_CodeExample" style="color: #000000;">_MAP_</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">WRITE</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> PHookRec1 <> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> hMemo := PHookRec1.MemoHnd;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> hApp := PHookRec1.AppHnd;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> ((KeyStroke </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">and</span><span class="f_CodeExample" style="color: #000000;"> (</span><span class="f_CodeExample" style="color: #800000;">1</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">shl</span> <span class="f_CodeExample" style="color: #800000;">30</span><span class="f_CodeExample" style="color: #000000;">)) <> </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GetKeyboardState(KeyState1);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Count := ToAscii(VirtualKey, KeyStroke, KeyState1, AryChar, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> Count = </span><span class="f_CodeExample" style="color: #800000;">1</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> SendMessage(hMemo, WM_CHAR, Ord(AryChar[</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">]), </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{I included 2 ways to get the Charaters, a Memo Hnadle and </span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> a WM_USER+1678 message to the program}</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> PostMessage(hApp, WM_USER + </span><span class="f_CodeExample" style="color: #800000;">1678</span><span class="f_CodeExample" style="color: #000000;">, Ord(AryChar[</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">]), </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> StartHook(MemoHandle, AppHandle: HWND): Byte; </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">export</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Result := </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> Hooked </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Result := </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Exit;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">not</span><span class="f_CodeExample" style="color: #000000;"> IsWindow(MemoHandle) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Result := </span><span class="f_CodeExample" style="color: #800000;">4</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Exit;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> hKeyHook := SetWindowsHookEx(WH_KEYBOARD, KeyHookFunc, hInstance, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> hKeyHook > </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{you need to use a mapped file because this DLL attatches to every app </span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> that gets windows messages when it's hooked, and you can't get info except </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> through a Globally avaiable Mapped file}</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> hMemFile := CreateFileMapping(</span><span class="f_CodeExample" style="color: #800000;">$FFFFFFFF</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #000080;">// $FFFFFFFF gets a page memory file </span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #000080;">// no security attributes </span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> PAGE_READWRITE, </span><span class="f_CodeExample" style="color: #000080;">// read/write access </span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #000080;">// size: high 32-bits </span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> SizeOf(THookRec), </span><span class="f_CodeExample" style="color: #000080;">// size: low 32-bits </span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">//SizeOf(Integer), </span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #ff0000;">'Global7v9k'</span><span class="f_CodeExample" style="color: #000000;">); </span><span class="f_CodeExample" style="color: #000080;">// name of map object </span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> PHookRec1 := MapViewOfFile(hMemFile, </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">FILE</span><span class="f_CodeExample" style="color: #000000;">_MAP_</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">WRITE</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> hMemo := MemoHandle;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> PHookRec1.MemoHnd := MemoHandle;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> hApp := AppHandle;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> PHookRec1.AppHnd := AppHandle;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{set the Memo and App handles to the mapped file}</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Hooked := True;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">else</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Result := </span><span class="f_CodeExample" style="color: #800000;">2</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> StopHook: Boolean; </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">export</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> PHookRec1 <> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> UnmapViewOfFile(PHookRec1);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CloseHandle(hMemFile);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> PHookRec1 := </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> Hooked </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Result := UnhookWindowsHookEx(hKeyHook)</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">else</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Result := True;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Hooked := False;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> EntryProc(dwReason: DWORD);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> (dwReason = Dll_Process_Detach) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> PHookRec1 <> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> UnmapViewOfFile(PHookRec1);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CloseHandle(hMemFile);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> UnhookWindowsHookEx(hKeyHook);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">exports</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> StartHook,</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> StopHook;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> PHookRec1 := </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Hooked := False;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> hKeyHook := </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> hMemo := </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> DLLProc := @EntryProc;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> EntryProc(Dll_Process_Attach);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">.</span></span></p>
</td>
</tr>
</tbody>
</table>
</div>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<hr class="system-pagebreak" />
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">2. Code from the calling Program</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{this program get's the Char from the DLL in 2 ways,</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">as a Char message to a Memo and as a DLLMessage WM_USER+1678}</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<div style="margin: 7px 0px; padding: 0px; text-align: justify; text-indent: 0px;">
<table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4">
<tbody>
<tr align="left" valign="top">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p>
</td>
</tr>
<tr align="left">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">unit</span><span class="f_CodeExample" style="color: #000000;"> Unit1;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">interface</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">uses</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Dialogs, StdCtrls;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">type</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> TForm1 = </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">class</span><span class="f_CodeExample" style="color: #000000;">(TForm)</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> but_StartHook: TButton;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> but_StopHook: TButton;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> label1: TLabel;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Memo1: TMemo;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> but_StartHookClick(Sender: TObject);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> but_StopHookClick(Sender: TObject);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">private</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{ Private declarations }</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> hLib2: THandle;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> DllStr1: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">string</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> DllMessage(</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">var</span><span class="f_CodeExample" style="color: #000000;"> Msg: TMessage); </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">message</span><span class="f_CodeExample" style="color: #000000;"> WM_USER + </span><span class="f_CodeExample" style="color: #800000;">1678</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">public</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{ Public declarations }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Form1: TForm1;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">implementation</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$R *.dfm}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TForm1.DllMessage(</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">var</span><span class="f_CodeExample" style="color: #000000;"> Msg: TMessage);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> (Msg.wParam = </span><span class="f_CodeExample" style="color: #800000;">8</span><span class="f_CodeExample" style="color: #000000;">) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">or</span><span class="f_CodeExample" style="color: #000000;"> (Msg.wParam = </span><span class="f_CodeExample" style="color: #800000;">13</span><span class="f_CodeExample" style="color: #000000;">) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span><span class="f_CodeExample" style="color: #000000;"> Exit;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{the 8 is the Backspace and the 13 if the Enter key, You'll need to </span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> do some special handleing for a string}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> DllStr1 := DllStr1 + Chr(Msg.wParam);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> label1.Caption := DllStr1;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TForm1.but_StartHookClick(Sender: TObject);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">type</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> TStartHook = </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;">(MemoHandle, AppHandle: HWND): Byte;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> StartHook1: TStartHook;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SHresult: Byte;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> hLib2 := LoadLibrary(</span><span class="f_CodeExample" style="color: #ff0000;">'HookLib.dll'</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> @StartHook1 := GetProcAddress(hLib2, </span><span class="f_CodeExample" style="color: #ff0000;">'StartHook'</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> @StartHook1 = </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span><span class="f_CodeExample" style="color: #000000;"> Exit;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SHresult := StartHook1(Memo1.Handle, Handle);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> SHresult = </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span><span class="f_CodeExample" style="color: #000000;"> ShowMessage(</span><span class="f_CodeExample" style="color: #ff0000;">'the Key Hook was Started, good'</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> SHresult = </span><span class="f_CodeExample" style="color: #800000;">1</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span><span class="f_CodeExample" style="color: #000000;"> ShowMessage(</span><span class="f_CodeExample" style="color: #ff0000;">'the Key Hook was already Started'</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> SHresult = </span><span class="f_CodeExample" style="color: #800000;">2</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span><span class="f_CodeExample" style="color: #000000;"> ShowMessage(</span><span class="f_CodeExample" style="color: #ff0000;">'the Key Hook can NOT be Started, bad'</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> SHresult = </span><span class="f_CodeExample" style="color: #800000;">4</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span><span class="f_CodeExample" style="color: #000000;"> ShowMessage(</span><span class="f_CodeExample" style="color: #ff0000;">'MemoHandle is incorrect'</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TForm1.but_StopHookClick(Sender: TObject);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">type</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> TStopHook = </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;">: Boolean;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> StopHook1: TStopHook;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> hLib21: THandle;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> @StopHook1 := GetProcAddress(hLib2, </span><span class="f_CodeExample" style="color: #ff0000;">'StopHook'</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> @StopHook1 = </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> ShowMessage(</span><span class="f_CodeExample" style="color: #ff0000;">'Stop Hook DLL Mem Addy not found'</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Exit;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> StopHook1 </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> ShowMessage(</span><span class="f_CodeExample" style="color: #ff0000;">'Hook was stoped'</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> FreeLibrary(hLib2);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{for some reason in Win XP you need to call FreeLibrary twice </span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> maybe because you get 2 functions from the DLL? ?}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> FreeLibrary(hLib2);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">.</span></span></p>
</td>
</tr>
</tbody>
</table>
</div>
Как изменить имя компьютера?
2017-10-08T23:22:30+07:00
2017-10-08T23:22:30+07:00
https://delphi-hlp.ru/index.php/windows/imya-kompyutera/kak-izmenit-imya-kompyutera.html
Super User
toto44@inbox.ru
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<div style="margin: 7px 0px; padding: 0px; text-align: justify; text-indent: 0px;">
<table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4">
<tbody>
<tr align="left" valign="top">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p>
</td>
</tr>
<tr align="left">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">SetComputerName(PChar(Edit1.text));</span></p>
</td>
</tr>
</tbody>
</table>
</div>
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<div style="margin: 7px 0px; padding: 0px; text-align: justify; text-indent: 0px;">
<table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4">
<tbody>
<tr align="left" valign="top">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p>
</td>
</tr>
<tr align="left">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">SetComputerName(PChar(Edit1.text));</span></p>
</td>
</tr>
</tbody>
</table>
</div>
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
Как узнать имя компьютера?
2017-10-08T23:24:06+07:00
2017-10-08T23:24:06+07:00
https://delphi-hlp.ru/index.php/windows/imya-kompyutera/kak-uznat-imya-kompyutera.html
Super User
toto44@inbox.ru
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<div style="margin: 7px 0px; padding: 0px; text-align: justify; text-indent: 0px;">
<table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4">
<tbody>
<tr align="left" valign="top">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p>
</td>
</tr>
<tr align="left">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">Function</span><span class="f_CodeExample" style="color: #000000;"> ReadComputerName:</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">string</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000080;">{©Drkb v.3, </span><span class="f_CodeExample" style="color: #000080;">®Vit (Vitaly Nevzorov) }</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">i:DWORD; </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">p:PChar;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">i:=</span><span class="f_CodeExample" style="color: #800000;">255</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">GetMem(p, i);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">GetComputerName(p, i);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">Result:=</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">String</span><span class="f_CodeExample" style="color: #000000;">(p);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">FreeMem(p);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
</td>
</tr>
</tbody>
</table>
</div>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/imya-kompyutera/kak-uznat-imya-kompyutera.html">Подробнее...</a></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<div style="margin: 7px 0px; padding: 0px; text-align: justify; text-indent: 0px;">
<table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4">
<tbody>
<tr align="left" valign="top">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p>
</td>
</tr>
<tr align="left">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">Function</span><span class="f_CodeExample" style="color: #000000;"> ReadComputerName:</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">string</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000080;">{©Drkb v.3, </span><span class="f_CodeExample" style="color: #000080;">®Vit (Vitaly Nevzorov) }</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">i:DWORD; </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">p:PChar;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">i:=</span><span class="f_CodeExample" style="color: #800000;">255</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">GetMem(p, i);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">GetComputerName(p, i);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">Result:=</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">String</span><span class="f_CodeExample" style="color: #000000;">(p);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">FreeMem(p);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
</td>
</tr>
</tbody>
</table>
</div>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/imya-kompyutera/kak-uznat-imya-kompyutera.html">Подробнее...</a></p>
Выполняем встроенные команды Windows
2017-10-16T17:41:47+07:00
2017-10-16T17:41:47+07:00
https://delphi-hlp.ru/index.php/windows/komandy-windows/vypolnyaem-vstroennye-komandy-windows.html
Super User
toto44@inbox.ru
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Впринципе эти команды можно запускать в меню "Выполнить..." (Run), кнопки Пуск. Ну а в Delphi они запускаются путём всем извесной команды winexec(Pchar('ABCD'),sw_Show);</span></p>
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">где 'ABCD' - одна из следующих команд ... </span></p>
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/komandy-windows/vypolnyaem-vstroennye-komandy-windows.html">Подробнее...</a></p>
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Впринципе эти команды можно запускать в меню "Выполнить..." (Run), кнопки Пуск. Ну а в Delphi они запускаются путём всем извесной команды winexec(Pchar('ABCD'),sw_Show);</span></p>
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">где 'ABCD' - одна из следующих команд ... </span></p>
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/komandy-windows/vypolnyaem-vstroennye-komandy-windows.html">Подробнее...</a></p>
Как пользоваться командой шела - MinimizeAll?
2017-10-16T17:42:49+07:00
2017-10-16T17:42:49+07:00
https://delphi-hlp.ru/index.php/windows/komandy-windows/kak-polzovatsya-komandoj-shela-minimizeall.html
Super User
toto44@inbox.ru
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Для этого надо импортировать Microsoft Shell Controls & Automation Type Library.</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000;"> </span><span style="color: #000000;">В меню Project..Import Type Library</span></span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000;"> </span><span style="color: #000000;">Выберите Microsoft Shell Controls & Automation (version 1.0).</span></span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000;"> </span><span style="color: #000000;">Нажмите Install...</span></span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000;"> </span><span style="color: #000000;">На панели компонентов, в закладке ActiveX появится несколько компонентов. Перетащите на форму компонент TShell. После этого, например, можно всё минимизировать:</span></span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000;"> </span><span style="color: #000000;">Shell1.MinimizeAll;</span></span></p>
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/komandy-windows/kak-polzovatsya-komandoj-shela-minimizeall.html">Подробнее...</a></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Для этого надо импортировать Microsoft Shell Controls & Automation Type Library.</span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000;"> </span><span style="color: #000000;">В меню Project..Import Type Library</span></span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000;"> </span><span style="color: #000000;">Выберите Microsoft Shell Controls & Automation (version 1.0).</span></span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000;"> </span><span style="color: #000000;">Нажмите Install...</span></span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000;"> </span><span style="color: #000000;">На панели компонентов, в закладке ActiveX появится несколько компонентов. Перетащите на форму компонент TShell. После этого, например, можно всё минимизировать:</span></span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000;"> </span><span style="color: #000000;">Shell1.MinimizeAll;</span></span></p>
<p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="feed-readmore"><a target="_blank" href ="/index.php/windows/komandy-windows/kak-polzovatsya-komandoj-shela-minimizeall.html">Подробнее...</a></p>
CreateProcess, который возвращает консольный вывод
2017-11-12T04:29:07+07:00
2017-11-12T04:29:07+07:00
https://delphi-hlp.ru/index.php/windows/konsolnye-prilozheniya-i-prilozheniya-dos/createprocess-kotoryj-vozvrashchaet-konsolnyj-vyvod.html
Super User
toto44@inbox.ru
<p> </p>
<p style="margin: 7px 0px; text-align: justify;"><span style="font-size: 12pt;"> </span></p>
<div style="margin: 0px; padding: 0px; text-align: left; text-indent: 0px;">
<table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4">
<tbody>
<tr align="left" valign="top">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p style="text-align: justify;"><span style="color: #000000; font-family: 'Times New Roman'; font-size: 12pt; font-weight: bold;">Code:</span></p>
</td>
</tr>
<tr align="left">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> ExecConsoleApp(CommandLine: AnsiString; Output: TStringList; Errors:</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> TStringList);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> sa: TSECURITYATTRIBUTES;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> si: TSTARTUPINFO;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> pi: TPROCESSINFORMATION;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> hPipeOutputRead: THANDLE;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> hPipeOutputWrite: THANDLE;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> hPipeErrorsRead: THANDLE;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> hPipeErrorsWrite: THANDLE;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> Res, bTest: Boolean;</span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> env: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">array</span><span class="f_CodeExample" style="color: #000000;">[</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">..</span><span class="f_CodeExample" style="color: #800000;">100</span><span class="f_CodeExample" style="color: #000000;">] </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">of</span><span class="f_CodeExample" style="color: #000000;"> Char;</span></span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> szBuffer: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">array</span><span class="f_CodeExample" style="color: #000000;">[</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">..</span><span class="f_CodeExample" style="color: #800000;">256</span><span class="f_CodeExample" style="color: #000000;">] </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">of</span><span class="f_CodeExample" style="color: #000000;"> Char;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> dwNumberOfBytesRead: DWORD;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> Stream: TMemoryStream;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> sa.nLength := sizeof(sa);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> sa.bInheritHandle := true;</span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> sa.lpSecurityDescriptor := </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> CreatePipe(hPipeOutputRead, hPipeOutputWrite, @sa, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> CreatePipe(hPipeErrorsRead, hPipeErrorsWrite, @sa, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> ZeroMemory(@env, SizeOf(env));</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> ZeroMemory(@si, SizeOf(si));</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> ZeroMemory(@pi, SizeOf(pi));</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> si.cb := SizeOf(si);</span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> si.dwFlags := STARTF_USESHOWWINDOW </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">or</span><span class="f_CodeExample" style="color: #000000;"> STARTF_USESTDHANDLES;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> si.wShowWindow := SW_HIDE;</span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> si.hStdInput := </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> si.hStdOutput := hPipeOutputWrite;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> si.hStdError := hPipeErrorsWrite;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> (* Remember that </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> you want </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">to</span><span class="f_CodeExample" style="color: #000000;"> execute an app </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">with</span><span class="f_CodeExample" style="color: #000000;"> no parameters you </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span><span class="f_CodeExample" style="color: #000000;"> the</span></span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> second parameter </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">and</span><span class="f_CodeExample" style="color: #000000;"> use the first, you can also leave it </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">as</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">is</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">with</span><span class="f_CodeExample" style="color: #000000;"> no</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> problems. *)</span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Res := CreateProcess(</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span><span class="f_CodeExample" style="color: #000000;">, pchar(CommandLine), </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span><span class="f_CodeExample" style="color: #000000;">, true,</span></span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> CREATE_NEW_CONSOLE </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">or</span><span class="f_CodeExample" style="color: #000000;"> NORMAL_PRIORITY_</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">CLASS</span><span class="f_CodeExample" style="color: #000000;">, @env, </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span><span class="f_CodeExample" style="color: #000000;">, si, pi);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-size: 12pt;">// Procedure will exit if CreateProcess fail</span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">not</span><span class="f_CodeExample" style="color: #000000;"> Res </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> CloseHandle(hPipeOutputRead);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> CloseHandle(hPipeOutputWrite);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> CloseHandle(hPipeErrorsRead);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> CloseHandle(hPipeErrorsWrite);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> Exit;</span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> CloseHandle(hPipeOutputWrite);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> CloseHandle(hPipeErrorsWrite);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-size: 12pt;">//Read output pipe</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> Stream := TMemoryStream.Create;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-size: 12pt; font-weight: bold;">try</span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">while</span><span class="f_CodeExample" style="color: #000000;"> true </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">do</span></span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> bTest := ReadFile(hPipeOutputRead, szBuffer, </span><span class="f_CodeExample" style="color: #800000;">256</span><span class="f_CodeExample" style="color: #000000;">, dwNumberOfBytesRead,</span></span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">not</span><span class="f_CodeExample" style="color: #000000;"> bTest </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> break;</span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Stream.</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">Write</span><span class="f_CodeExample" style="color: #000000;">(szBuffer, dwNumberOfBytesRead);</span></span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Stream.Position := </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> Output.LoadFromStream(Stream);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-size: 12pt; font-weight: bold;">finally</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> Stream.Free;</span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-size: 12pt;">//Read error pipe</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> Stream := TMemoryStream.Create;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-size: 12pt; font-weight: bold;">try</span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">while</span><span class="f_CodeExample" style="color: #000000;"> true </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">do</span></span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> bTest := ReadFile(hPipeErrorsRead, szBuffer, </span><span class="f_CodeExample" style="color: #800000;">256</span><span class="f_CodeExample" style="color: #000000;">, dwNumberOfBytesRead,</span></span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">not</span><span class="f_CodeExample" style="color: #000000;"> bTest </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> break;</span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Stream.</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">Write</span><span class="f_CodeExample" style="color: #000000;">(szBuffer, dwNumberOfBytesRead);</span></span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Stream.Position := </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> Errors.LoadFromStream(Stream);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-size: 12pt; font-weight: bold;">finally</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> Stream.Free;</span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> WaitForSingleObject(pi.hProcess, INFINITE);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> CloseHandle(pi.hProcess);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> CloseHandle(hPipeOutputRead);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> CloseHandle(hPipeErrorsRead);</span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">(* got it from yahoo groups, so no copyrights </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">for</span><span class="f_CodeExample" style="color: #000000;"> this piece :p </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">and</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">and</span><span class="f_CodeExample" style="color: #000000;"> example</span></span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">of</span><span class="f_CodeExample" style="color: #000000;"> how </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">to</span><span class="f_CodeExample" style="color: #000000;"> use it. put a button </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">and</span><span class="f_CodeExample" style="color: #000000;"> a memo </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">to</span><span class="f_CodeExample" style="color: #000000;"> a form. *)</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TForm1.Button1Click(Sender: TObject);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> OutP: TStringList;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> ErrorP: TStringList;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> OutP := TStringList.Create;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> ErrorP := TstringList.Create;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> ExecConsoleApp(</span><span class="f_CodeExample" style="color: #ff0000;">'ping localhost'</span><span class="f_CodeExample" style="color: #000000;">, OutP, ErrorP);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> Memo1.Lines.Assign(OutP);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> OutP.Free;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> ErrorP.Free;</span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> </span></p>
</td>
</tr>
</tbody>
</table>
</div>
<p><span style="font-size: 12pt;"> </span></p>
<p> </p>
<p style="margin: 7px 0px; text-align: justify;"><span style="font-size: 12pt;"> </span></p>
<div style="margin: 0px; padding: 0px; text-align: left; text-indent: 0px;">
<table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4">
<tbody>
<tr align="left" valign="top">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p style="text-align: justify;"><span style="color: #000000; font-family: 'Times New Roman'; font-size: 12pt; font-weight: bold;">Code:</span></p>
</td>
</tr>
<tr align="left">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> ExecConsoleApp(CommandLine: AnsiString; Output: TStringList; Errors:</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> TStringList);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> sa: TSECURITYATTRIBUTES;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> si: TSTARTUPINFO;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> pi: TPROCESSINFORMATION;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> hPipeOutputRead: THANDLE;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> hPipeOutputWrite: THANDLE;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> hPipeErrorsRead: THANDLE;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> hPipeErrorsWrite: THANDLE;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> Res, bTest: Boolean;</span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> env: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">array</span><span class="f_CodeExample" style="color: #000000;">[</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">..</span><span class="f_CodeExample" style="color: #800000;">100</span><span class="f_CodeExample" style="color: #000000;">] </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">of</span><span class="f_CodeExample" style="color: #000000;"> Char;</span></span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> szBuffer: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">array</span><span class="f_CodeExample" style="color: #000000;">[</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">..</span><span class="f_CodeExample" style="color: #800000;">256</span><span class="f_CodeExample" style="color: #000000;">] </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">of</span><span class="f_CodeExample" style="color: #000000;"> Char;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> dwNumberOfBytesRead: DWORD;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> Stream: TMemoryStream;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> sa.nLength := sizeof(sa);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> sa.bInheritHandle := true;</span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> sa.lpSecurityDescriptor := </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> CreatePipe(hPipeOutputRead, hPipeOutputWrite, @sa, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> CreatePipe(hPipeErrorsRead, hPipeErrorsWrite, @sa, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> ZeroMemory(@env, SizeOf(env));</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> ZeroMemory(@si, SizeOf(si));</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> ZeroMemory(@pi, SizeOf(pi));</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> si.cb := SizeOf(si);</span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> si.dwFlags := STARTF_USESHOWWINDOW </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">or</span><span class="f_CodeExample" style="color: #000000;"> STARTF_USESTDHANDLES;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> si.wShowWindow := SW_HIDE;</span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> si.hStdInput := </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> si.hStdOutput := hPipeOutputWrite;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> si.hStdError := hPipeErrorsWrite;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> (* Remember that </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> you want </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">to</span><span class="f_CodeExample" style="color: #000000;"> execute an app </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">with</span><span class="f_CodeExample" style="color: #000000;"> no parameters you </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span><span class="f_CodeExample" style="color: #000000;"> the</span></span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> second parameter </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">and</span><span class="f_CodeExample" style="color: #000000;"> use the first, you can also leave it </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">as</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">is</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">with</span><span class="f_CodeExample" style="color: #000000;"> no</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> problems. *)</span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Res := CreateProcess(</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span><span class="f_CodeExample" style="color: #000000;">, pchar(CommandLine), </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span><span class="f_CodeExample" style="color: #000000;">, true,</span></span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> CREATE_NEW_CONSOLE </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">or</span><span class="f_CodeExample" style="color: #000000;"> NORMAL_PRIORITY_</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">CLASS</span><span class="f_CodeExample" style="color: #000000;">, @env, </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span><span class="f_CodeExample" style="color: #000000;">, si, pi);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-size: 12pt;">// Procedure will exit if CreateProcess fail</span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">not</span><span class="f_CodeExample" style="color: #000000;"> Res </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> CloseHandle(hPipeOutputRead);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> CloseHandle(hPipeOutputWrite);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> CloseHandle(hPipeErrorsRead);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> CloseHandle(hPipeErrorsWrite);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> Exit;</span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> CloseHandle(hPipeOutputWrite);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> CloseHandle(hPipeErrorsWrite);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-size: 12pt;">//Read output pipe</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> Stream := TMemoryStream.Create;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-size: 12pt; font-weight: bold;">try</span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">while</span><span class="f_CodeExample" style="color: #000000;"> true </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">do</span></span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> bTest := ReadFile(hPipeOutputRead, szBuffer, </span><span class="f_CodeExample" style="color: #800000;">256</span><span class="f_CodeExample" style="color: #000000;">, dwNumberOfBytesRead,</span></span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">not</span><span class="f_CodeExample" style="color: #000000;"> bTest </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> break;</span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Stream.</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">Write</span><span class="f_CodeExample" style="color: #000000;">(szBuffer, dwNumberOfBytesRead);</span></span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Stream.Position := </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> Output.LoadFromStream(Stream);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-size: 12pt; font-weight: bold;">finally</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> Stream.Free;</span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-size: 12pt;">//Read error pipe</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> Stream := TMemoryStream.Create;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-size: 12pt; font-weight: bold;">try</span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">while</span><span class="f_CodeExample" style="color: #000000;"> true </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">do</span></span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> bTest := ReadFile(hPipeErrorsRead, szBuffer, </span><span class="f_CodeExample" style="color: #800000;">256</span><span class="f_CodeExample" style="color: #000000;">, dwNumberOfBytesRead,</span></span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">not</span><span class="f_CodeExample" style="color: #000000;"> bTest </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> break;</span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Stream.</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">Write</span><span class="f_CodeExample" style="color: #000000;">(szBuffer, dwNumberOfBytesRead);</span></span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Stream.Position := </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> Errors.LoadFromStream(Stream);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-size: 12pt; font-weight: bold;">finally</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> Stream.Free;</span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> WaitForSingleObject(pi.hProcess, INFINITE);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> CloseHandle(pi.hProcess);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> CloseHandle(hPipeOutputRead);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> CloseHandle(hPipeErrorsRead);</span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">(* got it from yahoo groups, so no copyrights </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">for</span><span class="f_CodeExample" style="color: #000000;"> this piece :p </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">and</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">and</span><span class="f_CodeExample" style="color: #000000;"> example</span></span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">of</span><span class="f_CodeExample" style="color: #000000;"> how </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">to</span><span class="f_CodeExample" style="color: #000000;"> use it. put a button </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">and</span><span class="f_CodeExample" style="color: #000000;"> a memo </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">to</span><span class="f_CodeExample" style="color: #000000;"> a form. *)</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TForm1.Button1Click(Sender: TObject);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> OutP: TStringList;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> ErrorP: TStringList;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> OutP := TStringList.Create;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> ErrorP := TstringList.Create;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> ExecConsoleApp(</span><span class="f_CodeExample" style="color: #ff0000;">'ping localhost'</span><span class="f_CodeExample" style="color: #000000;">, OutP, ErrorP);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> Memo1.Lines.Assign(OutP);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> OutP.Free;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> ErrorP.Free;</span></p>
<p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-size: 12pt;"> </span></p>
</td>
</tr>
</tbody>
</table>
</div>
<p><span style="font-size: 12pt;"> </span></p>
CRT для консольного приложения
2017-11-12T04:49:23+07:00
2017-11-12T04:49:23+07:00
https://delphi-hlp.ru/index.php/windows/konsolnye-prilozheniya-i-prilozheniya-dos/crt-dlya-konsolnogo-prilozheniya.html
Super User
toto44@inbox.ru
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<div style="margin: 0px; padding: 0px; text-align: left; text-indent: 0px;">
<table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4">
<tbody>
<tr align="left" valign="top">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p>
</td>
</tr>
<tr align="left">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">$IfDef VER130}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$Define NEW_STYLES}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$EndIf}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$IfDef VER140}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$Define NEW_STYLES}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$EndIf}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000080;">{..$Define HARD_CRT}</span><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{Redirect STD_...}</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000080;">{..$Define CRT_EVENT}</span><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{CTRL-C,...}</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #0000ff;">{$Define MOUSE_IS_USED}</span><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{Handle mouse or not}</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000080;">{..$Define OneByOne}</span><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{Block or byte style write}</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">unit</span><span class="f_CodeExample" style="color: #000000;"> CRT32;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Interface</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$IfDef Win32}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Const</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{ CRT modes of original CRT unit }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> BW40 = </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">; </span><span class="f_CodeExample" style="color: #000080;">{ 40x25 B/W on Color Adapter }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> CO40 = </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">; </span><span class="f_CodeExample" style="color: #000080;">{ 40x25 Color on Color Adapter }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> BW80 = </span><span class="f_CodeExample" style="color: #800000;">2</span><span class="f_CodeExample" style="color: #000000;">; </span><span class="f_CodeExample" style="color: #000080;">{ 80x25 B/W on Color Adapter }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> CO80 = </span><span class="f_CodeExample" style="color: #800000;">3</span><span class="f_CodeExample" style="color: #000000;">; </span><span class="f_CodeExample" style="color: #000080;">{ 80x25 Color on Color Adapter }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Mono = </span><span class="f_CodeExample" style="color: #800000;">7</span><span class="f_CodeExample" style="color: #000000;">; </span><span class="f_CodeExample" style="color: #000080;">{ 80x25 on Monochrome Adapter }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Font8x8 = </span><span class="f_CodeExample" style="color: #800000;">256</span><span class="f_CodeExample" style="color: #000000;">;</span><span class="f_CodeExample" style="color: #000080;">{ Add-in for ROM font }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{ Mode constants for 3.0 compatibility of original CRT unit }</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> C40 = CO40;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> C80 = CO80;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{ Foreground and background color constants of original CRT unit }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Black = </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Blue = </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Green = </span><span class="f_CodeExample" style="color: #800000;">2</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Cyan = </span><span class="f_CodeExample" style="color: #800000;">3</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Red = </span><span class="f_CodeExample" style="color: #800000;">4</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Magenta = </span><span class="f_CodeExample" style="color: #800000;">5</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Brown </span><span class="f_CodeExample" style="color: #800000;">6</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> LightGray = </span><span class="f_CodeExample" style="color: #800000;">7</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{ Foreground color constants of original CRT unit }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> DarkGray = </span><span class="f_CodeExample" style="color: #800000;">8</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> LightBlue = </span><span class="f_CodeExample" style="color: #800000;">9</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> LightGreen = </span><span class="f_CodeExample" style="color: #800000;">10</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> LightCyan = </span><span class="f_CodeExample" style="color: #800000;">11</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> LightRed = </span><span class="f_CodeExample" style="color: #800000;">12</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> LightMagenta = </span><span class="f_CodeExample" style="color: #800000;">13</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Yellow = </span><span class="f_CodeExample" style="color: #800000;">14</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> White = </span><span class="f_CodeExample" style="color: #800000;">15</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{ Add-in for blinking of original CRT unit }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Blink = </span><span class="f_CodeExample" style="color: #800000;">128</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{ }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{ New constans there are not in original CRT unit }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{ }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> MouseLeftButton = </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> MouseRightButton = </span><span class="f_CodeExample" style="color: #800000;">2</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> MouseCenterButton = </span><span class="f_CodeExample" style="color: #800000;">4</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ Interface variables of original CRT unit }</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> CheckBreak: Boolean; </span><span class="f_CodeExample" style="color: #000080;">{ Enable Ctrl-Break }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> CheckEOF: Boolean; </span><span class="f_CodeExample" style="color: #000080;">{ Enable Ctrl-Z }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> DirectVideo: Boolean; </span><span class="f_CodeExample" style="color: #000080;">{ Enable direct video addressing }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> CheckSnow: Boolean; </span><span class="f_CodeExample" style="color: #000080;">{ Enable snow filtering }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> LastMode: Word; </span><span class="f_CodeExample" style="color: #000080;">{ Current text mode }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> TextAttr: Byte; </span><span class="f_CodeExample" style="color: #000080;">{ Current text attribute }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> WindMin: Word; </span><span class="f_CodeExample" style="color: #000080;">{ Window upper left coordinates }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> WindMax: Word; </span><span class="f_CodeExample" style="color: #000080;">{ Window lower right coordinates }</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ New variables there are not in original CRT unit }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> MouseInstalled: boolean;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> MousePressedButtons: word;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ Interface functions & procedures of original CRT unit }</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> AssignCrt(</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">var</span><span class="f_CodeExample" style="color: #000000;"> F: Text);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> KeyPressed: Boolean;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> ReadKey: char;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TextMode(Mode: Integer);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> Window(X1, Y1, X2, Y2: Byte);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> GotoXY(X, Y: Byte);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> WhereX: Byte;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> WhereY: Byte;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> ClrScr;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> ClrEol;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> InsLine;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> DelLine;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TextColor(Color: Byte);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TextBackground(Color: Byte);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> LowVideo;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> HighVideo;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> NormVideo;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> Delay(MS: Word);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> Sound(Hz: Word);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> NoSound;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ New functions & procedures there are not in original CRT unit }</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> FillerScreen(FillChar: Char);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> FlushInputBuffer;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> GetCursor: Word;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> SetCursor(NewCursor: Word);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> MouseKeyPressed: Boolean;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> MouseGotoXY(X, Y: Integer);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> MouseWhereY: Integer;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> MouseWhereX: Integer;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> MouseShowCursor;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> MouseHideCursor;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ These functions & procedures are for inside use only }</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> MouseReset: Boolean;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> WriteChrXY(X, Y: Byte; Chr: char);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> WriteStrXY(X, Y: Byte; Str: PChar; dwSize: Integer);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> OverwriteChrXY(X, Y: Byte; Chr: char);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$EndIf Win32}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">implementation</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$IfDef Win32}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">uses</span><span class="f_CodeExample" style="color: #000000;"> Windows, SysUtils;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">type</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> POpenText = ^TOpenText;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> TOpenText = </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;">(</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">var</span><span class="f_CodeExample" style="color: #000000;"> F: Text; Mode: Word): Integer; </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">far</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> IsWinNT: boolean;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> PtrOpenText: POpenText;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> hConsoleInput: THandle;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> hConsoleOutput: THandle;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ConsoleScreenRect: TSmallRect;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> StartAttr: word;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> LastX, LastY: byte;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SoundDuration: integer;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SoundFrequency: integer;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> OldCP: integer;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> MouseRowWidth, MouseColWidth: word;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> MousePosX, MousePosY: smallInt;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> MouseButtonPressed: boolean;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> MouseEventTime: TDateTime;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ This function handles the Write and WriteLn commands }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> TextOut(</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">var</span><span class="f_CodeExample" style="color: #000000;"> F: Text): Integer; </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">far</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$IfDef OneByOne}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> dwSize: DWORD;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$EndIf}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">with</span><span class="f_CodeExample" style="color: #000000;"> TTExtRec(F) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">do</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> BufPos > </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> LastX := WhereX;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> LastY := WhereY;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #0000ff;">{$IfDef OneByOne}</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> dwSize := </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">while</span><span class="f_CodeExample" style="color: #000000;"> (dwSize < BufPos) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">do</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> WriteChrXY(LastX, LastY, BufPtr[dwSize]);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Inc(dwSize);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #0000ff;">{$Else}</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> WriteStrXY(LastX, LastY, BufPtr, BufPos);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> FillChar(BufPtr^, BufPos + </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #ff0000;">#0</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #0000ff;">{$EndIf}</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> BufPos := </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Result := </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ This function handles the exchanging of Input or Output }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> OpenText(</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">var</span><span class="f_CodeExample" style="color: #000000;"> F: Text; Mode: Word): Integer; </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">far</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> OpenResult: integer;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> OpenResult := </span><span class="f_CodeExample" style="color: #800000;">102</span><span class="f_CodeExample" style="color: #000000;">; </span><span class="f_CodeExample" style="color: #000080;">{ Text not assigned }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> Assigned(PtrOpenText) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> TTextRec(F).OpenFunc := PtrOpenText;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> OpenResult := PtrOpenText^(F, Mode);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> OpenResult = </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> Mode = fmInput </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> hConsoleInput := TTextRec(F).Handle</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">else</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> hConsoleOutput := TTextRec(F).Handle;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> TTextRec(Output).InOutFunc := @TextOut;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> TTextRec(Output).FlushFunc := @TextOut;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Result := OpenResult;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ Fills the current window with special character }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> FillerScreen(FillChar: Char);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Coord: TCoord;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> dwSize, dwCount: DWORD;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Y: integer;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Coord.X := ConsoleScreenRect.Left;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> dwSize := ConsoleScreenRect.Right - ConsoleScreenRect.Left + </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">for</span><span class="f_CodeExample" style="color: #000000;"> Y := ConsoleScreenRect.Top </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">to</span><span class="f_CodeExample" style="color: #000000;"> ConsoleScreenRect.Bottom </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">do</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Coord.Y := Y;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> FillConsoleOutputAttribute(hConsoleOutput, TextAttr, dwSize, Coord, dwCount);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> FillConsoleOutputCharacter(hConsoleOutput, FillChar, dwSize, Coord, dwCount);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> GotoXY(</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">,</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ Write one character at the X,Y position }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> WriteChrXY(X, Y: Byte; Chr: char);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Coord: TCoord;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> dwSize, dwCount: DWORD;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> LastX := X;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> LastY := Y;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">case</span><span class="f_CodeExample" style="color: #000000;"> Chr </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">of</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #ff0000;">#13</span><span class="f_CodeExample" style="color: #000000;">: LastX := </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #ff0000;">#10</span><span class="f_CodeExample" style="color: #000000;">:</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> LastX := </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Inc(LastY);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">else</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Coord.X := LastX - </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;"> + ConsoleScreenRect.Left;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Coord.Y := LastY - </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;"> + ConsoleScreenRect.Top;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> dwSize := </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> FillConsoleOutputAttribute(hConsoleOutput, TextAttr, dwSize, Coord, dwCount);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> FillConsoleOutputCharacter(hConsoleOutput, Chr, dwSize, Coord, dwCount);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Inc(LastX);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> (LastX + ConsoleScreenRect.Left) > (ConsoleScreenRect.Right + </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> LastX := </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Inc(LastY);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> (LastY + ConsoleScreenRect.Top) > (ConsoleScreenRect.Bottom + </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Dec(LastY);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> GotoXY(</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">,</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> DelLine;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GotoXY(LastX, LastY);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ Write string into the X,Y position }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ }</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">(* !!! The WriteConsoleOutput does </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">not</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">write</span><span class="f_CodeExample" style="color: #000000;"> into the last line !!!</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">Procedure</span><span class="f_CodeExample" style="color: #000000;"> WriteStrXY(X,Y: byte; Str: PChar; dwSize: integer );</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$IfDef OneByOne}</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">Var</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> dwCount: integer;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$Else}</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">Type</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> PBuffer= ^TBuffer;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> TBUffer= </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">packed</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">array</span><span class="f_CodeExample" style="color: #000000;"> [</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">..</span><span class="f_CodeExample" style="color: #800000;">16384</span><span class="f_CodeExample" style="color: #000000;">] </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">of</span><span class="f_CodeExample" style="color: #000000;"> TCharInfo;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">Var</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> I: integer;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> dwCount: DWORD;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> WidthHeight,Coord: TCoord;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> hTempConsoleOutput: THandle;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SecurityAttributes: TSecurityAttributes;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Buffer: PBuffer;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> DestinationScreenRect,SourceScreenRect: TSmallRect;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$EndIf}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">If</span><span class="f_CodeExample" style="color: #000000;"> dwSize></span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">Then</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">Begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #0000ff;">{$IfDef OneByOne}</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> LastX:=X;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> LastY:=Y;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> dwCount:=</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">While</span><span class="f_CodeExample" style="color: #000000;"> dwCount < dwSize </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">Do</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">Begin</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> WriteChrXY(LastX,LastY,Str[dwCount]);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Inc(dwCount);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">End</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #0000ff;">{$Else}</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SecurityAttributes.nLength:=SizeOf(SecurityAttributes)-SizeOf(DWORD);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> SecurityAttributes.lpSecurityDescriptor:=</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">NIL</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SecurityAttributes.bInheritHandle:=TRUE;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> hTempConsoleOutput:=CreateConsoleScreenBuffer(</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> GENERIC_</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">READ</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">OR</span><span class="f_CodeExample" style="color: #000000;"> GENERIC_</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">WRITE</span><span class="f_CodeExample" style="color: #000000;">,</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">FILE</span><span class="f_CodeExample" style="color: #000000;">_SHARE_</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">READ</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">OR</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">FILE</span><span class="f_CodeExample" style="color: #000000;">_SHARE_</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">WRITE</span><span class="f_CodeExample" style="color: #000000;">,</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> @SecurityAttributes,</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CONSOLE_TEXTMODE_BUFFER,</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">NIL</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> );</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">If</span><span class="f_CodeExample" style="color: #000000;"> dwSize<=(ConsoleScreenRect.Right-ConsoleScreenRect.Left+</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">Then</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">Begin</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> WidthHeight.X:=dwSize;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> WidthHeight.Y:=</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">End</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">Else</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">Begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> WidthHeight.X:=ConsoleScreenRect.Right-ConsoleScreenRect.Left+</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> WidthHeight.Y:=dwSize </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">DIV</span><span class="f_CodeExample" style="color: #000000;"> WidthHeight.X;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">If</span><span class="f_CodeExample" style="color: #000000;"> (dwSize </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">MOD</span><span class="f_CodeExample" style="color: #000000;"> WidthHeight.X) > </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">Then</span><span class="f_CodeExample" style="color: #000000;"> Inc(WidthHeight.Y);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">End</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SetConsoleScreenBufferSize(hTempConsoleOutput,WidthHeight);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> DestinationScreenRect.Left:=</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> DestinationScreenRect.Top:=</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> DestinationScreenRect.Right:=WidthHeight.X-</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> DestinationScreenRect.Bottom:=WidthHeight.Y-</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SetConsoleWindowInfo(hTempConsoleOutput,FALSE,DestinationScreenRect);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Coord.X:=</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">For</span><span class="f_CodeExample" style="color: #000000;"> I:=</span><span class="f_CodeExample" style="color: #800000;">1</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">To</span><span class="f_CodeExample" style="color: #000000;"> WidthHeight.Y </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">Do</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">Begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Coord.Y:=I-</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> FillConsoleOutputAttribute(hTempConsoleOutput,TextAttr,WidthHeight.X,Coord,dwCount);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> FillConsoleOutputCharacter(hTempConsoleOutput,</span><span class="f_CodeExample" style="color: #ff0000;">' '</span><span class="f_CodeExample" style="color: #000000;"> ,WidthHeight.X,Coord,dwCount);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">End</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> WriteConsole(hTempConsoleOutput,Str,dwSize,dwCount,</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">NIL</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{ }</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> New(Buffer);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Coord.X:= </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Coord.Y:= </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> SourceScreenRect.Left:=</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> SourceScreenRect.Top:=</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> SourceScreenRect.Right:=WidthHeight.X-</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> SourceScreenRect.Bottom:=WidthHeight.Y-</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ReadConsoleOutputA(hTempConsoleOutput,Buffer,WidthHeight,Coord,SourceScreenRect);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Coord.X:=X-</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Coord.Y:=Y-</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> DestinationScreenRect:=ConsoleScreenRect;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> WriteConsoleOutputA(hConsoleOutput,Buffer,WidthHeight,Coord,DestinationScreenRect);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> GotoXY((dwSize </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">MOD</span><span class="f_CodeExample" style="color: #000000;"> WidthHeight.X)-</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">,WidthHeight.Y+</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Dispose(Buffer);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{ }</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CloseHandle(hTempConsoleOutput);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #0000ff;">{$EndIf}</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">End</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">End</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">*)</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> WriteStrXY(X, Y: Byte; Str: PChar; dwSize: Integer);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$IfDef OneByOne}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> dwCount: integer;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$Else}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> I: integer;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> LineSize, dwCharCount, dwCount, dwWait: DWORD;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> WidthHeight: TCoord;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> OneLine: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">packed</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">array</span><span class="f_CodeExample" style="color: #000000;"> [</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">..</span><span class="f_CodeExample" style="color: #800000;">131</span><span class="f_CodeExample" style="color: #000000;">] </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">of</span><span class="f_CodeExample" style="color: #000000;"> char;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Line, TempStr: PChar;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> NewLine;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> LastX := </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Inc(LastY);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> (LastY + ConsoleScreenRect.Top) > (ConsoleScreenRect.Bottom + </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Dec(LastY);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> GotoXY(</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">,</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> DelLine;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GotoXY(LastX, LastY);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$EndIf}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> dwSize > </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #0000ff;">{$IfDef OneByOne}</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> LastX := X;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> LastY := Y;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> dwCount := </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">while</span><span class="f_CodeExample" style="color: #000000;"> dwCount < dwSize </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">do</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> WriteChrXY(LastX, LastY, Str[dwCount]);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Inc(dwCount);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #0000ff;">{$Else}</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> LastX := X;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> LastY := Y;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GotoXY(LastX, LastY);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> dwWait := dwSize;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> TempStr := Str;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">while</span><span class="f_CodeExample" style="color: #000000;"> (dwWait > </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">and</span><span class="f_CodeExample" style="color: #000000;"> (Pos(</span><span class="f_CodeExample" style="color: #ff0000;">#13#10</span><span class="f_CodeExample" style="color: #000000;">, StrPas(TempStr)) = </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">do</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Dec(dwWait, </span><span class="f_CodeExample" style="color: #800000;">2</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Inc(TempStr, </span><span class="f_CodeExample" style="color: #800000;">2</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> NewLine;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">while</span><span class="f_CodeExample" style="color: #000000;"> (dwWait > </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">and</span><span class="f_CodeExample" style="color: #000000;"> (Pos(</span><span class="f_CodeExample" style="color: #ff0000;">#10</span><span class="f_CodeExample" style="color: #000000;">, StrPas(TempStr)) = </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">do</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Dec(dwWait);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Inc(TempStr);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> NewLine;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> dwWait > </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> dwSize <= (ConsoleScreenRect.Right - ConsoleScreenRect.Left - LastX + </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> WidthHeight.X := dwSize + LastX - </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> WidthHeight.Y := </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">else</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> WidthHeight.X := ConsoleScreenRect.Right - ConsoleScreenRect.Left + </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> WidthHeight.Y := dwSize </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">div</span><span class="f_CodeExample" style="color: #000000;"> WidthHeight.X;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> (dwSize </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">mod</span><span class="f_CodeExample" style="color: #000000;"> WidthHeight.X) > </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span><span class="f_CodeExample" style="color: #000000;"> Inc(WidthHeight.Y);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">for</span><span class="f_CodeExample" style="color: #000000;"> I := </span><span class="f_CodeExample" style="color: #800000;">1</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">to</span><span class="f_CodeExample" style="color: #000000;"> WidthHeight.Y </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">do</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> FillChar(OneLine, SizeOf(OneLine), </span><span class="f_CodeExample" style="color: #ff0000;">#0</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Line := @OneLine;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> LineSize := WidthHeight.X - LastX + </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> LineSize > dwWait </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span><span class="f_CodeExample" style="color: #000000;"> LineSize := dwWait;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Dec(dwWait, LineSize);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> StrLCopy(Line, TempStr, LineSize);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Inc(TempStr, LineSize);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> dwCharCount := Pos(</span><span class="f_CodeExample" style="color: #ff0000;">#13#10</span><span class="f_CodeExample" style="color: #000000;">, StrPas(Line));</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> dwCharCount > </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> OneLine[dwCharCount - </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">] := </span><span class="f_CodeExample" style="color: #ff0000;">#0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> OneLine[dwCharCount] := </span><span class="f_CodeExample" style="color: #ff0000;">#0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> WriteConsole(hConsoleOutput, Line, dwCharCount - </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">,dwCount, </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Inc(Line, dwCharCount + </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> NewLine;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> LineSize := LineSize - (dwCharCount + </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">else</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> dwCharCount := Pos(</span><span class="f_CodeExample" style="color: #ff0000;">#10</span><span class="f_CodeExample" style="color: #000000;">, StrPas(Line));</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> dwCharCount > </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> OneLine[dwCharCount - </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">] := </span><span class="f_CodeExample" style="color: #ff0000;">#0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> WriteConsole(hConsoleOutput, Line, dwCharCount - </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">,dwCount, </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Inc(Line, dwCharCount);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> NewLine;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> LineSize := LineSize - dwCharCount;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> LineSize <> </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> WriteConsole(hConsoleOutput, Line, LineSize, dwCount, </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> dwWait > </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> NewLine;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #0000ff;">{$EndIf}</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ Empty the buffer }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> FlushInputBuffer;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> FlushConsoleInputBuffer(hConsoleInput);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ Get size of current cursor }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> GetCursor: Word;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CCI: TConsoleCursorInfo;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GetConsoleCursorInfo(hConsoleOutput, CCI);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GetCursor := CCI.dwSize;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ Set size of current cursor }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> SetCursor(NewCursor: Word);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CCI: TConsoleCursorInfo;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> NewCursor = </span><span class="f_CodeExample" style="color: #800000;">$0000</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CCI.dwSize := GetCursor;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CCI.bVisible := False;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">end</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">else</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CCI.dwSize := NewCursor;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CCI.bVisible := True;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SetConsoleCursorInfo(hConsoleOutput, CCI);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ --- Begin of Interface functions & procedures of original CRT unit --- }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> AssignCrt(</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">var</span><span class="f_CodeExample" style="color: #000000;"> F: Text);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Assign(F, </span><span class="f_CodeExample" style="color: #ff0000;">''</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> TTextRec(F).OpenFunc := @OpenText;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> KeyPressed: Boolean;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> NumberOfEvents: DWORD;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> NumRead: DWORD;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> InputRec: TInputRecord;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Pressed: boolean;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Pressed := False;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GetNumberOfConsoleInputEvents(hConsoleInput, NumberOfEvents);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> NumberOfEvents > </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> PeekConsoleInput(hConsoleInput, InputRec, </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">,NumRead) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> (InputRec.EventType = KEY_EVENT) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">and</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> (InputRec</span><span class="f_CodeExample" style="color: #0000ff;">{$IfDef NEW_STYLES}</span><span class="f_CodeExample" style="color: #000000;">.Event</span><span class="f_CodeExample" style="color: #0000ff;">{$EndIf}</span><span class="f_CodeExample" style="color: #000000;">.KeyEvent.bKeyDown) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Pressed := True;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #0000ff;">{$IfDef MOUSE_IS_USED}</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> MouseButtonPressed := False;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #0000ff;">{$EndIf}</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">else</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #0000ff;">{$IfDef MOUSE_IS_USED}</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> (InputRec.EventType = _MOUSE_EVENT) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">with</span><span class="f_CodeExample" style="color: #000000;"> InputRec</span><span class="f_CodeExample" style="color: #0000ff;">{$IfDef NEW_STYLES}</span><span class="f_CodeExample" style="color: #000000;">.Event</span><span class="f_CodeExample" style="color: #0000ff;">{$EndIf}</span><span class="f_CodeExample" style="color: #000000;">.MouseEvent </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">do</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> MousePosX := dwMousePosition.X;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> MousePosY := dwMousePosition.Y;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> dwButtonState = FROM_LEFT_1ST_BUTTON_PRESSED </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> MouseEventTime := Now;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> MouseButtonPressed := True;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{If (dwEventFlags AND DOUBLE_CLICK)<>0 Then Begin}</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{End;}</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> ReadConsoleInput(hConsoleInput, InputRec, </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">,NumRead);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #0000ff;">{$Else}</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> ReadConsoleInput(hConsoleInput, InputRec, </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">,NumRead);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #0000ff;">{$EndIf}</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Result := Pressed;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> ReadKey: char;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> NumRead: DWORD;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> InputRec: TInputRecord;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">repeat</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">repeat</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">until</span><span class="f_CodeExample" style="color: #000000;"> KeyPressed;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> ReadConsoleInput(hConsoleInput, InputRec, </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">,NumRead);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">until</span><span class="f_CodeExample" style="color: #000000;"> InputRec</span><span class="f_CodeExample" style="color: #0000ff;">{$IfDef NEW_STYLES}</span><span class="f_CodeExample" style="color: #000000;">.Event</span><span class="f_CodeExample" style="color: #0000ff;">{$EndIf}</span><span class="f_CodeExample" style="color: #000000;">.KeyEvent.AsciiChar > </span><span class="f_CodeExample" style="color: #ff0000;">#0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Result := InputRec</span><span class="f_CodeExample" style="color: #0000ff;">{$IfDef NEW_STYLES}</span><span class="f_CodeExample" style="color: #000000;">.Event</span><span class="f_CodeExample" style="color: #0000ff;">{$EndIf}</span><span class="f_CodeExample" style="color: #000000;">.KeyEvent.AsciiChar;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TextMode(Mode: Integer);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> Window(X1, Y1, X2, Y2: Byte);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> ConsoleScreenRect.Left := X1 - </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> ConsoleScreenRect.Top := Y1 - </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> ConsoleScreenRect.Right := X2 - </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> ConsoleScreenRect.Bottom := Y2 - </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> WindMin := (ConsoleScreenRect.Top </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">shl</span> <span class="f_CodeExample" style="color: #800000;">8</span><span class="f_CodeExample" style="color: #000000;">) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">or</span><span class="f_CodeExample" style="color: #000000;"> ConsoleScreenRect.Left;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> WindMax := (ConsoleScreenRect.Bottom </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">shl</span> <span class="f_CodeExample" style="color: #800000;">8</span><span class="f_CodeExample" style="color: #000000;">) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">or</span><span class="f_CodeExample" style="color: #000000;"> ConsoleScreenRect.Right;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$IfDef WindowFrameToo}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SetConsoleWindowInfo(hConsoleOutput, True, ConsoleScreenRect);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$EndIf}</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> GotoXY(</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">,</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> GotoXY(X, Y: Byte);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Coord: TCoord;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Coord.X := X - </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;"> + ConsoleScreenRect.Left;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Coord.Y := Y - </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;"> + ConsoleScreenRect.Top;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">not</span><span class="f_CodeExample" style="color: #000000;"> SetConsoleCursorPosition(hConsoleOutput, Coord) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> GotoXY(</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> DelLine;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> WhereX: Byte;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CBI: TConsoleScreenBufferInfo;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GetConsoleScreenBufferInfo(hConsoleOutput, CBI);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Result := TCoord(CBI.dwCursorPosition).X + </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;"> - ConsoleScreenRect.Left;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> WhereY: Byte;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CBI: TConsoleScreenBufferInfo;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GetConsoleScreenBufferInfo(hConsoleOutput, CBI);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Result := TCoord(CBI.dwCursorPosition).Y + </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;"> - ConsoleScreenRect.Top;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> ClrScr;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> FillerScreen(</span><span class="f_CodeExample" style="color: #ff0000;">' '</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> ClrEol;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Coord: TCoord;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> dwSize, dwCount: DWORD;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Coord.X := WhereX - </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;"> + ConsoleScreenRect.Left;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Coord.Y := WhereY - </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;"> + ConsoleScreenRect.Top;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> dwSize := ConsoleScreenRect.Right - Coord.X + </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> FillConsoleOutputAttribute(hConsoleOutput, TextAttr, dwSize, Coord, dwCount);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> FillConsoleOutputCharacter(hConsoleOutput, </span><span class="f_CodeExample" style="color: #ff0000;">' '</span><span class="f_CodeExample" style="color: #000000;">, dwSize, Coord, dwCount);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> InsLine;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SourceScreenRect: TSmallRect;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Coord: TCoord;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CI: TCharInfo;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> dwSize, dwCount: DWORD;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SourceScreenRect := ConsoleScreenRect;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> SourceScreenRect.Top := WhereY - </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;"> + ConsoleScreenRect.Top;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> SourceScreenRect.Bottom := ConsoleScreenRect.Bottom - </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> CI.AsciiChar := </span><span class="f_CodeExample" style="color: #ff0000;">' '</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CI.Attributes := TextAttr;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Coord.X := SourceScreenRect.Left;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Coord.Y := SourceScreenRect.Top + </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> dwSize := SourceScreenRect.Right - SourceScreenRect.Left + </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> ScrollConsoleScreenBuffer(hConsoleOutput, SourceScreenRect, </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span><span class="f_CodeExample" style="color: #000000;">, Coord, CI);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Dec(Coord.Y);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> FillConsoleOutputAttribute(hConsoleOutput, TextAttr, dwSize, Coord, dwCount);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> DelLine;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SourceScreenRect: TSmallRect;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Coord: TCoord;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CI: TCharinfo;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> dwSize, dwCount: DWORD;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SourceScreenRect := ConsoleScreenRect;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SourceScreenRect.Top := WhereY + ConsoleScreenRect.Top;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> CI.AsciiChar := </span><span class="f_CodeExample" style="color: #ff0000;">' '</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CI.Attributes := TextAttr;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Coord.X := SourceScreenRect.Left;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Coord.Y := SourceScreenRect.Top - </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> dwSize := SourceScreenRect.Right - SourceScreenRect.Left + </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> ScrollConsoleScreenBuffer(hConsoleOutput, SourceScreenRect, </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span><span class="f_CodeExample" style="color: #000000;">, Coord, CI);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> FillConsoleOutputAttribute(hConsoleOutput, TextAttr, dwSize, Coord, dwCount);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TextColor(Color: Byte);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> LastMode := TextAttr;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> TextAttr := (Color </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">and</span> <span class="f_CodeExample" style="color: #800000;">$0F</span><span class="f_CodeExample" style="color: #000000;">) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">or</span><span class="f_CodeExample" style="color: #000000;"> (TextAttr </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">and</span> <span class="f_CodeExample" style="color: #800000;">$F0</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SetConsoleTextAttribute(hConsoleOutput, TextAttr);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TextBackground(Color: Byte);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> LastMode := TextAttr;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> TextAttr := (Color </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">shl</span> <span class="f_CodeExample" style="color: #800000;">4</span><span class="f_CodeExample" style="color: #000000;">) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">or</span><span class="f_CodeExample" style="color: #000000;"> (TextAttr </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">and</span> <span class="f_CodeExample" style="color: #800000;">$0F</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SetConsoleTextAttribute(hConsoleOutput, TextAttr);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> LowVideo;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> LastMode := TextAttr;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> TextAttr := TextAttr </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">and</span> <span class="f_CodeExample" style="color: #800000;">$F7</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SetConsoleTextAttribute(hConsoleOutput, TextAttr);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> HighVideo;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> LastMode := TextAttr;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> TextAttr := TextAttr </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">or</span> <span class="f_CodeExample" style="color: #800000;">$08</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SetConsoleTextAttribute(hConsoleOutput, TextAttr);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> NormVideo;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> LastMode := TextAttr;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> TextAttr := StartAttr;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SetConsoleTextAttribute(hConsoleOutput, TextAttr);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> Delay(MS: Word);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Const</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Magic= $80000000;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> StartMS,CurMS,DeltaMS: DWORD;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Windows.SleepEx(MS, False); </span><span class="f_CodeExample" style="color: #000080;">// Windows.Sleep(MS);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> StartMS:= GetTickCount;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Repeat</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CurMS:= GetTickCount;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> If CurMS >= StartMS Then</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> DeltaMS:= CurMS - StartMS</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Else DeltaMS := (CurMS + Magic) - (StartMS - Magic);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Until MS<DeltaMS;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> }</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> Sound(Hz: Word);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{SetSoundIOPermissionMap(LocalIOPermission_ON);}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SoundFrequency := Hz;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> IsWinNT </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Windows.Beep(SoundFrequency, SoundDuration)</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">end</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">else</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">asm</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> mov BX,Hz</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> cmp BX,</span><span class="f_CodeExample" style="color: #800000;">0</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> jz @</span><span class="f_CodeExample" style="color: #800000;">2</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> mov AX,</span><span class="f_CodeExample" style="color: #800000;">$34DD</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> mov DX,</span><span class="f_CodeExample" style="color: #800000;">$0012</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> cmp DX,BX</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> jnb @</span><span class="f_CodeExample" style="color: #800000;">2</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">div</span><span class="f_CodeExample" style="color: #000000;"> BX</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> mov BX,AX</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{ Sound is On ? }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">in</span><span class="f_CodeExample" style="color: #000000;"> Al,</span><span class="f_CodeExample" style="color: #800000;">$61</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> test Al,</span><span class="f_CodeExample" style="color: #800000;">$03</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> jnz @</span><span class="f_CodeExample" style="color: #800000;">1</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{ Set Sound On }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">or</span><span class="f_CodeExample" style="color: #000000;"> Al,</span><span class="f_CodeExample" style="color: #800000;">03</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">out</span> <span class="f_CodeExample" style="color: #800000;">$61</span><span class="f_CodeExample" style="color: #000000;">,Al</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{ Timer Command }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> mov Al,</span><span class="f_CodeExample" style="color: #800000;">$B6</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">out</span> <span class="f_CodeExample" style="color: #800000;">$43</span><span class="f_CodeExample" style="color: #000000;">,Al</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{ Set Frequency }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> @</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">: mov Al,Bl</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">out</span> <span class="f_CodeExample" style="color: #800000;">$42</span><span class="f_CodeExample" style="color: #000000;">,Al</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> mov Al,Bh</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">out</span> <span class="f_CodeExample" style="color: #800000;">$42</span><span class="f_CodeExample" style="color: #000000;">,Al</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> @</span><span class="f_CodeExample" style="color: #800000;">2</span><span class="f_CodeExample" style="color: #000000;">:</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> NoSound;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> IsWinNT </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Windows.Beep(SoundFrequency, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">end</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">else</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">asm</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{ Set Sound On }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">in</span><span class="f_CodeExample" style="color: #000000;"> Al,</span><span class="f_CodeExample" style="color: #800000;">$61</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">and</span><span class="f_CodeExample" style="color: #000000;"> Al,</span><span class="f_CodeExample" style="color: #800000;">$FC</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">out</span> <span class="f_CodeExample" style="color: #800000;">$61</span><span class="f_CodeExample" style="color: #000000;">,Al</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{SetSoundIOPermissionMap(LocalIOPermission_OFF);}</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ --- End of Interface functions & procedures of original CRT unit --- }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> OverwriteChrXY(X, Y: Byte; Chr: char);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Coord: TCoord;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> dwSize, dwCount: DWORD;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> LastX := X;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> LastY := Y;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Coord.X := LastX - </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;"> + ConsoleScreenRect.Left;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Coord.Y := LastY - </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;"> + ConsoleScreenRect.Top;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> dwSize := </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> FillConsoleOutputAttribute(hConsoleOutput, TextAttr, dwSize, Coord, dwCount);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> FillConsoleOutputCharacter(hConsoleOutput, Chr, dwSize, Coord, dwCount);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GotoXY(LastX, LastY);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ -------------------------------------------------- }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ Console Event Handler }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$IfDef CRT_EVENT}</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> ConsoleEventProc(CtrlType: DWORD): Bool; </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">stdcall</span><span class="f_CodeExample" style="color: #000000;">; </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">far</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> S: </span><span class="f_CodeExample" style="color: #0000ff;">{$IfDef Win32}</span><span class="f_CodeExample" style="color: #000000;">ShortString</span><span class="f_CodeExample" style="color: #0000ff;">{$Else}</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">String</span><span class="f_CodeExample" style="color: #0000ff;">{$EndIf}</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">Message</span><span class="f_CodeExample" style="color: #000000;">: PChar;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">case</span><span class="f_CodeExample" style="color: #000000;"> CtrlType </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">of</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> CTRL_C_EVENT: S := </span><span class="f_CodeExample" style="color: #ff0000;">'CTRL_C_EVENT'</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> CTRL_BREAK_EVENT: S := </span><span class="f_CodeExample" style="color: #ff0000;">'CTRL_BREAK_EVENT'</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> CTRL_CLOSE_EVENT: S := </span><span class="f_CodeExample" style="color: #ff0000;">'CTRL_CLOSE_EVENT'</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> CTRL_LOGOFF_EVENT: S := </span><span class="f_CodeExample" style="color: #ff0000;">'CTRL_LOGOFF_EVENT'</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> CTRL_SHUTDOWN_EVENT: S := </span><span class="f_CodeExample" style="color: #ff0000;">'CTRL_SHUTDOWN_EVENT'</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">else</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> S := </span><span class="f_CodeExample" style="color: #ff0000;">'UNKNOWN_EVENT'</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> S := S + </span><span class="f_CodeExample" style="color: #ff0000;">' detected, but not handled.'</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">Message</span><span class="f_CodeExample" style="color: #000000;"> := @S;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Inc(</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">Message</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> MessageBox(</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">Message</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #ff0000;">'Win32 Console'</span><span class="f_CodeExample" style="color: #000000;">, MB_OK);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Result := True;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$EndIf}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> MouseReset: Boolean;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> MouseColWidth := </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> MouseRowWidth := </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Result := True;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> MouseShowCursor;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">const</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ShowMouseConsoleMode = ENABLE_MOUSE_INPUT;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> cMode: DWORD;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GetConsoleMode(hConsoleInput, cMode);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> (cMode </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">and</span><span class="f_CodeExample" style="color: #000000;"> ShowMouseConsoleMode) <> ShowMouseConsoleMode </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> cMode := cMode </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">or</span><span class="f_CodeExample" style="color: #000000;"> ShowMouseConsoleMode;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SetConsoleMode(hConsoleInput, cMode);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> MouseHideCursor;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">const</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ShowMouseConsoleMode = ENABLE_MOUSE_INPUT;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> cMode: DWORD;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GetConsoleMode(hConsoleInput, cMode);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> (cMode </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">and</span><span class="f_CodeExample" style="color: #000000;"> ShowMouseConsoleMode) = ShowMouseConsoleMode </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> cMode := cMode </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">and</span><span class="f_CodeExample" style="color: #000000;"> (</span><span class="f_CodeExample" style="color: #800000;">$FFFFFFFF</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">xor</span><span class="f_CodeExample" style="color: #000000;"> ShowMouseConsoleMode);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SetConsoleMode(hConsoleInput, cMode);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> MouseKeyPressed: Boolean;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$IfDef MOUSE_IS_USED}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">const</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> MouseDeltaTime = </span><span class="f_CodeExample" style="color: #800000;">200</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ActualTime: TDateTime;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> HourA, HourM, MinA, MinM, SecA, SecM, MSecA, MSecM: word;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> MSecTimeA, MSecTimeM: longInt;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> MSecDelta: longInt;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$EndIf}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> MousePressedButtons := </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$IfDef MOUSE_IS_USED}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Result := False;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> MouseButtonPressed </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ActualTime := NOW;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> DecodeTime(ActualTime, HourA, MinA, SecA, MSecA);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> DecodeTime(MouseEventTime, HourM, MinM, SecM, MSecM);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> MSecTimeA := (</span><span class="f_CodeExample" style="color: #800000;">3600</span><span class="f_CodeExample" style="color: #000000;"> * HourA + </span><span class="f_CodeExample" style="color: #800000;">60</span><span class="f_CodeExample" style="color: #000000;"> * MinA + SecA) * </span><span class="f_CodeExample" style="color: #800000;">100</span><span class="f_CodeExample" style="color: #000000;"> + MSecA;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> MSecTimeM := (</span><span class="f_CodeExample" style="color: #800000;">3600</span><span class="f_CodeExample" style="color: #000000;"> * HourM + </span><span class="f_CodeExample" style="color: #800000;">60</span><span class="f_CodeExample" style="color: #000000;"> * MinM + SecM) * </span><span class="f_CodeExample" style="color: #800000;">100</span><span class="f_CodeExample" style="color: #000000;"> + MSecM;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> MSecDelta := Abs(MSecTimeM - MSecTimeA);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> (MSecDelta < MouseDeltaTime) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">or</span><span class="f_CodeExample" style="color: #000000;"> (MSecDelta > (</span><span class="f_CodeExample" style="color: #800000;">8784000</span><span class="f_CodeExample" style="color: #000000;"> - MouseDeltaTime)) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> MousePressedButtons := MouseLeftButton;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> MouseButtonPressed := False;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Result := True;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$Else}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Result := False;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$EndIf}</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> MouseGotoXY(X, Y: Integer);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$IfDef MOUSE_IS_USED}</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> mouse_event(MOUSEEVENTF_</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">ABSOLUTE</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">or</span><span class="f_CodeExample" style="color: #000000;"> MOUSEEVENTF_MOVE,</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> X - </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">,Y - </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">,WHEEL_DELTA, GetMessageExtraInfo());</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> MousePosY := (Y - </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">) * MouseRowWidth;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> MousePosX := (X - </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">) * MouseColWidth;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$EndIf}</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> MouseWhereY: Integer;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$IfDef MOUSE_IS_USED}</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{Var</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> lppt, lpptBuf: TMouseMovePoint;}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$EndIf}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$IfDef MOUSE_IS_USED}</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{GetMouseMovePoints(</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SizeOf(TMouseMovePoint), lppt, lpptBuf,</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> 7,GMMP_USE_DRIVER_POINTS</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> );</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Result:=lpptBuf.Y DIV MouseRowWidth;}</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Result := (MousePosY </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">div</span><span class="f_CodeExample" style="color: #000000;"> MouseRowWidth) + </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$Else}</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Result := -</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$EndIf}</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> MouseWhereX: Integer;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$IfDef MOUSE_IS_USED}</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{Var</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> lppt, lpptBuf: TMouseMovePoint;}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$EndIf}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$IfDef MOUSE_IS_USED}</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{GetMouseMovePoints(</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SizeOf(TMouseMovePoint), lppt, lpptBuf,</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> 7,GMMP_USE_DRIVER_POINTS</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> );</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Result:=lpptBuf.X DIV MouseColWidth;}</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Result := (MousePosX </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">div</span><span class="f_CodeExample" style="color: #000000;"> MouseColWidth) + </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$Else}</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Result := -</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$EndIf}</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> Init;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">const</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> ExtInpConsoleMode = ENABLE_WINDOW_INPUT </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">or</span><span class="f_CodeExample" style="color: #000000;"> ENABLE_PROCESSED_INPUT </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">or</span><span class="f_CodeExample" style="color: #000000;"> ENABLE_MOUSE_INPUT;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> ExtOutConsoleMode = ENABLE_PROCESSED_OUTPUT </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">or</span><span class="f_CodeExample" style="color: #000000;"> ENABLE_WRAP_AT_EOL_OUTPUT;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> cMode: DWORD;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Coord: TCoord;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> OSVersion: TOSVersionInfo;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CBI: TConsoleScreenBufferInfo;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> OSVersion.dwOSVersionInfoSize := SizeOf(TOSVersionInfo);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GetVersionEx(OSVersion);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> OSVersion.dwPlatformId = VER_PLATFORM_WIN32_NT </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> IsWinNT := True</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">else</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> IsWinNT := False;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> PtrOpenText := TTextRec(Output).OpenFunc;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$IfDef HARD_CRT}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> AllocConsole;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Reset(Input);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> hConsoleInput := GetStdHandle(STD_INPUT_HANDLE);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> TTextRec(Input).Handle := hConsoleInput;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ReWrite(Output);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> hConsoleOutput := GetStdHandle(STD_OUTPUT_HANDLE);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> TTextRec(Output).Handle := hConsoleOutput;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$Else}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Reset(Input);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> hConsoleInput := TTextRec(Input).Handle;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ReWrite(Output);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> hConsoleOutput := TTextRec(Output).Handle;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$EndIf}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GetConsoleMode(hConsoleInput, cMode);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> (cMode </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">and</span><span class="f_CodeExample" style="color: #000000;"> ExtInpConsoleMode) <> ExtInpConsoleMode </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> cMode := cMode </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">or</span><span class="f_CodeExample" style="color: #000000;"> ExtInpConsoleMode;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SetConsoleMode(hConsoleInput, cMode);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> TTextRec(Output).InOutFunc := @TextOut;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> TTextRec(Output).FlushFunc := @TextOut;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GetConsoleScreenBufferInfo(hConsoleOutput, CBI);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GetConsoleMode(hConsoleOutput, cMode);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> (cMode </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">and</span><span class="f_CodeExample" style="color: #000000;"> ExtOutConsoleMode) <> ExtOutConsoleMode </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> cMode := cMode </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">or</span><span class="f_CodeExample" style="color: #000000;"> ExtOutConsoleMode;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SetConsoleMode(hConsoleOutput, cMode);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> TextAttr := CBI.wAttributes;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> StartAttr := CBI.wAttributes;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> LastMode := CBI.wAttributes;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Coord.X := CBI.srWindow.Left;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Coord.Y := CBI.srWindow.Top;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> WindMin := (Coord.Y </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">shl</span> <span class="f_CodeExample" style="color: #800000;">8</span><span class="f_CodeExample" style="color: #000000;">) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">or</span><span class="f_CodeExample" style="color: #000000;"> Coord.X;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Coord.X := CBI.srWindow.Right;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Coord.Y := CBI.srWindow.Bottom;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> WindMax := (Coord.Y </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">shl</span> <span class="f_CodeExample" style="color: #800000;">8</span><span class="f_CodeExample" style="color: #000000;">) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">or</span><span class="f_CodeExample" style="color: #000000;"> Coord.X;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ConsoleScreenRect := CBI.srWindow;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> SoundDuration := -</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> OldCp := GetConsoleOutputCP;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> SetConsoleOutputCP(</span><span class="f_CodeExample" style="color: #800000;">1250</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$IfDef CRT_EVENT}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SetConsoleCtrlHandler(@ConsoleEventProc, True);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$EndIf}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$IfDef MOUSE_IS_USED}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SetCapture(hConsoleInput);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> KeyPressed;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$EndIf}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> MouseInstalled := MouseReset;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Window(</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">,</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">,</span><span class="f_CodeExample" style="color: #800000;">80</span><span class="f_CodeExample" style="color: #000000;">,</span><span class="f_CodeExample" style="color: #800000;">25</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ClrScr;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> Done;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$IfDef CRT_EVENT}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SetConsoleCtrlHandler(@ConsoleEventProc, False);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$EndIf}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SetConsoleOutputCP(OldCP);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> TextAttr := StartAttr;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SetConsoleTextAttribute(hConsoleOutput, TextAttr);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ClrScr;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> FlushInputBuffer;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$IfDef HARD_CRT}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> TTextRec(Input).Mode := fmClosed;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> TTextRec(Output).Mode := fmClosed;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> FreeConsole;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$Else}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Close(Input);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Close(Output);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$EndIf}</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">initialization</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Init;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">finalization</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Done;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$Endif win32}</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">.</span></span></p>
</td>
</tr>
</tbody>
</table>
</div>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<div style="margin: 0px; padding: 0px; text-align: left; text-indent: 0px;">
<table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4">
<tbody>
<tr align="left" valign="top">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p>
</td>
</tr>
<tr align="left">
<td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;">
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">$IfDef VER130}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$Define NEW_STYLES}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$EndIf}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$IfDef VER140}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$Define NEW_STYLES}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$EndIf}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000080;">{..$Define HARD_CRT}</span><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{Redirect STD_...}</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000080;">{..$Define CRT_EVENT}</span><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{CTRL-C,...}</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #0000ff;">{$Define MOUSE_IS_USED}</span><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{Handle mouse or not}</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000080;">{..$Define OneByOne}</span><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{Block or byte style write}</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">unit</span><span class="f_CodeExample" style="color: #000000;"> CRT32;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Interface</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$IfDef Win32}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Const</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{ CRT modes of original CRT unit }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> BW40 = </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">; </span><span class="f_CodeExample" style="color: #000080;">{ 40x25 B/W on Color Adapter }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> CO40 = </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">; </span><span class="f_CodeExample" style="color: #000080;">{ 40x25 Color on Color Adapter }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> BW80 = </span><span class="f_CodeExample" style="color: #800000;">2</span><span class="f_CodeExample" style="color: #000000;">; </span><span class="f_CodeExample" style="color: #000080;">{ 80x25 B/W on Color Adapter }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> CO80 = </span><span class="f_CodeExample" style="color: #800000;">3</span><span class="f_CodeExample" style="color: #000000;">; </span><span class="f_CodeExample" style="color: #000080;">{ 80x25 Color on Color Adapter }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Mono = </span><span class="f_CodeExample" style="color: #800000;">7</span><span class="f_CodeExample" style="color: #000000;">; </span><span class="f_CodeExample" style="color: #000080;">{ 80x25 on Monochrome Adapter }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Font8x8 = </span><span class="f_CodeExample" style="color: #800000;">256</span><span class="f_CodeExample" style="color: #000000;">;</span><span class="f_CodeExample" style="color: #000080;">{ Add-in for ROM font }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{ Mode constants for 3.0 compatibility of original CRT unit }</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> C40 = CO40;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> C80 = CO80;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{ Foreground and background color constants of original CRT unit }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Black = </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Blue = </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Green = </span><span class="f_CodeExample" style="color: #800000;">2</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Cyan = </span><span class="f_CodeExample" style="color: #800000;">3</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Red = </span><span class="f_CodeExample" style="color: #800000;">4</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Magenta = </span><span class="f_CodeExample" style="color: #800000;">5</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Brown </span><span class="f_CodeExample" style="color: #800000;">6</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> LightGray = </span><span class="f_CodeExample" style="color: #800000;">7</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{ Foreground color constants of original CRT unit }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> DarkGray = </span><span class="f_CodeExample" style="color: #800000;">8</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> LightBlue = </span><span class="f_CodeExample" style="color: #800000;">9</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> LightGreen = </span><span class="f_CodeExample" style="color: #800000;">10</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> LightCyan = </span><span class="f_CodeExample" style="color: #800000;">11</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> LightRed = </span><span class="f_CodeExample" style="color: #800000;">12</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> LightMagenta = </span><span class="f_CodeExample" style="color: #800000;">13</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Yellow = </span><span class="f_CodeExample" style="color: #800000;">14</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> White = </span><span class="f_CodeExample" style="color: #800000;">15</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{ Add-in for blinking of original CRT unit }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Blink = </span><span class="f_CodeExample" style="color: #800000;">128</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{ }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{ New constans there are not in original CRT unit }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{ }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> MouseLeftButton = </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> MouseRightButton = </span><span class="f_CodeExample" style="color: #800000;">2</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> MouseCenterButton = </span><span class="f_CodeExample" style="color: #800000;">4</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ Interface variables of original CRT unit }</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> CheckBreak: Boolean; </span><span class="f_CodeExample" style="color: #000080;">{ Enable Ctrl-Break }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> CheckEOF: Boolean; </span><span class="f_CodeExample" style="color: #000080;">{ Enable Ctrl-Z }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> DirectVideo: Boolean; </span><span class="f_CodeExample" style="color: #000080;">{ Enable direct video addressing }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> CheckSnow: Boolean; </span><span class="f_CodeExample" style="color: #000080;">{ Enable snow filtering }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> LastMode: Word; </span><span class="f_CodeExample" style="color: #000080;">{ Current text mode }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> TextAttr: Byte; </span><span class="f_CodeExample" style="color: #000080;">{ Current text attribute }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> WindMin: Word; </span><span class="f_CodeExample" style="color: #000080;">{ Window upper left coordinates }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> WindMax: Word; </span><span class="f_CodeExample" style="color: #000080;">{ Window lower right coordinates }</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ New variables there are not in original CRT unit }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> MouseInstalled: boolean;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> MousePressedButtons: word;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ Interface functions & procedures of original CRT unit }</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> AssignCrt(</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">var</span><span class="f_CodeExample" style="color: #000000;"> F: Text);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> KeyPressed: Boolean;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> ReadKey: char;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TextMode(Mode: Integer);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> Window(X1, Y1, X2, Y2: Byte);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> GotoXY(X, Y: Byte);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> WhereX: Byte;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> WhereY: Byte;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> ClrScr;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> ClrEol;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> InsLine;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> DelLine;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TextColor(Color: Byte);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TextBackground(Color: Byte);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> LowVideo;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> HighVideo;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> NormVideo;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> Delay(MS: Word);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> Sound(Hz: Word);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> NoSound;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ New functions & procedures there are not in original CRT unit }</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> FillerScreen(FillChar: Char);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> FlushInputBuffer;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> GetCursor: Word;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> SetCursor(NewCursor: Word);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> MouseKeyPressed: Boolean;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> MouseGotoXY(X, Y: Integer);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> MouseWhereY: Integer;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> MouseWhereX: Integer;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> MouseShowCursor;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> MouseHideCursor;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ These functions & procedures are for inside use only }</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> MouseReset: Boolean;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> WriteChrXY(X, Y: Byte; Chr: char);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> WriteStrXY(X, Y: Byte; Str: PChar; dwSize: Integer);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> OverwriteChrXY(X, Y: Byte; Chr: char);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$EndIf Win32}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">implementation</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$IfDef Win32}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">uses</span><span class="f_CodeExample" style="color: #000000;"> Windows, SysUtils;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">type</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> POpenText = ^TOpenText;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> TOpenText = </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;">(</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">var</span><span class="f_CodeExample" style="color: #000000;"> F: Text; Mode: Word): Integer; </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">far</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> IsWinNT: boolean;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> PtrOpenText: POpenText;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> hConsoleInput: THandle;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> hConsoleOutput: THandle;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ConsoleScreenRect: TSmallRect;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> StartAttr: word;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> LastX, LastY: byte;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SoundDuration: integer;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SoundFrequency: integer;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> OldCP: integer;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> MouseRowWidth, MouseColWidth: word;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> MousePosX, MousePosY: smallInt;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> MouseButtonPressed: boolean;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> MouseEventTime: TDateTime;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ This function handles the Write and WriteLn commands }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> TextOut(</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">var</span><span class="f_CodeExample" style="color: #000000;"> F: Text): Integer; </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">far</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$IfDef OneByOne}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> dwSize: DWORD;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$EndIf}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">with</span><span class="f_CodeExample" style="color: #000000;"> TTExtRec(F) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">do</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> BufPos > </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> LastX := WhereX;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> LastY := WhereY;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #0000ff;">{$IfDef OneByOne}</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> dwSize := </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">while</span><span class="f_CodeExample" style="color: #000000;"> (dwSize < BufPos) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">do</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> WriteChrXY(LastX, LastY, BufPtr[dwSize]);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Inc(dwSize);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #0000ff;">{$Else}</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> WriteStrXY(LastX, LastY, BufPtr, BufPos);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> FillChar(BufPtr^, BufPos + </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #ff0000;">#0</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #0000ff;">{$EndIf}</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> BufPos := </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Result := </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ This function handles the exchanging of Input or Output }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> OpenText(</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">var</span><span class="f_CodeExample" style="color: #000000;"> F: Text; Mode: Word): Integer; </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">far</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> OpenResult: integer;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> OpenResult := </span><span class="f_CodeExample" style="color: #800000;">102</span><span class="f_CodeExample" style="color: #000000;">; </span><span class="f_CodeExample" style="color: #000080;">{ Text not assigned }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> Assigned(PtrOpenText) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> TTextRec(F).OpenFunc := PtrOpenText;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> OpenResult := PtrOpenText^(F, Mode);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> OpenResult = </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> Mode = fmInput </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> hConsoleInput := TTextRec(F).Handle</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">else</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> hConsoleOutput := TTextRec(F).Handle;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> TTextRec(Output).InOutFunc := @TextOut;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> TTextRec(Output).FlushFunc := @TextOut;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Result := OpenResult;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ Fills the current window with special character }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> FillerScreen(FillChar: Char);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Coord: TCoord;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> dwSize, dwCount: DWORD;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Y: integer;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Coord.X := ConsoleScreenRect.Left;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> dwSize := ConsoleScreenRect.Right - ConsoleScreenRect.Left + </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">for</span><span class="f_CodeExample" style="color: #000000;"> Y := ConsoleScreenRect.Top </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">to</span><span class="f_CodeExample" style="color: #000000;"> ConsoleScreenRect.Bottom </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">do</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Coord.Y := Y;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> FillConsoleOutputAttribute(hConsoleOutput, TextAttr, dwSize, Coord, dwCount);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> FillConsoleOutputCharacter(hConsoleOutput, FillChar, dwSize, Coord, dwCount);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> GotoXY(</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">,</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ Write one character at the X,Y position }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> WriteChrXY(X, Y: Byte; Chr: char);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Coord: TCoord;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> dwSize, dwCount: DWORD;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> LastX := X;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> LastY := Y;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">case</span><span class="f_CodeExample" style="color: #000000;"> Chr </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">of</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #ff0000;">#13</span><span class="f_CodeExample" style="color: #000000;">: LastX := </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #ff0000;">#10</span><span class="f_CodeExample" style="color: #000000;">:</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> LastX := </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Inc(LastY);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">else</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Coord.X := LastX - </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;"> + ConsoleScreenRect.Left;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Coord.Y := LastY - </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;"> + ConsoleScreenRect.Top;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> dwSize := </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> FillConsoleOutputAttribute(hConsoleOutput, TextAttr, dwSize, Coord, dwCount);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> FillConsoleOutputCharacter(hConsoleOutput, Chr, dwSize, Coord, dwCount);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Inc(LastX);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> (LastX + ConsoleScreenRect.Left) > (ConsoleScreenRect.Right + </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> LastX := </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Inc(LastY);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> (LastY + ConsoleScreenRect.Top) > (ConsoleScreenRect.Bottom + </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Dec(LastY);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> GotoXY(</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">,</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> DelLine;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GotoXY(LastX, LastY);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ Write string into the X,Y position }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ }</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">(* !!! The WriteConsoleOutput does </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">not</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">write</span><span class="f_CodeExample" style="color: #000000;"> into the last line !!!</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">Procedure</span><span class="f_CodeExample" style="color: #000000;"> WriteStrXY(X,Y: byte; Str: PChar; dwSize: integer );</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$IfDef OneByOne}</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">Var</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> dwCount: integer;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$Else}</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">Type</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> PBuffer= ^TBuffer;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> TBUffer= </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">packed</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">array</span><span class="f_CodeExample" style="color: #000000;"> [</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">..</span><span class="f_CodeExample" style="color: #800000;">16384</span><span class="f_CodeExample" style="color: #000000;">] </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">of</span><span class="f_CodeExample" style="color: #000000;"> TCharInfo;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">Var</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> I: integer;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> dwCount: DWORD;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> WidthHeight,Coord: TCoord;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> hTempConsoleOutput: THandle;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SecurityAttributes: TSecurityAttributes;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Buffer: PBuffer;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> DestinationScreenRect,SourceScreenRect: TSmallRect;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$EndIf}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">If</span><span class="f_CodeExample" style="color: #000000;"> dwSize></span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">Then</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">Begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #0000ff;">{$IfDef OneByOne}</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> LastX:=X;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> LastY:=Y;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> dwCount:=</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">While</span><span class="f_CodeExample" style="color: #000000;"> dwCount < dwSize </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">Do</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">Begin</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> WriteChrXY(LastX,LastY,Str[dwCount]);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Inc(dwCount);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">End</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #0000ff;">{$Else}</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SecurityAttributes.nLength:=SizeOf(SecurityAttributes)-SizeOf(DWORD);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> SecurityAttributes.lpSecurityDescriptor:=</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">NIL</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SecurityAttributes.bInheritHandle:=TRUE;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> hTempConsoleOutput:=CreateConsoleScreenBuffer(</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> GENERIC_</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">READ</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">OR</span><span class="f_CodeExample" style="color: #000000;"> GENERIC_</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">WRITE</span><span class="f_CodeExample" style="color: #000000;">,</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">FILE</span><span class="f_CodeExample" style="color: #000000;">_SHARE_</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">READ</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">OR</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">FILE</span><span class="f_CodeExample" style="color: #000000;">_SHARE_</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">WRITE</span><span class="f_CodeExample" style="color: #000000;">,</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> @SecurityAttributes,</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CONSOLE_TEXTMODE_BUFFER,</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">NIL</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> );</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">If</span><span class="f_CodeExample" style="color: #000000;"> dwSize<=(ConsoleScreenRect.Right-ConsoleScreenRect.Left+</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">Then</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">Begin</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> WidthHeight.X:=dwSize;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> WidthHeight.Y:=</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">End</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">Else</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">Begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> WidthHeight.X:=ConsoleScreenRect.Right-ConsoleScreenRect.Left+</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> WidthHeight.Y:=dwSize </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">DIV</span><span class="f_CodeExample" style="color: #000000;"> WidthHeight.X;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">If</span><span class="f_CodeExample" style="color: #000000;"> (dwSize </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">MOD</span><span class="f_CodeExample" style="color: #000000;"> WidthHeight.X) > </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">Then</span><span class="f_CodeExample" style="color: #000000;"> Inc(WidthHeight.Y);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">End</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SetConsoleScreenBufferSize(hTempConsoleOutput,WidthHeight);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> DestinationScreenRect.Left:=</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> DestinationScreenRect.Top:=</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> DestinationScreenRect.Right:=WidthHeight.X-</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> DestinationScreenRect.Bottom:=WidthHeight.Y-</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SetConsoleWindowInfo(hTempConsoleOutput,FALSE,DestinationScreenRect);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Coord.X:=</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">For</span><span class="f_CodeExample" style="color: #000000;"> I:=</span><span class="f_CodeExample" style="color: #800000;">1</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">To</span><span class="f_CodeExample" style="color: #000000;"> WidthHeight.Y </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">Do</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">Begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Coord.Y:=I-</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> FillConsoleOutputAttribute(hTempConsoleOutput,TextAttr,WidthHeight.X,Coord,dwCount);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> FillConsoleOutputCharacter(hTempConsoleOutput,</span><span class="f_CodeExample" style="color: #ff0000;">' '</span><span class="f_CodeExample" style="color: #000000;"> ,WidthHeight.X,Coord,dwCount);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">End</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> WriteConsole(hTempConsoleOutput,Str,dwSize,dwCount,</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">NIL</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{ }</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> New(Buffer);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Coord.X:= </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Coord.Y:= </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> SourceScreenRect.Left:=</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> SourceScreenRect.Top:=</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> SourceScreenRect.Right:=WidthHeight.X-</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> SourceScreenRect.Bottom:=WidthHeight.Y-</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ReadConsoleOutputA(hTempConsoleOutput,Buffer,WidthHeight,Coord,SourceScreenRect);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Coord.X:=X-</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Coord.Y:=Y-</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> DestinationScreenRect:=ConsoleScreenRect;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> WriteConsoleOutputA(hConsoleOutput,Buffer,WidthHeight,Coord,DestinationScreenRect);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> GotoXY((dwSize </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">MOD</span><span class="f_CodeExample" style="color: #000000;"> WidthHeight.X)-</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">,WidthHeight.Y+</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Dispose(Buffer);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{ }</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CloseHandle(hTempConsoleOutput);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #0000ff;">{$EndIf}</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">End</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">End</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">*)</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> WriteStrXY(X, Y: Byte; Str: PChar; dwSize: Integer);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$IfDef OneByOne}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> dwCount: integer;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$Else}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> I: integer;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> LineSize, dwCharCount, dwCount, dwWait: DWORD;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> WidthHeight: TCoord;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> OneLine: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">packed</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">array</span><span class="f_CodeExample" style="color: #000000;"> [</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">..</span><span class="f_CodeExample" style="color: #800000;">131</span><span class="f_CodeExample" style="color: #000000;">] </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">of</span><span class="f_CodeExample" style="color: #000000;"> char;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Line, TempStr: PChar;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> NewLine;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> LastX := </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Inc(LastY);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> (LastY + ConsoleScreenRect.Top) > (ConsoleScreenRect.Bottom + </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Dec(LastY);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> GotoXY(</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">,</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> DelLine;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GotoXY(LastX, LastY);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$EndIf}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> dwSize > </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #0000ff;">{$IfDef OneByOne}</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> LastX := X;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> LastY := Y;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> dwCount := </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">while</span><span class="f_CodeExample" style="color: #000000;"> dwCount < dwSize </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">do</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> WriteChrXY(LastX, LastY, Str[dwCount]);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Inc(dwCount);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #0000ff;">{$Else}</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> LastX := X;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> LastY := Y;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GotoXY(LastX, LastY);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> dwWait := dwSize;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> TempStr := Str;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">while</span><span class="f_CodeExample" style="color: #000000;"> (dwWait > </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">and</span><span class="f_CodeExample" style="color: #000000;"> (Pos(</span><span class="f_CodeExample" style="color: #ff0000;">#13#10</span><span class="f_CodeExample" style="color: #000000;">, StrPas(TempStr)) = </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">do</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Dec(dwWait, </span><span class="f_CodeExample" style="color: #800000;">2</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Inc(TempStr, </span><span class="f_CodeExample" style="color: #800000;">2</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> NewLine;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">while</span><span class="f_CodeExample" style="color: #000000;"> (dwWait > </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">and</span><span class="f_CodeExample" style="color: #000000;"> (Pos(</span><span class="f_CodeExample" style="color: #ff0000;">#10</span><span class="f_CodeExample" style="color: #000000;">, StrPas(TempStr)) = </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">do</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Dec(dwWait);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Inc(TempStr);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> NewLine;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> dwWait > </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> dwSize <= (ConsoleScreenRect.Right - ConsoleScreenRect.Left - LastX + </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> WidthHeight.X := dwSize + LastX - </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> WidthHeight.Y := </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">else</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> WidthHeight.X := ConsoleScreenRect.Right - ConsoleScreenRect.Left + </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> WidthHeight.Y := dwSize </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">div</span><span class="f_CodeExample" style="color: #000000;"> WidthHeight.X;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> (dwSize </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">mod</span><span class="f_CodeExample" style="color: #000000;"> WidthHeight.X) > </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span><span class="f_CodeExample" style="color: #000000;"> Inc(WidthHeight.Y);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">for</span><span class="f_CodeExample" style="color: #000000;"> I := </span><span class="f_CodeExample" style="color: #800000;">1</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">to</span><span class="f_CodeExample" style="color: #000000;"> WidthHeight.Y </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">do</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> FillChar(OneLine, SizeOf(OneLine), </span><span class="f_CodeExample" style="color: #ff0000;">#0</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Line := @OneLine;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> LineSize := WidthHeight.X - LastX + </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> LineSize > dwWait </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span><span class="f_CodeExample" style="color: #000000;"> LineSize := dwWait;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Dec(dwWait, LineSize);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> StrLCopy(Line, TempStr, LineSize);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Inc(TempStr, LineSize);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> dwCharCount := Pos(</span><span class="f_CodeExample" style="color: #ff0000;">#13#10</span><span class="f_CodeExample" style="color: #000000;">, StrPas(Line));</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> dwCharCount > </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> OneLine[dwCharCount - </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">] := </span><span class="f_CodeExample" style="color: #ff0000;">#0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> OneLine[dwCharCount] := </span><span class="f_CodeExample" style="color: #ff0000;">#0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> WriteConsole(hConsoleOutput, Line, dwCharCount - </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">,dwCount, </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Inc(Line, dwCharCount + </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> NewLine;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> LineSize := LineSize - (dwCharCount + </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">else</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> dwCharCount := Pos(</span><span class="f_CodeExample" style="color: #ff0000;">#10</span><span class="f_CodeExample" style="color: #000000;">, StrPas(Line));</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> dwCharCount > </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> OneLine[dwCharCount - </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">] := </span><span class="f_CodeExample" style="color: #ff0000;">#0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> WriteConsole(hConsoleOutput, Line, dwCharCount - </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">,dwCount, </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Inc(Line, dwCharCount);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> NewLine;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> LineSize := LineSize - dwCharCount;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> LineSize <> </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> WriteConsole(hConsoleOutput, Line, LineSize, dwCount, </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> dwWait > </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> NewLine;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #0000ff;">{$EndIf}</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ Empty the buffer }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> FlushInputBuffer;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> FlushConsoleInputBuffer(hConsoleInput);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ Get size of current cursor }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> GetCursor: Word;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CCI: TConsoleCursorInfo;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GetConsoleCursorInfo(hConsoleOutput, CCI);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GetCursor := CCI.dwSize;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ Set size of current cursor }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> SetCursor(NewCursor: Word);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CCI: TConsoleCursorInfo;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> NewCursor = </span><span class="f_CodeExample" style="color: #800000;">$0000</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CCI.dwSize := GetCursor;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CCI.bVisible := False;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">end</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">else</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CCI.dwSize := NewCursor;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CCI.bVisible := True;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SetConsoleCursorInfo(hConsoleOutput, CCI);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ --- Begin of Interface functions & procedures of original CRT unit --- }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> AssignCrt(</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">var</span><span class="f_CodeExample" style="color: #000000;"> F: Text);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Assign(F, </span><span class="f_CodeExample" style="color: #ff0000;">''</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> TTextRec(F).OpenFunc := @OpenText;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> KeyPressed: Boolean;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> NumberOfEvents: DWORD;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> NumRead: DWORD;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> InputRec: TInputRecord;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Pressed: boolean;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Pressed := False;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GetNumberOfConsoleInputEvents(hConsoleInput, NumberOfEvents);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> NumberOfEvents > </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> PeekConsoleInput(hConsoleInput, InputRec, </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">,NumRead) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> (InputRec.EventType = KEY_EVENT) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">and</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> (InputRec</span><span class="f_CodeExample" style="color: #0000ff;">{$IfDef NEW_STYLES}</span><span class="f_CodeExample" style="color: #000000;">.Event</span><span class="f_CodeExample" style="color: #0000ff;">{$EndIf}</span><span class="f_CodeExample" style="color: #000000;">.KeyEvent.bKeyDown) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Pressed := True;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #0000ff;">{$IfDef MOUSE_IS_USED}</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> MouseButtonPressed := False;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #0000ff;">{$EndIf}</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">else</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #0000ff;">{$IfDef MOUSE_IS_USED}</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> (InputRec.EventType = _MOUSE_EVENT) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">with</span><span class="f_CodeExample" style="color: #000000;"> InputRec</span><span class="f_CodeExample" style="color: #0000ff;">{$IfDef NEW_STYLES}</span><span class="f_CodeExample" style="color: #000000;">.Event</span><span class="f_CodeExample" style="color: #0000ff;">{$EndIf}</span><span class="f_CodeExample" style="color: #000000;">.MouseEvent </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">do</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> MousePosX := dwMousePosition.X;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> MousePosY := dwMousePosition.Y;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> dwButtonState = FROM_LEFT_1ST_BUTTON_PRESSED </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> MouseEventTime := Now;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> MouseButtonPressed := True;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{If (dwEventFlags AND DOUBLE_CLICK)<>0 Then Begin}</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{End;}</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> ReadConsoleInput(hConsoleInput, InputRec, </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">,NumRead);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #0000ff;">{$Else}</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> ReadConsoleInput(hConsoleInput, InputRec, </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">,NumRead);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #0000ff;">{$EndIf}</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Result := Pressed;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> ReadKey: char;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> NumRead: DWORD;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> InputRec: TInputRecord;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">repeat</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">repeat</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">until</span><span class="f_CodeExample" style="color: #000000;"> KeyPressed;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> ReadConsoleInput(hConsoleInput, InputRec, </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">,NumRead);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">until</span><span class="f_CodeExample" style="color: #000000;"> InputRec</span><span class="f_CodeExample" style="color: #0000ff;">{$IfDef NEW_STYLES}</span><span class="f_CodeExample" style="color: #000000;">.Event</span><span class="f_CodeExample" style="color: #0000ff;">{$EndIf}</span><span class="f_CodeExample" style="color: #000000;">.KeyEvent.AsciiChar > </span><span class="f_CodeExample" style="color: #ff0000;">#0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Result := InputRec</span><span class="f_CodeExample" style="color: #0000ff;">{$IfDef NEW_STYLES}</span><span class="f_CodeExample" style="color: #000000;">.Event</span><span class="f_CodeExample" style="color: #0000ff;">{$EndIf}</span><span class="f_CodeExample" style="color: #000000;">.KeyEvent.AsciiChar;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TextMode(Mode: Integer);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> Window(X1, Y1, X2, Y2: Byte);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> ConsoleScreenRect.Left := X1 - </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> ConsoleScreenRect.Top := Y1 - </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> ConsoleScreenRect.Right := X2 - </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> ConsoleScreenRect.Bottom := Y2 - </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> WindMin := (ConsoleScreenRect.Top </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">shl</span> <span class="f_CodeExample" style="color: #800000;">8</span><span class="f_CodeExample" style="color: #000000;">) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">or</span><span class="f_CodeExample" style="color: #000000;"> ConsoleScreenRect.Left;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> WindMax := (ConsoleScreenRect.Bottom </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">shl</span> <span class="f_CodeExample" style="color: #800000;">8</span><span class="f_CodeExample" style="color: #000000;">) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">or</span><span class="f_CodeExample" style="color: #000000;"> ConsoleScreenRect.Right;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$IfDef WindowFrameToo}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SetConsoleWindowInfo(hConsoleOutput, True, ConsoleScreenRect);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$EndIf}</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> GotoXY(</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">,</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> GotoXY(X, Y: Byte);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Coord: TCoord;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Coord.X := X - </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;"> + ConsoleScreenRect.Left;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Coord.Y := Y - </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;"> + ConsoleScreenRect.Top;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">not</span><span class="f_CodeExample" style="color: #000000;"> SetConsoleCursorPosition(hConsoleOutput, Coord) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> GotoXY(</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> DelLine;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> WhereX: Byte;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CBI: TConsoleScreenBufferInfo;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GetConsoleScreenBufferInfo(hConsoleOutput, CBI);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Result := TCoord(CBI.dwCursorPosition).X + </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;"> - ConsoleScreenRect.Left;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> WhereY: Byte;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CBI: TConsoleScreenBufferInfo;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GetConsoleScreenBufferInfo(hConsoleOutput, CBI);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Result := TCoord(CBI.dwCursorPosition).Y + </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;"> - ConsoleScreenRect.Top;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> ClrScr;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> FillerScreen(</span><span class="f_CodeExample" style="color: #ff0000;">' '</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> ClrEol;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Coord: TCoord;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> dwSize, dwCount: DWORD;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Coord.X := WhereX - </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;"> + ConsoleScreenRect.Left;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Coord.Y := WhereY - </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;"> + ConsoleScreenRect.Top;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> dwSize := ConsoleScreenRect.Right - Coord.X + </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> FillConsoleOutputAttribute(hConsoleOutput, TextAttr, dwSize, Coord, dwCount);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> FillConsoleOutputCharacter(hConsoleOutput, </span><span class="f_CodeExample" style="color: #ff0000;">' '</span><span class="f_CodeExample" style="color: #000000;">, dwSize, Coord, dwCount);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> InsLine;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SourceScreenRect: TSmallRect;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Coord: TCoord;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CI: TCharInfo;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> dwSize, dwCount: DWORD;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SourceScreenRect := ConsoleScreenRect;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> SourceScreenRect.Top := WhereY - </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;"> + ConsoleScreenRect.Top;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> SourceScreenRect.Bottom := ConsoleScreenRect.Bottom - </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> CI.AsciiChar := </span><span class="f_CodeExample" style="color: #ff0000;">' '</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CI.Attributes := TextAttr;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Coord.X := SourceScreenRect.Left;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Coord.Y := SourceScreenRect.Top + </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> dwSize := SourceScreenRect.Right - SourceScreenRect.Left + </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> ScrollConsoleScreenBuffer(hConsoleOutput, SourceScreenRect, </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span><span class="f_CodeExample" style="color: #000000;">, Coord, CI);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Dec(Coord.Y);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> FillConsoleOutputAttribute(hConsoleOutput, TextAttr, dwSize, Coord, dwCount);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> DelLine;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SourceScreenRect: TSmallRect;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Coord: TCoord;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CI: TCharinfo;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> dwSize, dwCount: DWORD;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SourceScreenRect := ConsoleScreenRect;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SourceScreenRect.Top := WhereY + ConsoleScreenRect.Top;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> CI.AsciiChar := </span><span class="f_CodeExample" style="color: #ff0000;">' '</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CI.Attributes := TextAttr;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Coord.X := SourceScreenRect.Left;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Coord.Y := SourceScreenRect.Top - </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> dwSize := SourceScreenRect.Right - SourceScreenRect.Left + </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> ScrollConsoleScreenBuffer(hConsoleOutput, SourceScreenRect, </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span><span class="f_CodeExample" style="color: #000000;">, Coord, CI);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> FillConsoleOutputAttribute(hConsoleOutput, TextAttr, dwSize, Coord, dwCount);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TextColor(Color: Byte);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> LastMode := TextAttr;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> TextAttr := (Color </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">and</span> <span class="f_CodeExample" style="color: #800000;">$0F</span><span class="f_CodeExample" style="color: #000000;">) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">or</span><span class="f_CodeExample" style="color: #000000;"> (TextAttr </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">and</span> <span class="f_CodeExample" style="color: #800000;">$F0</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SetConsoleTextAttribute(hConsoleOutput, TextAttr);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TextBackground(Color: Byte);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> LastMode := TextAttr;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> TextAttr := (Color </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">shl</span> <span class="f_CodeExample" style="color: #800000;">4</span><span class="f_CodeExample" style="color: #000000;">) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">or</span><span class="f_CodeExample" style="color: #000000;"> (TextAttr </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">and</span> <span class="f_CodeExample" style="color: #800000;">$0F</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SetConsoleTextAttribute(hConsoleOutput, TextAttr);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> LowVideo;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> LastMode := TextAttr;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> TextAttr := TextAttr </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">and</span> <span class="f_CodeExample" style="color: #800000;">$F7</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SetConsoleTextAttribute(hConsoleOutput, TextAttr);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> HighVideo;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> LastMode := TextAttr;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> TextAttr := TextAttr </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">or</span> <span class="f_CodeExample" style="color: #800000;">$08</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SetConsoleTextAttribute(hConsoleOutput, TextAttr);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> NormVideo;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> LastMode := TextAttr;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> TextAttr := StartAttr;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SetConsoleTextAttribute(hConsoleOutput, TextAttr);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> Delay(MS: Word);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Const</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Magic= $80000000;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> StartMS,CurMS,DeltaMS: DWORD;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Windows.SleepEx(MS, False); </span><span class="f_CodeExample" style="color: #000080;">// Windows.Sleep(MS);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> StartMS:= GetTickCount;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Repeat</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CurMS:= GetTickCount;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> If CurMS >= StartMS Then</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> DeltaMS:= CurMS - StartMS</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Else DeltaMS := (CurMS + Magic) - (StartMS - Magic);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Until MS<DeltaMS;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> }</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> Sound(Hz: Word);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{SetSoundIOPermissionMap(LocalIOPermission_ON);}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SoundFrequency := Hz;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> IsWinNT </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Windows.Beep(SoundFrequency, SoundDuration)</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">end</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">else</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">asm</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> mov BX,Hz</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> cmp BX,</span><span class="f_CodeExample" style="color: #800000;">0</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> jz @</span><span class="f_CodeExample" style="color: #800000;">2</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> mov AX,</span><span class="f_CodeExample" style="color: #800000;">$34DD</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> mov DX,</span><span class="f_CodeExample" style="color: #800000;">$0012</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> cmp DX,BX</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> jnb @</span><span class="f_CodeExample" style="color: #800000;">2</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">div</span><span class="f_CodeExample" style="color: #000000;"> BX</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> mov BX,AX</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{ Sound is On ? }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">in</span><span class="f_CodeExample" style="color: #000000;"> Al,</span><span class="f_CodeExample" style="color: #800000;">$61</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> test Al,</span><span class="f_CodeExample" style="color: #800000;">$03</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> jnz @</span><span class="f_CodeExample" style="color: #800000;">1</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{ Set Sound On }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">or</span><span class="f_CodeExample" style="color: #000000;"> Al,</span><span class="f_CodeExample" style="color: #800000;">03</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">out</span> <span class="f_CodeExample" style="color: #800000;">$61</span><span class="f_CodeExample" style="color: #000000;">,Al</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{ Timer Command }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> mov Al,</span><span class="f_CodeExample" style="color: #800000;">$B6</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">out</span> <span class="f_CodeExample" style="color: #800000;">$43</span><span class="f_CodeExample" style="color: #000000;">,Al</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{ Set Frequency }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> @</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">: mov Al,Bl</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">out</span> <span class="f_CodeExample" style="color: #800000;">$42</span><span class="f_CodeExample" style="color: #000000;">,Al</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> mov Al,Bh</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">out</span> <span class="f_CodeExample" style="color: #800000;">$42</span><span class="f_CodeExample" style="color: #000000;">,Al</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> @</span><span class="f_CodeExample" style="color: #800000;">2</span><span class="f_CodeExample" style="color: #000000;">:</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> NoSound;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> IsWinNT </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Windows.Beep(SoundFrequency, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">end</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">else</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">asm</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{ Set Sound On }</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">in</span><span class="f_CodeExample" style="color: #000000;"> Al,</span><span class="f_CodeExample" style="color: #800000;">$61</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">and</span><span class="f_CodeExample" style="color: #000000;"> Al,</span><span class="f_CodeExample" style="color: #800000;">$FC</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">out</span> <span class="f_CodeExample" style="color: #800000;">$61</span><span class="f_CodeExample" style="color: #000000;">,Al</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{SetSoundIOPermissionMap(LocalIOPermission_OFF);}</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ --- End of Interface functions & procedures of original CRT unit --- }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> OverwriteChrXY(X, Y: Byte; Chr: char);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Coord: TCoord;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> dwSize, dwCount: DWORD;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> LastX := X;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> LastY := Y;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Coord.X := LastX - </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;"> + ConsoleScreenRect.Left;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Coord.Y := LastY - </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;"> + ConsoleScreenRect.Top;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> dwSize := </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> FillConsoleOutputAttribute(hConsoleOutput, TextAttr, dwSize, Coord, dwCount);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> FillConsoleOutputCharacter(hConsoleOutput, Chr, dwSize, Coord, dwCount);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GotoXY(LastX, LastY);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ -------------------------------------------------- }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ Console Event Handler }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$IfDef CRT_EVENT}</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> ConsoleEventProc(CtrlType: DWORD): Bool; </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">stdcall</span><span class="f_CodeExample" style="color: #000000;">; </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">far</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> S: </span><span class="f_CodeExample" style="color: #0000ff;">{$IfDef Win32}</span><span class="f_CodeExample" style="color: #000000;">ShortString</span><span class="f_CodeExample" style="color: #0000ff;">{$Else}</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">String</span><span class="f_CodeExample" style="color: #0000ff;">{$EndIf}</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">Message</span><span class="f_CodeExample" style="color: #000000;">: PChar;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">case</span><span class="f_CodeExample" style="color: #000000;"> CtrlType </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">of</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> CTRL_C_EVENT: S := </span><span class="f_CodeExample" style="color: #ff0000;">'CTRL_C_EVENT'</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> CTRL_BREAK_EVENT: S := </span><span class="f_CodeExample" style="color: #ff0000;">'CTRL_BREAK_EVENT'</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> CTRL_CLOSE_EVENT: S := </span><span class="f_CodeExample" style="color: #ff0000;">'CTRL_CLOSE_EVENT'</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> CTRL_LOGOFF_EVENT: S := </span><span class="f_CodeExample" style="color: #ff0000;">'CTRL_LOGOFF_EVENT'</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> CTRL_SHUTDOWN_EVENT: S := </span><span class="f_CodeExample" style="color: #ff0000;">'CTRL_SHUTDOWN_EVENT'</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">else</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> S := </span><span class="f_CodeExample" style="color: #ff0000;">'UNKNOWN_EVENT'</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> S := S + </span><span class="f_CodeExample" style="color: #ff0000;">' detected, but not handled.'</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">Message</span><span class="f_CodeExample" style="color: #000000;"> := @S;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Inc(</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">Message</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> MessageBox(</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">Message</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #ff0000;">'Win32 Console'</span><span class="f_CodeExample" style="color: #000000;">, MB_OK);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Result := True;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$EndIf}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> MouseReset: Boolean;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> MouseColWidth := </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> MouseRowWidth := </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Result := True;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> MouseShowCursor;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">const</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ShowMouseConsoleMode = ENABLE_MOUSE_INPUT;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> cMode: DWORD;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GetConsoleMode(hConsoleInput, cMode);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> (cMode </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">and</span><span class="f_CodeExample" style="color: #000000;"> ShowMouseConsoleMode) <> ShowMouseConsoleMode </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> cMode := cMode </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">or</span><span class="f_CodeExample" style="color: #000000;"> ShowMouseConsoleMode;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SetConsoleMode(hConsoleInput, cMode);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> MouseHideCursor;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">const</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ShowMouseConsoleMode = ENABLE_MOUSE_INPUT;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> cMode: DWORD;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GetConsoleMode(hConsoleInput, cMode);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> (cMode </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">and</span><span class="f_CodeExample" style="color: #000000;"> ShowMouseConsoleMode) = ShowMouseConsoleMode </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> cMode := cMode </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">and</span><span class="f_CodeExample" style="color: #000000;"> (</span><span class="f_CodeExample" style="color: #800000;">$FFFFFFFF</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">xor</span><span class="f_CodeExample" style="color: #000000;"> ShowMouseConsoleMode);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SetConsoleMode(hConsoleInput, cMode);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> MouseKeyPressed: Boolean;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$IfDef MOUSE_IS_USED}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">const</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> MouseDeltaTime = </span><span class="f_CodeExample" style="color: #800000;">200</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ActualTime: TDateTime;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> HourA, HourM, MinA, MinM, SecA, SecM, MSecA, MSecM: word;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> MSecTimeA, MSecTimeM: longInt;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> MSecDelta: longInt;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$EndIf}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> MousePressedButtons := </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$IfDef MOUSE_IS_USED}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Result := False;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> MouseButtonPressed </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ActualTime := NOW;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> DecodeTime(ActualTime, HourA, MinA, SecA, MSecA);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> DecodeTime(MouseEventTime, HourM, MinM, SecM, MSecM);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> MSecTimeA := (</span><span class="f_CodeExample" style="color: #800000;">3600</span><span class="f_CodeExample" style="color: #000000;"> * HourA + </span><span class="f_CodeExample" style="color: #800000;">60</span><span class="f_CodeExample" style="color: #000000;"> * MinA + SecA) * </span><span class="f_CodeExample" style="color: #800000;">100</span><span class="f_CodeExample" style="color: #000000;"> + MSecA;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> MSecTimeM := (</span><span class="f_CodeExample" style="color: #800000;">3600</span><span class="f_CodeExample" style="color: #000000;"> * HourM + </span><span class="f_CodeExample" style="color: #800000;">60</span><span class="f_CodeExample" style="color: #000000;"> * MinM + SecM) * </span><span class="f_CodeExample" style="color: #800000;">100</span><span class="f_CodeExample" style="color: #000000;"> + MSecM;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> MSecDelta := Abs(MSecTimeM - MSecTimeA);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> (MSecDelta < MouseDeltaTime) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">or</span><span class="f_CodeExample" style="color: #000000;"> (MSecDelta > (</span><span class="f_CodeExample" style="color: #800000;">8784000</span><span class="f_CodeExample" style="color: #000000;"> - MouseDeltaTime)) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> MousePressedButtons := MouseLeftButton;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> MouseButtonPressed := False;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Result := True;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$Else}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Result := False;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$EndIf}</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> MouseGotoXY(X, Y: Integer);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$IfDef MOUSE_IS_USED}</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> mouse_event(MOUSEEVENTF_</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">ABSOLUTE</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">or</span><span class="f_CodeExample" style="color: #000000;"> MOUSEEVENTF_MOVE,</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> X - </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">,Y - </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">,WHEEL_DELTA, GetMessageExtraInfo());</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> MousePosY := (Y - </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">) * MouseRowWidth;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> MousePosX := (X - </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">) * MouseColWidth;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$EndIf}</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> MouseWhereY: Integer;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$IfDef MOUSE_IS_USED}</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{Var</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> lppt, lpptBuf: TMouseMovePoint;}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$EndIf}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$IfDef MOUSE_IS_USED}</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{GetMouseMovePoints(</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SizeOf(TMouseMovePoint), lppt, lpptBuf,</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> 7,GMMP_USE_DRIVER_POINTS</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> );</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Result:=lpptBuf.Y DIV MouseRowWidth;}</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Result := (MousePosY </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">div</span><span class="f_CodeExample" style="color: #000000;"> MouseRowWidth) + </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$Else}</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Result := -</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$EndIf}</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> MouseWhereX: Integer;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$IfDef MOUSE_IS_USED}</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{Var</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> lppt, lpptBuf: TMouseMovePoint;}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$EndIf}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$IfDef MOUSE_IS_USED}</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> </span><span class="f_CodeExample" style="color: #000080;">{GetMouseMovePoints(</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SizeOf(TMouseMovePoint), lppt, lpptBuf,</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> 7,GMMP_USE_DRIVER_POINTS</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> );</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Result:=lpptBuf.X DIV MouseColWidth;}</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Result := (MousePosX </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">div</span><span class="f_CodeExample" style="color: #000000;"> MouseColWidth) + </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$Else}</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Result := -</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$EndIf}</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> Init;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">const</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> ExtInpConsoleMode = ENABLE_WINDOW_INPUT </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">or</span><span class="f_CodeExample" style="color: #000000;"> ENABLE_PROCESSED_INPUT </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">or</span><span class="f_CodeExample" style="color: #000000;"> ENABLE_MOUSE_INPUT;</span></span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> ExtOutConsoleMode = ENABLE_PROCESSED_OUTPUT </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">or</span><span class="f_CodeExample" style="color: #000000;"> ENABLE_WRAP_AT_EOL_OUTPUT;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> cMode: DWORD;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Coord: TCoord;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> OSVersion: TOSVersionInfo;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CBI: TConsoleScreenBufferInfo;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> OSVersion.dwOSVersionInfoSize := SizeOf(TOSVersionInfo);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GetVersionEx(OSVersion);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> OSVersion.dwPlatformId = VER_PLATFORM_WIN32_NT </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> IsWinNT := True</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">else</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> IsWinNT := False;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> PtrOpenText := TTextRec(Output).OpenFunc;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$IfDef HARD_CRT}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> AllocConsole;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Reset(Input);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> hConsoleInput := GetStdHandle(STD_INPUT_HANDLE);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> TTextRec(Input).Handle := hConsoleInput;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ReWrite(Output);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> hConsoleOutput := GetStdHandle(STD_OUTPUT_HANDLE);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> TTextRec(Output).Handle := hConsoleOutput;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$Else}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Reset(Input);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> hConsoleInput := TTextRec(Input).Handle;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ReWrite(Output);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> hConsoleOutput := TTextRec(Output).Handle;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$EndIf}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GetConsoleMode(hConsoleInput, cMode);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> (cMode </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">and</span><span class="f_CodeExample" style="color: #000000;"> ExtInpConsoleMode) <> ExtInpConsoleMode </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> cMode := cMode </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">or</span><span class="f_CodeExample" style="color: #000000;"> ExtInpConsoleMode;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SetConsoleMode(hConsoleInput, cMode);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> TTextRec(Output).InOutFunc := @TextOut;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> TTextRec(Output).FlushFunc := @TextOut;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GetConsoleScreenBufferInfo(hConsoleOutput, CBI);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GetConsoleMode(hConsoleOutput, cMode);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> (cMode </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">and</span><span class="f_CodeExample" style="color: #000000;"> ExtOutConsoleMode) <> ExtOutConsoleMode </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> cMode := cMode </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">or</span><span class="f_CodeExample" style="color: #000000;"> ExtOutConsoleMode;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SetConsoleMode(hConsoleOutput, cMode);</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> TextAttr := CBI.wAttributes;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> StartAttr := CBI.wAttributes;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> LastMode := CBI.wAttributes;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Coord.X := CBI.srWindow.Left;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Coord.Y := CBI.srWindow.Top;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> WindMin := (Coord.Y </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">shl</span> <span class="f_CodeExample" style="color: #800000;">8</span><span class="f_CodeExample" style="color: #000000;">) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">or</span><span class="f_CodeExample" style="color: #000000;"> Coord.X;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Coord.X := CBI.srWindow.Right;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Coord.Y := CBI.srWindow.Bottom;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> WindMax := (Coord.Y </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">shl</span> <span class="f_CodeExample" style="color: #800000;">8</span><span class="f_CodeExample" style="color: #000000;">) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">or</span><span class="f_CodeExample" style="color: #000000;"> Coord.X;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ConsoleScreenRect := CBI.srWindow;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> SoundDuration := -</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> OldCp := GetConsoleOutputCP;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> SetConsoleOutputCP(</span><span class="f_CodeExample" style="color: #800000;">1250</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$IfDef CRT_EVENT}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SetConsoleCtrlHandler(@ConsoleEventProc, True);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$EndIf}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$IfDef MOUSE_IS_USED}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SetCapture(hConsoleInput);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> KeyPressed;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$EndIf}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> MouseInstalled := MouseReset;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Window(</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">,</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">,</span><span class="f_CodeExample" style="color: #800000;">80</span><span class="f_CodeExample" style="color: #000000;">,</span><span class="f_CodeExample" style="color: #800000;">25</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ClrScr;</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ }</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> Done;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$IfDef CRT_EVENT}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SetConsoleCtrlHandler(@ConsoleEventProc, False);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$EndIf}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SetConsoleOutputCP(OldCP);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> TextAttr := StartAttr;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SetConsoleTextAttribute(hConsoleOutput, TextAttr);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ClrScr;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> FlushInputBuffer;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$IfDef HARD_CRT}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> TTextRec(Input).Mode := fmClosed;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> TTextRec(Output).Mode := fmClosed;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> FreeConsole;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$Else}</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Close(Input);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Close(Output);</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$EndIf}</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">initialization</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Init;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">finalization</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Done;</span></p>
<p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$Endif win32}</span></p>
<p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">.</span></span></p>
</td>
</tr>
</tbody>
</table>
</div>
<p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p>