Hi Mike
this is getting a bit silly.
sure your code code has three clips.
but I try to avoid clips so I wouldn’t do that.
as mentioned previously an advantage of something like ST is that you do away with arbitrary lengths.
in your case your full name might be 41 chars but you have set an arbitrary length of 32 which is too small so you have a bug where larger names are truncated. ST protects you from making such an error as it expands as necessary. You don’t need to be able to add up.
OK so you can easily fix it to be 41 chars - but what if later the cus:LastName and cus:FirstName are increased from 20 to say 30. You would need to again adjust the arbitrary size of fullname, whereas ST would just take it in its stride.
In your ST example the final clip is unnecessary as firstname is already clipped.
If you compare apples with apples the number of clips are identical. In the first example with one clip the fullname is unclipped.
similarly saying
st.setvalue(clip(lastname) &' '& firstname)
would only have one clip and the string as a whole would be unclipped.
or you could do two clips either
st.setvalue(clip(lastname) &' '& clip(firstname))
or
st.setvalue(clip(lastname) &' '& firstname,st:clip)
then say you wanted to add an address on the end after the name - the ST string is already clipped whereas you would need to clip your fullname in the first example - so two clips each.
Sure you can live without ST - in fact everyone did so for many years. But if it saves you making bugs and generally makes you more productive why wouldn’t you use it? I mean just because we could write all our code in assembler rather than Clarion doesn’t make it a good idea.
anyway I think enough of this - I’m not sure if my enthusiastic proselytizing has caused you offence but if so I apologize.