The 3rd parameter of the Copy function is the "number" of characters to
copy from the string, not the position in the string to copy "to".
eg: Copy(Data, 6, 8) will start copying from position 6 in the string
Data, for a total of 8 characters (or EOL)
Copy(Data, 11, 13) will start copying from position 11 in the
string Data, for a total of 13 characters (or EOL)
For the results you require, you will need
Copy(Data, 1, 3);
Copy(Data, 6, 3);
Copy(Data, 11, 3);
________________________________
From: [email protected] [mailto:[EMAIL PROTECTED] On
Behalf Of Curtis cloud
Sent: Friday, 5 January 2007 13:23
To: [email protected]
Subject: Re: [delphi-en] Using the copy function to separate data
Joe,
I was looking for the following results:
0.0
0.1
0.0
r/Curtis..
joe wilcox <[EMAIL PROTECTED] <mailto:falon5000%40yahoo.com> > wrote:
Using your sample code, I wrote this simple test:
procedure TfrmMain.Button1Click(Sender: TObject);
var
Data : string;
begin
Data := '0.0000.1370. 000';
memo.lines.add( Copy (Data, 1, 3));
memo.lines.add( Copy (Data, 6, 8));
memo.lines.add( Copy (Data, 11, 13));
end;
Here's the result I got -
0.0
0.1370.
0. 000
That's pretty much what you're looking for, isn't it?
Joe Wilcox
"Reading Cliff Notes to know a novel is like eating Count Chocula to
know steak"
"Nine women cannot have a baby in one month"
[EMAIL PROTECTED] <mailto:falon5000%40yahoo.com>
----- Original Message ----
From: Curtis cloud <[EMAIL PROTECTED] <mailto:curtiscld%40yahoo.com> >
To: [email protected] <mailto:delphi-en%40yahoogroups.com>
Sent: Thursday, January 4, 2007 3:13:44 PM
Subject: [delphi-en] Using the copy function to separate data
ALL,
I have a telnet connection to a server computer that constant broadcast
data to me each second. The data that I receive has spaces and tabs in
the middle of the string. Once I receive the data I remove all spaces
and tabs to get a single stream of data. After I receive the stream I
attempt to parse the data into segments using the copy function.
My problem is this when I look at the stream the data looks fine but
when I use the copy funtion it does not work properly on the data.
Here is an example :
Single stream from a telnet connection
0.0000.1370. 000
Data := ' 0.0000.1370. 000'
Copy (Data, 1, 3) yield value 0.0 which is fine.
Copy (Data, 6, 8) yields value 0.0000.0 which is wrong.
Copy (Data, 11, 13) yields value 0.0000.0000. 0 which is wrong.
I'm not sure why I am not receiving the correct data.
r/Curtis..
____________ _________ _________ _________ _________ __
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail. yahoo.com
[Non-text portions of this message have been removed]
[Non-text portions of this message have been removed]
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com <http://mail.yahoo.com>
[Non-text portions of this message have been removed]
[Non-text portions of this message have been removed]