OK wiec moja funkcja z opisem wyglada nastepujaco :)
{ Called from DoCharIn.
Extracts from completed FCurPkt next data value, assign it to FCurVal,
return true is there was some value, otherwise false. Called repeatedly
until returns false, i.e. if in one packet contains more values, some
returned points counter should be set to 0 in IsInputPacketFinished method
or the FCurPkt can be trimmed sequentially.
Always override if not overriding DoCharIn. }
function ExtractCurVal: boolean; virtual; abstract;
Gdzie:
{Currently beeing contructed input packet from incoming bytes (in DoCharIn method) }
FCurPkt: shortstring;
{ Current value used in the process of extracting values from the finished incoming packet. }
<b>FCurVal</b>: single;
Oraz:
{Called during acquisition when a character ch comes through the device's port
(i.e., all characters are read by Chromulan and given (forwarded) to the
device driver using this method.) More devices can share the same port, if they
do not want to control the port (see ExtDevGetStr). }
function ExtDevDoCharIn(AExtDevDrv: PExtDevDrv; ch:char): integer; export;
Problem z portu RS 232 dostaje sygnal o dlugosci slowa 11 i formacie:
*+00000.00{CR}
i z tego potrzebuje tylko:
+00000.00
I to wszystko jak na razie:
Jeszcze raz dzieki za wszelka pomoc :)