Subj : Final code
To   : Sean Dennis
From : mark lewis
Date : Sat May 08 2010 12:24 pm


ml> here's another post that only pulls out the space delimited fields and
ml> this one is zero-based... field 0 is 'A', 1 is 'Daryl', 3 is the comma
ml> delimited section and so on...

SD> Thanks for the code; I'll keep it in my archives.

:) i've quite a large lib of raw sources that i have to dig thru from time to
time... i've forgotten over half of what i have and a lot of it is old, too...
like 1992 PASCAL echo postings... i've several from DJ Murdoch and a few other
"old timers" from that period ;)

SD> I don't normally post my code "out in the open", but I only think
SD> it's right since it's based on what you did.  I need to do a bit
SD> more error checking in this code.  You'll see calls to functions
SD> that I use in my doorkit unit, but I think you'll get the jist of
SD> it:

looks good! maybe a few suggestions?

SD> ===Cut===

[trim]

SD>               ((Str[I] = #32) Or
SD>                (Str[I] = #9) Or
SD>                (Str[I] = ':'))) Do

these were originally ';' (semicolon)... i'm not sure (off hand) what they are
specifically used for but there is other code in ExtractWord that specifically
looks for and includes it in the string...

SD>     Count := 2;
SD>   { Read in the first name and last name then concatenate
SD>     together for FKFOSSIL }
from here
SD>     TempData := '';
SD>     TempData := ExtractWord(GTStr, Count);
SD>     Inc(Count);
SD>     TempData := TempData + ' ' + ExtractWord(GTStr, Count);
SD>     fk_Client.Name := TempData;
to here
change to

 fk_Client.Name := ExtractWord(GTStr,2) + ' ' + ExtractWord(GTStr,3);
 Inc(Count);

saves three moves of data back and forth ;) i would probably also just use the
numbers in the ExtractWord calls instead of messing with the count var...

SD>     TempData := '';
SD>   { Jump to the DCE rate }
SD>     Count := Count + 7;
SD>     fk_Fossil.Baud := StrToInt(ExtractWord(GTStr, Count));

 fk_Fossil.Baud := StrToInt(ExtractWord(GTStr,10));

SD>     Inc(Count);
SD>   { Determine if ANSI is used or not }
SD>     TempData := ExtractWord(GTStr, Count);

 TempData := ExtractWord(GTStr,11);

SD>     If (TempData = 'ANSI') or (TempData = 'RIPSCRIP') Then
SD>       fk_Client.ScreenType := 1 Else fk_Client.ScreenType := 0;   {

//i think// this one can also be done as a boolean on one line... but i forget
if true is one or zero...

 fk_Client.ScreenType := ((TempData = 'ANSI') or (TempData = 'RIPSCRIP'));

but i may be getting that mixed up with another language :/ if not, it might
even be possible to put the calls to ExtractWord in there and forego the use of
TempData completely...

fk_Client.ScreenType := ((ExtractWord(GTStr,11)='ANSI')or(ExtractWord(GTStr,11)='RIPSCRIP'));

it has been a while :lol:

SD> Time left for this call }
SD>     Count := Count + 2;
SD>     fk_Client.TimeLeft := StrToInt(ExtractWord(GTStr, Count)); End;

 fk_Client.TimeLeft := StrToInt(ExtractWord(GTStr,13));
End;

)\/(ark


* Origin:  (1:3634/12)