source: trunk/Packages/synapse/docs/help/synaser.TBlockSerial.html

Last change on this file was 2, checked in by chronos, 12 years ago
  • Přidáno: Základní kostra projektu.
  • Přidáno: Knihovna synapse.
File size: 62.4 KB
Line 
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
2<html>
3<head>
4<meta name="GENERATOR" content="PasDoc 0.9.0">
5<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
6<title>synaser: Class TBlockSerial</title>
7<link rel="StyleSheet" type="text/css" href="pasdoc.css">
8</head>
9<body bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#800080" alink="#FF0000">
10<a name="TBlockSerial"></a><h1 class="cio">Class TBlockSerial</h1>
11<table class="sections">
12<tr>
13<td><a class="section" href="#@Description">Description</a></td><td><a class="section" href="#@Hierarchy">Hierarchy</a></td><td><a class="section" href="#@Fields">Fields</a></td><td><a class="section" href="#@Methods">Methods</a></td><td><a class="section" href="#@Properties">Properties</a></td></tr></table>
14<a name="@Description"></a><h2 class="unit">Unit</h2>
15<p class="unitlink">
16<a href="synaser.html">synaser</a></p>
17<h2 class="declaration">Declaration</h2>
18<p class="declaration">
19<code>type TBlockSerial = class(TObject)</code></p>
20<h2 class="description">Description</h2>
21<p>
22Main class implementing all communication routines</p>
23<a name="@Hierarchy"></a><h2 class="hierarchy">Hierarchy</h2>
24<ul class="hierarchy"><li class="ancestor">TObject</li>
25<li class="thisitem">TBlockSerial</li></ul><h2 class="overview">Overview</h2>
26<a name="@Fields"></a><h3 class="summary">Fields</h3>
27<table class="summary">
28<tr class="list">
29<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
30<td class="itemcode"><code><b><a href="synaser.TBlockSerial.html#DCB">DCB</a></b>: Tdcb;</code></td>
31</tr>
32</table>
33<a name="@Methods"></a><h3 class="summary">Methods</h3>
34<table class="summary">
35<tr class="list">
36<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
37<td class="itemcode"><code>constructor <b><a href="synaser.TBlockSerial.html#Create">Create</a></b>;</code></td>
38</tr>
39<tr class="list2">
40<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
41<td class="itemcode"><code>destructor <b><a href="synaser.TBlockSerial.html#Destroy">Destroy</a></b>; override;</code></td>
42</tr>
43<tr class="list">
44<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
45<td class="itemcode"><code>class function <b><a href="synaser.TBlockSerial.html#GetVersion">GetVersion</a></b>: string; virtual;</code></td>
46</tr>
47<tr class="list2">
48<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
49<td class="itemcode"><code>procedure <b><a href="synaser.TBlockSerial.html#CloseSocket">CloseSocket</a></b>; virtual;</code></td>
50</tr>
51<tr class="list">
52<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
53<td class="itemcode"><code>procedure <b><a href="synaser.TBlockSerial.html#Config">Config</a></b>(baud, bits: integer; parity: char; stop: integer; softflow, hardflow: boolean); virtual;</code></td>
54</tr>
55<tr class="list2">
56<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
57<td class="itemcode"><code>procedure <b><a href="synaser.TBlockSerial.html#Connect">Connect</a></b>(comport: string); virtual;</code></td>
58</tr>
59<tr class="list">
60<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
61<td class="itemcode"><code>procedure <b><a href="synaser.TBlockSerial.html#SetCommState">SetCommState</a></b>; virtual;</code></td>
62</tr>
63<tr class="list2">
64<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
65<td class="itemcode"><code>procedure <b><a href="synaser.TBlockSerial.html#GetCommState">GetCommState</a></b>; virtual;</code></td>
66</tr>
67<tr class="list">
68<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
69<td class="itemcode"><code>function <b><a href="synaser.TBlockSerial.html#SendBuffer">SendBuffer</a></b>(buffer: pointer; length: integer): integer; virtual;</code></td>
70</tr>
71<tr class="list2">
72<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
73<td class="itemcode"><code>procedure <b><a href="synaser.TBlockSerial.html#SendByte">SendByte</a></b>(data: byte); virtual;</code></td>
74</tr>
75<tr class="list">
76<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
77<td class="itemcode"><code>procedure <b><a href="synaser.TBlockSerial.html#SendString">SendString</a></b>(data: AnsiString); virtual;</code></td>
78</tr>
79<tr class="list2">
80<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
81<td class="itemcode"><code>procedure <b><a href="synaser.TBlockSerial.html#SendInteger">SendInteger</a></b>(Data: integer); virtual;</code></td>
82</tr>
83<tr class="list">
84<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
85<td class="itemcode"><code>procedure <b><a href="synaser.TBlockSerial.html#SendBlock">SendBlock</a></b>(const Data: AnsiString); virtual;</code></td>
86</tr>
87<tr class="list2">
88<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
89<td class="itemcode"><code>procedure <b><a href="synaser.TBlockSerial.html#SendStreamRaw">SendStreamRaw</a></b>(const Stream: TStream); virtual;</code></td>
90</tr>
91<tr class="list">
92<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
93<td class="itemcode"><code>procedure <b><a href="synaser.TBlockSerial.html#SendStream">SendStream</a></b>(const Stream: TStream); virtual;</code></td>
94</tr>
95<tr class="list2">
96<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
97<td class="itemcode"><code>procedure <b><a href="synaser.TBlockSerial.html#SendStreamIndy">SendStreamIndy</a></b>(const Stream: TStream); virtual;</code></td>
98</tr>
99<tr class="list">
100<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
101<td class="itemcode"><code>function <b><a href="synaser.TBlockSerial.html#RecvBuffer">RecvBuffer</a></b>(buffer: pointer; length: integer): integer; virtual;</code></td>
102</tr>
103<tr class="list2">
104<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
105<td class="itemcode"><code>function <b><a href="synaser.TBlockSerial.html#RecvBufferEx">RecvBufferEx</a></b>(buffer: pointer; length: integer; timeout: integer): integer; virtual;</code></td>
106</tr>
107<tr class="list">
108<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
109<td class="itemcode"><code>function <b><a href="synaser.TBlockSerial.html#RecvBufferStr">RecvBufferStr</a></b>(Length: Integer; Timeout: Integer): AnsiString; virtual;</code></td>
110</tr>
111<tr class="list2">
112<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
113<td class="itemcode"><code>function <b><a href="synaser.TBlockSerial.html#RecvPacket">RecvPacket</a></b>(Timeout: Integer): AnsiString; virtual;</code></td>
114</tr>
115<tr class="list">
116<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
117<td class="itemcode"><code>function <b><a href="synaser.TBlockSerial.html#RecvByte">RecvByte</a></b>(timeout: integer): byte; virtual;</code></td>
118</tr>
119<tr class="list2">
120<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
121<td class="itemcode"><code>function <b><a href="synaser.TBlockSerial.html#RecvTerminated">RecvTerminated</a></b>(Timeout: Integer; const Terminator: AnsiString): AnsiString; virtual;</code></td>
122</tr>
123<tr class="list">
124<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
125<td class="itemcode"><code>function <b><a href="synaser.TBlockSerial.html#Recvstring">Recvstring</a></b>(timeout: integer): AnsiString; virtual;</code></td>
126</tr>
127<tr class="list2">
128<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
129<td class="itemcode"><code>function <b><a href="synaser.TBlockSerial.html#RecvInteger">RecvInteger</a></b>(Timeout: Integer): Integer; virtual;</code></td>
130</tr>
131<tr class="list">
132<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
133<td class="itemcode"><code>function <b><a href="synaser.TBlockSerial.html#RecvBlock">RecvBlock</a></b>(Timeout: Integer): AnsiString; virtual;</code></td>
134</tr>
135<tr class="list2">
136<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
137<td class="itemcode"><code>procedure <b><a href="synaser.TBlockSerial.html#RecvStreamRaw">RecvStreamRaw</a></b>(const Stream: TStream; Timeout: Integer); virtual;</code></td>
138</tr>
139<tr class="list">
140<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
141<td class="itemcode"><code>procedure <b><a href="synaser.TBlockSerial.html#RecvStreamSize">RecvStreamSize</a></b>(const Stream: TStream; Timeout: Integer; Size: Integer); virtual;</code></td>
142</tr>
143<tr class="list2">
144<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
145<td class="itemcode"><code>procedure <b><a href="synaser.TBlockSerial.html#RecvStream">RecvStream</a></b>(const Stream: TStream; Timeout: Integer); virtual;</code></td>
146</tr>
147<tr class="list">
148<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
149<td class="itemcode"><code>procedure <b><a href="synaser.TBlockSerial.html#RecvStreamIndy">RecvStreamIndy</a></b>(const Stream: TStream; Timeout: Integer); virtual;</code></td>
150</tr>
151<tr class="list2">
152<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
153<td class="itemcode"><code>function <b><a href="synaser.TBlockSerial.html#WaitingData">WaitingData</a></b>: integer; virtual;</code></td>
154</tr>
155<tr class="list">
156<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
157<td class="itemcode"><code>function <b><a href="synaser.TBlockSerial.html#WaitingDataEx">WaitingDataEx</a></b>: integer; virtual;</code></td>
158</tr>
159<tr class="list2">
160<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
161<td class="itemcode"><code>function <b><a href="synaser.TBlockSerial.html#SendingData">SendingData</a></b>: integer; virtual;</code></td>
162</tr>
163<tr class="list">
164<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
165<td class="itemcode"><code>procedure <b><a href="synaser.TBlockSerial.html#EnableRTSToggle">EnableRTSToggle</a></b>(value: boolean); virtual;</code></td>
166</tr>
167<tr class="list2">
168<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
169<td class="itemcode"><code>procedure <b><a href="synaser.TBlockSerial.html#Flush">Flush</a></b>; virtual;</code></td>
170</tr>
171<tr class="list">
172<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
173<td class="itemcode"><code>procedure <b><a href="synaser.TBlockSerial.html#Purge">Purge</a></b>; virtual;</code></td>
174</tr>
175<tr class="list2">
176<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
177<td class="itemcode"><code>function <b><a href="synaser.TBlockSerial.html#CanRead">CanRead</a></b>(Timeout: integer): boolean; virtual;</code></td>
178</tr>
179<tr class="list">
180<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
181<td class="itemcode"><code>function <b><a href="synaser.TBlockSerial.html#CanWrite">CanWrite</a></b>(Timeout: integer): boolean; virtual;</code></td>
182</tr>
183<tr class="list2">
184<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
185<td class="itemcode"><code>function <b><a href="synaser.TBlockSerial.html#CanReadEx">CanReadEx</a></b>(Timeout: integer): boolean; virtual;</code></td>
186</tr>
187<tr class="list">
188<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
189<td class="itemcode"><code>function <b><a href="synaser.TBlockSerial.html#ModemStatus">ModemStatus</a></b>: integer; virtual;</code></td>
190</tr>
191<tr class="list2">
192<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
193<td class="itemcode"><code>procedure <b><a href="synaser.TBlockSerial.html#SetBreak">SetBreak</a></b>(Duration: integer); virtual;</code></td>
194</tr>
195<tr class="list">
196<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
197<td class="itemcode"><code>function <b><a href="synaser.TBlockSerial.html#ATCommand">ATCommand</a></b>(value: AnsiString): AnsiString; virtual;</code></td>
198</tr>
199<tr class="list2">
200<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
201<td class="itemcode"><code>function <b><a href="synaser.TBlockSerial.html#ATConnect">ATConnect</a></b>(value: AnsiString): AnsiString; virtual;</code></td>
202</tr>
203<tr class="list">
204<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
205<td class="itemcode"><code>function <b><a href="synaser.TBlockSerial.html#SerialCheck">SerialCheck</a></b>(SerialResult: integer): integer; virtual;</code></td>
206</tr>
207<tr class="list2">
208<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
209<td class="itemcode"><code>procedure <b><a href="synaser.TBlockSerial.html#ExceptCheck">ExceptCheck</a></b>; virtual;</code></td>
210</tr>
211<tr class="list">
212<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
213<td class="itemcode"><code>procedure <b><a href="synaser.TBlockSerial.html#SetSynaError">SetSynaError</a></b>(ErrNumber: integer); virtual;</code></td>
214</tr>
215<tr class="list2">
216<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
217<td class="itemcode"><code>procedure <b><a href="synaser.TBlockSerial.html#RaiseSynaError">RaiseSynaError</a></b>(ErrNumber: integer); virtual;</code></td>
218</tr>
219<tr class="list">
220<td class="visibility"><a href="legend.html"><img src="published.gif" alt="Published" title="Published"></a></td>
221<td class="itemcode"><code>class function <b><a href="synaser.TBlockSerial.html#GetErrorDesc">GetErrorDesc</a></b>(ErrorCode: integer): string;</code></td>
222</tr>
223</table>
224<a name="@Properties"></a><h3 class="summary">Properties</h3>
225<table class="summary">
226<tr class="list">
227<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
228<td class="itemcode"><code>property <b><a href="synaser.TBlockSerial.html#Device">Device</a></b>: string read FDevice;</code></td>
229</tr>
230<tr class="list2">
231<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
232<td class="itemcode"><code>property <b><a href="synaser.TBlockSerial.html#LastError">LastError</a></b>: integer read FLastError;</code></td>
233</tr>
234<tr class="list">
235<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
236<td class="itemcode"><code>property <b><a href="synaser.TBlockSerial.html#LastErrorDesc">LastErrorDesc</a></b>: string read FLastErrorDesc;</code></td>
237</tr>
238<tr class="list2">
239<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
240<td class="itemcode"><code>property <b><a href="synaser.TBlockSerial.html#ATResult">ATResult</a></b>: Boolean read FATResult;</code></td>
241</tr>
242<tr class="list">
243<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
244<td class="itemcode"><code>property <b><a href="synaser.TBlockSerial.html#RTS">RTS</a></b>: Boolean write SetRTSF;</code></td>
245</tr>
246<tr class="list2">
247<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
248<td class="itemcode"><code>property <b><a href="synaser.TBlockSerial.html#CTS">CTS</a></b>: boolean read GetCTS;</code></td>
249</tr>
250<tr class="list">
251<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
252<td class="itemcode"><code>property <b><a href="synaser.TBlockSerial.html#DTR">DTR</a></b>: Boolean write SetDTRF;</code></td>
253</tr>
254<tr class="list2">
255<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
256<td class="itemcode"><code>property <b><a href="synaser.TBlockSerial.html#DSR">DSR</a></b>: boolean read GetDSR;</code></td>
257</tr>
258<tr class="list">
259<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
260<td class="itemcode"><code>property <b><a href="synaser.TBlockSerial.html#Carrier">Carrier</a></b>: boolean read GetCarrier;</code></td>
261</tr>
262<tr class="list2">
263<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
264<td class="itemcode"><code>property <b><a href="synaser.TBlockSerial.html#Ring">Ring</a></b>: boolean read GetRing;</code></td>
265</tr>
266<tr class="list">
267<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
268<td class="itemcode"><code>property <b><a href="synaser.TBlockSerial.html#InstanceActive">InstanceActive</a></b>: boolean read FInstanceActive;</code></td>
269</tr>
270<tr class="list2">
271<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
272<td class="itemcode"><code>property <b><a href="synaser.TBlockSerial.html#MaxSendBandwidth">MaxSendBandwidth</a></b>: Integer read FMaxSendBandwidth Write FMaxSendBandwidth;</code></td>
273</tr>
274<tr class="list">
275<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
276<td class="itemcode"><code>property <b><a href="synaser.TBlockSerial.html#MaxRecvBandwidth">MaxRecvBandwidth</a></b>: Integer read FMaxRecvBandwidth Write FMaxRecvBandwidth;</code></td>
277</tr>
278<tr class="list2">
279<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
280<td class="itemcode"><code>property <b><a href="synaser.TBlockSerial.html#MaxBandwidth">MaxBandwidth</a></b>: Integer Write SetBandwidth;</code></td>
281</tr>
282<tr class="list">
283<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
284<td class="itemcode"><code>property <b><a href="synaser.TBlockSerial.html#SizeRecvBuffer">SizeRecvBuffer</a></b>: integer read FRecvBuffer write SetSizeRecvBuffer;</code></td>
285</tr>
286<tr class="list2">
287<td class="visibility"><a href="legend.html"><img src="published.gif" alt="Published" title="Published"></a></td>
288<td class="itemcode"><code>property <b><a href="synaser.TBlockSerial.html#Tag">Tag</a></b>: integer read FTag write FTag;</code></td>
289</tr>
290<tr class="list">
291<td class="visibility"><a href="legend.html"><img src="published.gif" alt="Published" title="Published"></a></td>
292<td class="itemcode"><code>property <b><a href="synaser.TBlockSerial.html#Handle">Handle</a></b>: THandle read Fhandle write FHandle;</code></td>
293</tr>
294<tr class="list2">
295<td class="visibility"><a href="legend.html"><img src="published.gif" alt="Published" title="Published"></a></td>
296<td class="itemcode"><code>property <b><a href="synaser.TBlockSerial.html#LineBuffer">LineBuffer</a></b>: AnsiString read FBuffer write FBuffer;</code></td>
297</tr>
298<tr class="list">
299<td class="visibility"><a href="legend.html"><img src="published.gif" alt="Published" title="Published"></a></td>
300<td class="itemcode"><code>property <b><a href="synaser.TBlockSerial.html#RaiseExcept">RaiseExcept</a></b>: boolean read FRaiseExcept write FRaiseExcept;</code></td>
301</tr>
302<tr class="list2">
303<td class="visibility"><a href="legend.html"><img src="published.gif" alt="Published" title="Published"></a></td>
304<td class="itemcode"><code>property <b><a href="synaser.TBlockSerial.html#OnStatus">OnStatus</a></b>: <a href="synaser.html#THookSerialStatus">THookSerialStatus</a> read FOnStatus write FOnStatus;</code></td>
305</tr>
306<tr class="list">
307<td class="visibility"><a href="legend.html"><img src="published.gif" alt="Published" title="Published"></a></td>
308<td class="itemcode"><code>property <b><a href="synaser.TBlockSerial.html#TestDSR">TestDSR</a></b>: boolean read FTestDSR write FTestDSR;</code></td>
309</tr>
310<tr class="list2">
311<td class="visibility"><a href="legend.html"><img src="published.gif" alt="Published" title="Published"></a></td>
312<td class="itemcode"><code>property <b><a href="synaser.TBlockSerial.html#TestCTS">TestCTS</a></b>: boolean read FTestCTS write FTestCTS;</code></td>
313</tr>
314<tr class="list">
315<td class="visibility"><a href="legend.html"><img src="published.gif" alt="Published" title="Published"></a></td>
316<td class="itemcode"><code>property <b><a href="synaser.TBlockSerial.html#MaxLineLength">MaxLineLength</a></b>: Integer read FMaxLineLength Write FMaxLineLength;</code></td>
317</tr>
318<tr class="list2">
319<td class="visibility"><a href="legend.html"><img src="published.gif" alt="Published" title="Published"></a></td>
320<td class="itemcode"><code>property <b><a href="synaser.TBlockSerial.html#DeadlockTimeout">DeadlockTimeout</a></b>: Integer read FDeadlockTimeout Write FDeadlockTimeout;</code></td>
321</tr>
322<tr class="list">
323<td class="visibility"><a href="legend.html"><img src="published.gif" alt="Published" title="Published"></a></td>
324<td class="itemcode"><code>property <b><a href="synaser.TBlockSerial.html#LinuxLock">LinuxLock</a></b>: Boolean read FLinuxLock write FLinuxLock;</code></td>
325</tr>
326<tr class="list2">
327<td class="visibility"><a href="legend.html"><img src="published.gif" alt="Published" title="Published"></a></td>
328<td class="itemcode"><code>property <b><a href="synaser.TBlockSerial.html#ConvertLineEnd">ConvertLineEnd</a></b>: Boolean read FConvertLineEnd Write FConvertLineEnd;</code></td>
329</tr>
330<tr class="list">
331<td class="visibility"><a href="legend.html"><img src="published.gif" alt="Published" title="Published"></a></td>
332<td class="itemcode"><code>property <b><a href="synaser.TBlockSerial.html#AtTimeout">AtTimeout</a></b>: integer read FAtTimeout Write FAtTimeout;</code></td>
333</tr>
334<tr class="list2">
335<td class="visibility"><a href="legend.html"><img src="published.gif" alt="Published" title="Published"></a></td>
336<td class="itemcode"><code>property <b><a href="synaser.TBlockSerial.html#InterPacketTimeout">InterPacketTimeout</a></b>: Boolean read FInterPacketTimeout Write FInterPacketTimeout;</code></td>
337</tr>
338</table>
339<h2 class="description">Description</h2>
340<h3 class="detail">Fields</h3>
341<table class="detail">
342<tr class="list">
343<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
344<td class="itemcode"><a name="DCB"></a><code><b>DCB</b>: Tdcb;</code></td>
345</tr>
346</table>
347<p>
348data Control Block with communication parameters. Usable only when you need to call API directly.</p>
349<h3 class="detail">Methods</h3>
350<table class="detail">
351<tr class="list">
352<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
353<td class="itemcode"><a name="Create"></a><code>constructor <b>Create</b>;</code></td>
354</tr>
355</table>
356<p>
357Object constructor.</p>
358<table class="detail">
359<tr class="list">
360<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
361<td class="itemcode"><a name="Destroy"></a><code>destructor <b>Destroy</b>; override;</code></td>
362</tr>
363</table>
364<p>
365Object destructor.</p>
366<table class="detail">
367<tr class="list">
368<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
369<td class="itemcode"><a name="GetVersion"></a><code>class function <b>GetVersion</b>: string; virtual;</code></td>
370</tr>
371</table>
372<p>
373Returns a string containing the version number of the library.</p>
374<table class="detail">
375<tr class="list">
376<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
377<td class="itemcode"><a name="CloseSocket"></a><code>procedure <b>CloseSocket</b>; virtual;</code></td>
378</tr>
379</table>
380<p>
381Destroy handle in use. It close connection to serial port.</p>
382<table class="detail">
383<tr class="list">
384<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
385<td class="itemcode"><a name="Config"></a><code>procedure <b>Config</b>(baud, bits: integer; parity: char; stop: integer; softflow, hardflow: boolean); virtual;</code></td>
386</tr>
387</table>
388<p>
389Reconfigure communication parameters on the fly. You must be connected to port before! </p>
390<h6 class="parameters">parameters</h6>
391<dl class="parameters">
392<dt>baud</dt>
393<dd>Define connection speed. Baud rate can be from 50 to 4000000 bits per second. (it depends on your hardware!)</dd>
394<dt>bits</dt>
395<dd>Number of bits in communication.</dd>
396<dt>parity</dt>
397<dd>Define communication parity (N - None, O - Odd, E - Even, M - Mark or S - Space).</dd>
398<dt>stop</dt>
399<dd>Define number of stopbits. Use constants <a class="normal" href="synaser.html#SB1">SB1</a>, <a class="normal" href="synaser.html#SB1andHalf">SB1andHalf</a> and <a class="normal" href="synaser.html#SB2">SB2</a>.</dd>
400<dt>softflow</dt>
401<dd>Enable XON/XOFF handshake.</dd>
402<dt>hardflow</dt>
403<dd>Enable CTS/RTS handshake.</dd>
404</dl>
405<table class="detail">
406<tr class="list">
407<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
408<td class="itemcode"><a name="Connect"></a><code>procedure <b>Connect</b>(comport: string); virtual;</code></td>
409</tr>
410</table>
411<p>
412Connects to the port indicated by comport. Comport can be used in Windows style (COM2), or in Linux style (/dev/ttyS1). When you use windows style in Linux, then it will be converted to Linux name. And vice versa! However you can specify any device name! (other device names then standart is not converted!)
413
414<p>After successfull connection the DTR signal is set (if you not set hardware handshake, then the RTS signal is set, too!)
415
416<p>Connection parameters is predefined by your system configuration. If you need use another parameters, then you can use Config method after. Notes:
417
418<p>- Remember, the commonly used serial Laplink cable does not support hardware handshake.
419
420<p>- Before setting any handshake you must be sure that it is supported by your hardware.
421
422<p>- Some serial devices are slow. In some cases you must wait up to a few seconds after connection for the device to respond.
423
424<p>- when you connect to a modem device, then is best to test it by an empty AT command. (call ATCommand('AT'))</p>
425<table class="detail">
426<tr class="list">
427<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
428<td class="itemcode"><a name="SetCommState"></a><code>procedure <b>SetCommState</b>; virtual;</code></td>
429</tr>
430</table>
431<p>
432Set communication parameters from the DCB structure (the DCB structure is simulated under Linux).</p>
433<table class="detail">
434<tr class="list">
435<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
436<td class="itemcode"><a name="GetCommState"></a><code>procedure <b>GetCommState</b>; virtual;</code></td>
437</tr>
438</table>
439<p>
440Read communication parameters into the DCB structure (DCB structure is simulated under Linux).</p>
441<table class="detail">
442<tr class="list">
443<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
444<td class="itemcode"><a name="SendBuffer"></a><code>function <b>SendBuffer</b>(buffer: pointer; length: integer): integer; virtual;</code></td>
445</tr>
446</table>
447<p>
448Sends Length bytes of data from Buffer through the connected port.</p>
449<table class="detail">
450<tr class="list">
451<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
452<td class="itemcode"><a name="SendByte"></a><code>procedure <b>SendByte</b>(data: byte); virtual;</code></td>
453</tr>
454</table>
455<p>
456One data BYTE is sent.</p>
457<table class="detail">
458<tr class="list">
459<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
460<td class="itemcode"><a name="SendString"></a><code>procedure <b>SendString</b>(data: AnsiString); virtual;</code></td>
461</tr>
462</table>
463<p>
464Send the string in the data parameter. No terminator is appended by this method. If you need to send a string with CR/LF terminator, you must append the CR/LF characters to the data string!
465
466<p>Since no terminator is appended, you can use this function for sending binary data too.</p>
467<table class="detail">
468<tr class="list">
469<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
470<td class="itemcode"><a name="SendInteger"></a><code>procedure <b>SendInteger</b>(Data: integer); virtual;</code></td>
471</tr>
472</table>
473<p>
474send four bytes as integer.</p>
475<table class="detail">
476<tr class="list">
477<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
478<td class="itemcode"><a name="SendBlock"></a><code>procedure <b>SendBlock</b>(const Data: AnsiString); virtual;</code></td>
479</tr>
480</table>
481<p>
482send data as one block. Each block begins with integer value with Length of block.</p>
483<table class="detail">
484<tr class="list">
485<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
486<td class="itemcode"><a name="SendStreamRaw"></a><code>procedure <b>SendStreamRaw</b>(const Stream: TStream); virtual;</code></td>
487</tr>
488</table>
489<p>
490send content of stream from current position</p>
491<table class="detail">
492<tr class="list">
493<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
494<td class="itemcode"><a name="SendStream"></a><code>procedure <b>SendStream</b>(const Stream: TStream); virtual;</code></td>
495</tr>
496</table>
497<p>
498send content of stream as block. see <a class="normal" href="synaser.TBlockSerial.html#SendBlock">SendBlock</a></p>
499<table class="detail">
500<tr class="list">
501<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
502<td class="itemcode"><a name="SendStreamIndy"></a><code>procedure <b>SendStreamIndy</b>(const Stream: TStream); virtual;</code></td>
503</tr>
504</table>
505<p>
506send content of stream as block, but this is compatioble with Indy library. (it have swapped lenght of block). See <a class="normal" href="synaser.TBlockSerial.html#SendStream">SendStream</a></p>
507<table class="detail">
508<tr class="list">
509<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
510<td class="itemcode"><a name="RecvBuffer"></a><code>function <b>RecvBuffer</b>(buffer: pointer; length: integer): integer; virtual;</code></td>
511</tr>
512</table>
513<p>
514Waits until the allocated buffer is filled by received data. Returns number of data bytes received, which equals to the Length value under normal operation. If it is not equal, the communication channel is possibly broken.
515
516<p>This method not using any internal buffering, like all others receiving methods. You cannot freely combine this method with all others receiving methods!</p>
517<table class="detail">
518<tr class="list">
519<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
520<td class="itemcode"><a name="RecvBufferEx"></a><code>function <b>RecvBufferEx</b>(buffer: pointer; length: integer; timeout: integer): integer; virtual;</code></td>
521</tr>
522</table>
523<p>
524Method waits until data is received. If no data is received within the Timeout (in milliseconds) period, <a class="normal" href="synaser.TBlockSerial.html#LastError">LastError</a> is set to <a class="normal" href="synaser.html#ErrTimeout">ErrTimeout</a>. This method is used to read any amount of data (e. g. 1MB), and may be freely combined with all receviving methods what have Timeout parameter, like the <a class="normal" href="synaser.TBlockSerial.html#Recvstring">Recvstring</a>, <a class="normal" href="synaser.TBlockSerial.html#RecvByte">RecvByte</a> or <a class="normal" href="synaser.TBlockSerial.html#RecvTerminated">RecvTerminated</a> methods.</p>
525<table class="detail">
526<tr class="list">
527<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
528<td class="itemcode"><a name="RecvBufferStr"></a><code>function <b>RecvBufferStr</b>(Length: Integer; Timeout: Integer): AnsiString; virtual;</code></td>
529</tr>
530</table>
531<p>
532It is like recvBufferEx, but data is readed to dynamicly allocated binary string.</p>
533<table class="detail">
534<tr class="list">
535<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
536<td class="itemcode"><a name="RecvPacket"></a><code>function <b>RecvPacket</b>(Timeout: Integer): AnsiString; virtual;</code></td>
537</tr>
538</table>
539<p>
540Read all available data and return it in the function result string. This function may be combined with <a class="normal" href="synaser.TBlockSerial.html#Recvstring">Recvstring</a>, <a class="normal" href="synaser.TBlockSerial.html#RecvByte">RecvByte</a> or related methods.</p>
541<table class="detail">
542<tr class="list">
543<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
544<td class="itemcode"><a name="RecvByte"></a><code>function <b>RecvByte</b>(timeout: integer): byte; virtual;</code></td>
545</tr>
546</table>
547<p>
548Waits until one data byte is received which is returned as the function result. If no data is received within the Timeout (in milliseconds) period, <a class="normal" href="synaser.TBlockSerial.html#LastError">LastError</a> is set to <a class="normal" href="synaser.html#ErrTimeout">ErrTimeout</a>.</p>
549<table class="detail">
550<tr class="list">
551<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
552<td class="itemcode"><a name="RecvTerminated"></a><code>function <b>RecvTerminated</b>(Timeout: Integer; const Terminator: AnsiString): AnsiString; virtual;</code></td>
553</tr>
554</table>
555<p>
556This method waits until a terminated data string is received. This string is terminated by the Terminator string. The resulting string is returned without this termination string! If no data is received within the Timeout (in milliseconds) period, <a class="normal" href="synaser.TBlockSerial.html#LastError">LastError</a> is set to <a class="normal" href="synaser.html#ErrTimeout">ErrTimeout</a>.</p>
557<table class="detail">
558<tr class="list">
559<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
560<td class="itemcode"><a name="Recvstring"></a><code>function <b>Recvstring</b>(timeout: integer): AnsiString; virtual;</code></td>
561</tr>
562</table>
563<p>
564This method waits until a terminated data string is received. The string is terminated by a CR/LF sequence. The resulting string is returned without the terminator (CR/LF)! If no data is received within the Timeout (in milliseconds) period, <a class="normal" href="synaser.TBlockSerial.html#LastError">LastError</a> is set to <a class="normal" href="synaser.html#ErrTimeout">ErrTimeout</a>.
565
566<p>If <a class="normal" href="synaser.TBlockSerial.html#ConvertLineEnd">ConvertLineEnd</a> is used, then the CR/LF sequence may not be exactly CR/LF. See the description of <a class="normal" href="synaser.TBlockSerial.html#ConvertLineEnd">ConvertLineEnd</a>.
567
568<p>This method serves for line protocol implementation and uses its own buffers to maximize performance. Therefore do NOT use this method with the <a class="normal" href="synaser.TBlockSerial.html#RecvBuffer">RecvBuffer</a> method to receive data as it may cause data loss.</p>
569<table class="detail">
570<tr class="list">
571<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
572<td class="itemcode"><a name="RecvInteger"></a><code>function <b>RecvInteger</b>(Timeout: Integer): Integer; virtual;</code></td>
573</tr>
574</table>
575<p>
576Waits until four data bytes are received which is returned as the function integer result. If no data is received within the Timeout (in milliseconds) period, <a class="normal" href="synaser.TBlockSerial.html#LastError">LastError</a> is set to <a class="normal" href="synaser.html#ErrTimeout">ErrTimeout</a>.</p>
577<table class="detail">
578<tr class="list">
579<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
580<td class="itemcode"><a name="RecvBlock"></a><code>function <b>RecvBlock</b>(Timeout: Integer): AnsiString; virtual;</code></td>
581</tr>
582</table>
583<p>
584Waits until one data block is received. See <a class="normal" href="synaser.TBlockSerial.html#SendBlock">SendBlock</a>. If no data is received within the Timeout (in milliseconds) period, <a class="normal" href="synaser.TBlockSerial.html#LastError">LastError</a> is set to <a class="normal" href="synaser.html#ErrTimeout">ErrTimeout</a>.</p>
585<table class="detail">
586<tr class="list">
587<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
588<td class="itemcode"><a name="RecvStreamRaw"></a><code>procedure <b>RecvStreamRaw</b>(const Stream: TStream; Timeout: Integer); virtual;</code></td>
589</tr>
590</table>
591<p>
592Receive all data to stream, until some error occured. (for example timeout)</p>
593<table class="detail">
594<tr class="list">
595<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
596<td class="itemcode"><a name="RecvStreamSize"></a><code>procedure <b>RecvStreamSize</b>(const Stream: TStream; Timeout: Integer; Size: Integer); virtual;</code></td>
597</tr>
598</table>
599<p>
600receive requested count of bytes to stream</p>
601<table class="detail">
602<tr class="list">
603<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
604<td class="itemcode"><a name="RecvStream"></a><code>procedure <b>RecvStream</b>(const Stream: TStream; Timeout: Integer); virtual;</code></td>
605</tr>
606</table>
607<p>
608receive block of data to stream. (Data can be sended by <a class="normal" href="synaser.TBlockSerial.html#SendStream">SendStream</a></p>
609<table class="detail">
610<tr class="list">
611<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
612<td class="itemcode"><a name="RecvStreamIndy"></a><code>procedure <b>RecvStreamIndy</b>(const Stream: TStream; Timeout: Integer); virtual;</code></td>
613</tr>
614</table>
615<p>
616receive block of data to stream. (Data can be sended by <a class="normal" href="synaser.TBlockSerial.html#SendStreamIndy">SendStreamIndy</a></p>
617<table class="detail">
618<tr class="list">
619<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
620<td class="itemcode"><a name="WaitingData"></a><code>function <b>WaitingData</b>: integer; virtual;</code></td>
621</tr>
622</table>
623<p>
624Returns the number of received bytes waiting for reading. 0 is returned when there is no data waiting.</p>
625<table class="detail">
626<tr class="list">
627<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
628<td class="itemcode"><a name="WaitingDataEx"></a><code>function <b>WaitingDataEx</b>: integer; virtual;</code></td>
629</tr>
630</table>
631<p>
632Same as <a class="normal" href="synaser.TBlockSerial.html#WaitingData">WaitingData</a>, but in respect to data in the internal <a class="normal" href="synaser.TBlockSerial.html#LineBuffer">LineBuffer</a>.</p>
633<table class="detail">
634<tr class="list">
635<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
636<td class="itemcode"><a name="SendingData"></a><code>function <b>SendingData</b>: integer; virtual;</code></td>
637</tr>
638</table>
639<p>
640Returns the number of bytes waiting to be sent in the output buffer. 0 is returned when the output buffer is empty.</p>
641<table class="detail">
642<tr class="list">
643<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
644<td class="itemcode"><a name="EnableRTSToggle"></a><code>procedure <b>EnableRTSToggle</b>(value: boolean); virtual;</code></td>
645</tr>
646</table>
647<p>
648Enable or disable RTS driven communication (half-duplex). It can be used to communicate with RS485 converters, or other special equipment. If you enable this feature, the system automatically controls the RTS signal.
649
650<p>Notes:
651
652<p>- On Windows NT (or higher) ir RTS signal driven by system driver.
653
654<p>- On Win9x family is used special code for waiting until last byte is sended from your UART.
655
656<p>- On Linux you must have kernel 2.1 or higher!</p>
657<table class="detail">
658<tr class="list">
659<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
660<td class="itemcode"><a name="Flush"></a><code>procedure <b>Flush</b>; virtual;</code></td>
661</tr>
662</table>
663<p>
664Waits until all data to is sent and buffers are emptied. Warning: On Windows systems is this method returns when all buffers are flushed to the serial port controller, before the last byte is sent!</p>
665<table class="detail">
666<tr class="list">
667<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
668<td class="itemcode"><a name="Purge"></a><code>procedure <b>Purge</b>; virtual;</code></td>
669</tr>
670</table>
671<p>
672Unconditionally empty all buffers. It is good when you need to interrupt communication and for cleanups.</p>
673<table class="detail">
674<tr class="list">
675<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
676<td class="itemcode"><a name="CanRead"></a><code>function <b>CanRead</b>(Timeout: integer): boolean; virtual;</code></td>
677</tr>
678</table>
679<p>
680Returns <code>True</code>, if you can from read any data from the port. Status is tested for a period of time given by the Timeout parameter (in milliseconds). If the value of the Timeout parameter is 0, the status is tested only once and the function returns immediately. If the value of the Timeout parameter is set to -1, the function returns only after it detects data on the port (this may cause the process to hang).</p>
681<table class="detail">
682<tr class="list">
683<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
684<td class="itemcode"><a name="CanWrite"></a><code>function <b>CanWrite</b>(Timeout: integer): boolean; virtual;</code></td>
685</tr>
686</table>
687<p>
688Returns <code>True</code>, if you can write any data to the port (this function is not sending the contents of the buffer). Status is tested for a period of time given by the Timeout parameter (in milliseconds). If the value of the Timeout parameter is 0, the status is tested only once and the function returns immediately. If the value of the Timeout parameter is set to -1, the function returns only after it detects that it can write data to the port (this may cause the process to hang).</p>
689<table class="detail">
690<tr class="list">
691<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
692<td class="itemcode"><a name="CanReadEx"></a><code>function <b>CanReadEx</b>(Timeout: integer): boolean; virtual;</code></td>
693</tr>
694</table>
695<p>
696Same as <a class="normal" href="synaser.TBlockSerial.html#CanRead">CanRead</a>, but the test is against data in the internal <a class="normal" href="synaser.TBlockSerial.html#LineBuffer">LineBuffer</a> too.</p>
697<table class="detail">
698<tr class="list">
699<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
700<td class="itemcode"><a name="ModemStatus"></a><code>function <b>ModemStatus</b>: integer; virtual;</code></td>
701</tr>
702</table>
703<p>
704Returns the status word of the modem. Decoding the status word could yield the status of carrier detect signaland other signals. This method is used internally by the modem status reading properties. You usually do not need to call this method directly.</p>
705<table class="detail">
706<tr class="list">
707<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
708<td class="itemcode"><a name="SetBreak"></a><code>procedure <b>SetBreak</b>(Duration: integer); virtual;</code></td>
709</tr>
710</table>
711<p>
712Send a break signal to the communication device for Duration milliseconds.</p>
713<table class="detail">
714<tr class="list">
715<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
716<td class="itemcode"><a name="ATCommand"></a><code>function <b>ATCommand</b>(value: AnsiString): AnsiString; virtual;</code></td>
717</tr>
718</table>
719<p>
720This function is designed to send AT commands to the modem. The AT command is sent in the Value parameter and the response is returned in the function return value (may contain multiple lines!). If the AT command is processed successfully (modem returns OK), then the <a class="normal" href="synaser.TBlockSerial.html#ATResult">ATResult</a> property is set to True.
721
722<p>This function is designed only for AT commands that return OK or ERROR response! To call connection commands the <a class="normal" href="synaser.TBlockSerial.html#ATConnect">ATConnect</a> method. Remember, when you connect to a modem device, it is in AT command mode. Now you can send AT commands to the modem. If you need to transfer data to the modem on the other side of the line, you must first switch to data mode using the <a class="normal" href="synaser.TBlockSerial.html#ATConnect">ATConnect</a> method.</p>
723<table class="detail">
724<tr class="list">
725<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
726<td class="itemcode"><a name="ATConnect"></a><code>function <b>ATConnect</b>(value: AnsiString): AnsiString; virtual;</code></td>
727</tr>
728</table>
729<p>
730This function is used to send connect type AT commands to the modem. It is for commands to switch to connected state. (ATD, ATA, ATO,...) It sends the AT command in the Value parameter and returns the modem's response (may be multiple lines - usually with connection parameters info). If the AT command is processed successfully (the modem returns CONNECT), then the ATResult property is set to <code>True</code>.
731
732<p>This function is designed only for AT commands which respond by CONNECT, BUSY, NO DIALTONE NO CARRIER or ERROR. For other AT commands use the <a class="normal" href="synaser.TBlockSerial.html#ATCommand">ATCommand</a> method.
733
734<p>The connect timeout is 90*<a class="normal" href="synaser.TBlockSerial.html#AtTimeout">AtTimeout</a>. If this command is successful (<a class="normal" href="synaser.TBlockSerial.html#ATResult">ATResult</a> is <code>True</code>), then the modem is in data state. When you now send or receive some data, it is not to or from your modem, but from the modem on other side of the line. Now you can transfer your data. If the connection attempt failed (<a class="normal" href="synaser.TBlockSerial.html#ATResult">ATResult</a> is <code>False</code>), then the modem is still in AT command mode.</p>
735<table class="detail">
736<tr class="list">
737<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
738<td class="itemcode"><a name="SerialCheck"></a><code>function <b>SerialCheck</b>(SerialResult: integer): integer; virtual;</code></td>
739</tr>
740</table>
741<p>
742If you &quot;manually&quot; call API functions, forward their return code in the SerialResult parameter to this function, which evaluates it and sets <a class="normal" href="synaser.TBlockSerial.html#LastError">LastError</a> and <a class="normal" href="synaser.TBlockSerial.html#LastErrorDesc">LastErrorDesc</a>.</p>
743<table class="detail">
744<tr class="list">
745<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
746<td class="itemcode"><a name="ExceptCheck"></a><code>procedure <b>ExceptCheck</b>; virtual;</code></td>
747</tr>
748</table>
749<p>
750If <a class="normal" href="synaser.TBlockSerial.html#LastError">LastError</a> is not 0 and exceptions are enabled, then this procedure raises an exception. This method is used internally. You may need it only in special cases.</p>
751<table class="detail">
752<tr class="list">
753<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
754<td class="itemcode"><a name="SetSynaError"></a><code>procedure <b>SetSynaError</b>(ErrNumber: integer); virtual;</code></td>
755</tr>
756</table>
757<p>
758Set Synaser to error state with ErrNumber code. Usually used by internal routines.</p>
759<table class="detail">
760<tr class="list">
761<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
762<td class="itemcode"><a name="RaiseSynaError"></a><code>procedure <b>RaiseSynaError</b>(ErrNumber: integer); virtual;</code></td>
763</tr>
764</table>
765<p>
766Raise Synaser error with ErrNumber code. Usually used by internal routines.</p>
767<table class="detail">
768<tr class="list">
769<td class="visibility"><a href="legend.html"><img src="published.gif" alt="Published" title="Published"></a></td>
770<td class="itemcode"><a name="GetErrorDesc"></a><code>class function <b>GetErrorDesc</b>(ErrorCode: integer): string;</code></td>
771</tr>
772</table>
773<p>
774Returns the descriptive text associated with ErrorCode. You need this method only in special cases. Description of LastError is now accessible through the LastErrorDesc property.</p>
775<h3 class="detail">Properties</h3>
776<table class="detail">
777<tr class="list">
778<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
779<td class="itemcode"><a name="Device"></a><code>property <b>Device</b>: string read FDevice;</code></td>
780</tr>
781</table>
782<p>
783True device name of currently used port</p>
784<table class="detail">
785<tr class="list">
786<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
787<td class="itemcode"><a name="LastError"></a><code>property <b>LastError</b>: integer read FLastError;</code></td>
788</tr>
789</table>
790<p>
791Error code of last operation. Value is defined by the host operating system, but value 0 is always OK.</p>
792<table class="detail">
793<tr class="list">
794<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
795<td class="itemcode"><a name="LastErrorDesc"></a><code>property <b>LastErrorDesc</b>: string read FLastErrorDesc;</code></td>
796</tr>
797</table>
798<p>
799Human readable description of LastError code.</p>
800<table class="detail">
801<tr class="list">
802<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
803<td class="itemcode"><a name="ATResult"></a><code>property <b>ATResult</b>: Boolean read FATResult;</code></td>
804</tr>
805</table>
806<p>
807Indicates if the last <a class="normal" href="synaser.TBlockSerial.html#ATCommand">ATCommand</a> or <a class="normal" href="synaser.TBlockSerial.html#ATConnect">ATConnect</a> method was successful</p>
808<table class="detail">
809<tr class="list">
810<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
811<td class="itemcode"><a name="RTS"></a><code>property <b>RTS</b>: Boolean write SetRTSF;</code></td>
812</tr>
813</table>
814<p>
815Read the value of the RTS signal.</p>
816<table class="detail">
817<tr class="list">
818<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
819<td class="itemcode"><a name="CTS"></a><code>property <b>CTS</b>: boolean read GetCTS;</code></td>
820</tr>
821</table>
822<p>
823Indicates the presence of the CTS signal</p>
824<table class="detail">
825<tr class="list">
826<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
827<td class="itemcode"><a name="DTR"></a><code>property <b>DTR</b>: Boolean write SetDTRF;</code></td>
828</tr>
829</table>
830<p>
831Use this property to set the value of the DTR signal.</p>
832<table class="detail">
833<tr class="list">
834<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
835<td class="itemcode"><a name="DSR"></a><code>property <b>DSR</b>: boolean read GetDSR;</code></td>
836</tr>
837</table>
838<p>
839Exposes the status of the DSR signal.</p>
840<table class="detail">
841<tr class="list">
842<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
843<td class="itemcode"><a name="Carrier"></a><code>property <b>Carrier</b>: boolean read GetCarrier;</code></td>
844</tr>
845</table>
846<p>
847Indicates the presence of the Carrier signal</p>
848<table class="detail">
849<tr class="list">
850<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
851<td class="itemcode"><a name="Ring"></a><code>property <b>Ring</b>: boolean read GetRing;</code></td>
852</tr>
853</table>
854<p>
855Reflects the status of the Ring signal.</p>
856<table class="detail">
857<tr class="list">
858<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
859<td class="itemcode"><a name="InstanceActive"></a><code>property <b>InstanceActive</b>: boolean read FInstanceActive;</code></td>
860</tr>
861</table>
862<p>
863indicates if this instance of SynaSer is active. (Connected to some port)</p>
864<table class="detail">
865<tr class="list">
866<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
867<td class="itemcode"><a name="MaxSendBandwidth"></a><code>property <b>MaxSendBandwidth</b>: Integer read FMaxSendBandwidth Write FMaxSendBandwidth;</code></td>
868</tr>
869</table>
870<p>
871Defines maximum bandwidth for all sending operations in bytes per second. If this value is set to 0 (default), bandwidth limitation is not used.</p>
872<table class="detail">
873<tr class="list">
874<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
875<td class="itemcode"><a name="MaxRecvBandwidth"></a><code>property <b>MaxRecvBandwidth</b>: Integer read FMaxRecvBandwidth Write FMaxRecvBandwidth;</code></td>
876</tr>
877</table>
878<p>
879Defines maximum bandwidth for all receiving operations in bytes per second. If this value is set to 0 (default), bandwidth limitation is not used.</p>
880<table class="detail">
881<tr class="list">
882<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
883<td class="itemcode"><a name="MaxBandwidth"></a><code>property <b>MaxBandwidth</b>: Integer Write SetBandwidth;</code></td>
884</tr>
885</table>
886<p>
887Defines maximum bandwidth for all sending and receiving operations in bytes per second. If this value is set to 0 (default), bandwidth limitation is not used.</p>
888<table class="detail">
889<tr class="list">
890<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
891<td class="itemcode"><a name="SizeRecvBuffer"></a><code>property <b>SizeRecvBuffer</b>: integer read FRecvBuffer write SetSizeRecvBuffer;</code></td>
892</tr>
893</table>
894<p>
895Size of the Windows internal receive buffer. Default value is usually 4096 bytes. Note: Valid only in Windows versions!</p>
896<table class="detail">
897<tr class="list">
898<td class="visibility"><a href="legend.html"><img src="published.gif" alt="Published" title="Published"></a></td>
899<td class="itemcode"><a name="Tag"></a><code>property <b>Tag</b>: integer read FTag write FTag;</code></td>
900</tr>
901</table>
902<p>
903Freely usable property</p>
904<table class="detail">
905<tr class="list">
906<td class="visibility"><a href="legend.html"><img src="published.gif" alt="Published" title="Published"></a></td>
907<td class="itemcode"><a name="Handle"></a><code>property <b>Handle</b>: THandle read Fhandle write FHandle;</code></td>
908</tr>
909</table>
910<p>
911Contains the handle of the open communication port. You may need this value to directly call communication functions outside SynaSer.</p>
912<table class="detail">
913<tr class="list">
914<td class="visibility"><a href="legend.html"><img src="published.gif" alt="Published" title="Published"></a></td>
915<td class="itemcode"><a name="LineBuffer"></a><code>property <b>LineBuffer</b>: AnsiString read FBuffer write FBuffer;</code></td>
916</tr>
917</table>
918<p>
919Internally used read buffer.</p>
920<table class="detail">
921<tr class="list">
922<td class="visibility"><a href="legend.html"><img src="published.gif" alt="Published" title="Published"></a></td>
923<td class="itemcode"><a name="RaiseExcept"></a><code>property <b>RaiseExcept</b>: boolean read FRaiseExcept write FRaiseExcept;</code></td>
924</tr>
925</table>
926<p>
927If <code>True</code>, communication errors raise exceptions. If <code>False</code> (default), only the <a class="normal" href="synaser.TBlockSerial.html#LastError">LastError</a> value is set.</p>
928<table class="detail">
929<tr class="list">
930<td class="visibility"><a href="legend.html"><img src="published.gif" alt="Published" title="Published"></a></td>
931<td class="itemcode"><a name="OnStatus"></a><code>property <b>OnStatus</b>: <a href="synaser.html#THookSerialStatus">THookSerialStatus</a> read FOnStatus write FOnStatus;</code></td>
932</tr>
933</table>
934<p>
935This event is triggered when the communication status changes. It can be used to monitor communication status.</p>
936<table class="detail">
937<tr class="list">
938<td class="visibility"><a href="legend.html"><img src="published.gif" alt="Published" title="Published"></a></td>
939<td class="itemcode"><a name="TestDSR"></a><code>property <b>TestDSR</b>: boolean read FTestDSR write FTestDSR;</code></td>
940</tr>
941</table>
942<p>
943If you set this property to <code>True</code>, then the value of the DSR signal is tested before every data transfer. It can be used to detect the presence of a communications device.</p>
944<table class="detail">
945<tr class="list">
946<td class="visibility"><a href="legend.html"><img src="published.gif" alt="Published" title="Published"></a></td>
947<td class="itemcode"><a name="TestCTS"></a><code>property <b>TestCTS</b>: boolean read FTestCTS write FTestCTS;</code></td>
948</tr>
949</table>
950<p>
951If you set this property to <code>True</code>, then the value of the CTS signal is tested before every data transfer. It can be used to detect the presence of a communications device. Warning: This property cannot be used if you need hardware handshake!</p>
952<table class="detail">
953<tr class="list">
954<td class="visibility"><a href="legend.html"><img src="published.gif" alt="Published" title="Published"></a></td>
955<td class="itemcode"><a name="MaxLineLength"></a><code>property <b>MaxLineLength</b>: Integer read FMaxLineLength Write FMaxLineLength;</code></td>
956</tr>
957</table>
958<p>
959Use this property you to limit the maximum size of LineBuffer (as a protection against unlimited memory allocation for LineBuffer). Default value is 0 - no limit.</p>
960<table class="detail">
961<tr class="list">
962<td class="visibility"><a href="legend.html"><img src="published.gif" alt="Published" title="Published"></a></td>
963<td class="itemcode"><a name="DeadlockTimeout"></a><code>property <b>DeadlockTimeout</b>: Integer read FDeadlockTimeout Write FDeadlockTimeout;</code></td>
964</tr>
965</table>
966<p>
967This timeout value is used as deadlock protection when trying to send data to (or receive data from) a device that stopped communicating during data transmission (e.g. by physically disconnecting the device). The timeout value is in milliseconds. The default value is 30,000 (30 seconds).</p>
968<table class="detail">
969<tr class="list">
970<td class="visibility"><a href="legend.html"><img src="published.gif" alt="Published" title="Published"></a></td>
971<td class="itemcode"><a name="LinuxLock"></a><code>property <b>LinuxLock</b>: Boolean read FLinuxLock write FLinuxLock;</code></td>
972</tr>
973</table>
974<p>
975If set to <code>True</code> (default value), port locking is enabled (under Linux only). WARNING: To use this feature, the application must run by a user with full permission to the /var/lock directory!</p>
976<table class="detail">
977<tr class="list">
978<td class="visibility"><a href="legend.html"><img src="published.gif" alt="Published" title="Published"></a></td>
979<td class="itemcode"><a name="ConvertLineEnd"></a><code>property <b>ConvertLineEnd</b>: Boolean read FConvertLineEnd Write FConvertLineEnd;</code></td>
980</tr>
981</table>
982<p>
983Indicates if non-standard line terminators should be converted to a CR/LF pair (standard DOS line terminator). If <code>True</code>, line terminators CR, single LF or LF/CR are converted to CR/LF. Defaults to <code>False</code>. This property has effect only on the behavior of the RecvString method.</p>
984<table class="detail">
985<tr class="list">
986<td class="visibility"><a href="legend.html"><img src="published.gif" alt="Published" title="Published"></a></td>
987<td class="itemcode"><a name="AtTimeout"></a><code>property <b>AtTimeout</b>: integer read FAtTimeout Write FAtTimeout;</code></td>
988</tr>
989</table>
990<p>
991Timeout for AT modem based operations</p>
992<table class="detail">
993<tr class="list">
994<td class="visibility"><a href="legend.html"><img src="published.gif" alt="Published" title="Published"></a></td>
995<td class="itemcode"><a name="InterPacketTimeout"></a><code>property <b>InterPacketTimeout</b>: Boolean read FInterPacketTimeout Write FInterPacketTimeout;</code></td>
996</tr>
997</table>
998<p>
999If <code>True</code> (default), then all timeouts is timeout between two characters. If <code>False</code>, then timeout is overall for whoole reading operation.</p>
1000<hr noshade size="1"><span class="appinfo"><em>Generated by <a target="_parent" href="http://pasdoc.sourceforge.net/">PasDoc 0.9.0</a> on 2012-04-23 21:38:52</em>
1001</span>
1002</body></html>
Note: See TracBrowser for help on using the repository browser.